Recently there has been a lot of discussion about how we can make development easier. It usually started with someone stating "X is too hard, we must make X approachable to the masses".
My response to that was:
You get what you pay for, deal with it.
It was considered rude, which wasn't my intention, but that is beside the point.
One of the things that I just can't understand is the assumption that development is a non skilled labor. That you can just get a bunch of apes from the zoo and crack the whip until the project is done.
Sorry, it just doesn't work like this.
Development requires a lot of skill, it requires quite a lot of knowledge and at least some measure of affinity. It takes time and effort to be a good developer. You won't be a good developer if you seek the "X in 24 Hours" or "Y in 21 days". Those things only barely scratch the surface, and that is not going to help at all for real problems.
And yes, a lot of the people who call themselves developers should put down their keyboards and go home.
I don't think that we need to apologize if we are working at a high level that makes it hard to beginners. Coming back to the idea that this is not something that you can just pick up.
And yes, experience matters. And no, one years repeated fifteen times does not count.
Learn programming in 10 years is a good read, which I recommend. But the underlying premise is that there is quite a lot of theory and practical experience underlying what we are doing on a day to day basis. If you don't get that, you are out of the game.
I refuse to be ashamed of requiring people to understand advanced concepts. That is what their job is all about.