All those arguments have elements of truth in them.
You probably won't be a development job with a large amount of responsibility any time soon as you build up your skills. You will be fairly junior for quite a few years, and you will have to actively have to develop yourself to move on to be better jobs.
Software development has been glamorized by the media, yet the vast majority of programming jobs are pretty boring crud business applications. About as interesting as book keeping or filing invoices.
If you accept those things, and still feel interested then yeah sure become a developer.
It's not about stopping people becoming developers, its about giving realistic views of development so they aren't disappointed when they switch.
Being a junior developer is at least as much fun as being a senior developer, I think. Whereas the senior developer often has more latitude to do what they want, for the junior developer everything is new and exciting. It also usually takes a few years before you get into the politics side of the job (which can be surprisingly frustrating).
Just a few things I would like an aspiring developer (of any age) to know before they really commit to the job:
- It's all about the details. Huge amounts of details. Every non-programmer around you will wonder what the big fuss is, but you have to deal with things that nobody else ever thinks about. Often you can take criticism for appearing to over think things, even when you know that you've barely thought out half of what you need. If you get it wrong, everybody will similarly criticise you (because hindsight is 20/20).
- You need to be able to concentrate deeply every day. Most other common jobs require nowhere near the level of sustained concentration that programming does. Especially as you get older, you need to treat your body well so that you are able to perform at work. I've seen quite a few people wreck themselves in their off time and end up without a job. On the other hand, non-programmers at work have no idea how hard you have to think all day and won't be able to relate.
- Nobody outside your industry will understand what you do at work. A few things you do (like I made a web page) will be things that other people can see and relate to, but the vast majority will not be. Sometimes you will go years doing things that are very important behind the scenes but that no end user will ever understand.
- The job attracts people who are slightly obsessive, highly intelligent, and are OK if other people don't relate to them. Not everybody is like that, but because you have to be OK dealing with mountains of details without making mistakes, you have to concentrate all day, and nobody understands what you do... well it comes with the territory. Frequently the cultural norms on teams with these kinds of people is quite different than those in other jobs. Not worse (and from the point of view of many, like myself, decidedly better), but it's different and I've seen people react badly to it. I see this changing as programming is getting more mainstream, but the old ways still persist.
- There are very few objective measures for success. It's easy to deceive yourself into thinking you are great. It's easy for others to push you down so that you feel like crap. It's easy for people to fail dramatically and have it celebrated as a success by management. It's easy for people to succeed triumphantly and to seen as failures by management. It's doubly easy for management to simply always assign tasks that are impossible to accomplish.
The reason to be a programmer is because you want to program. It doesn't matter what age. It doesn't matter how good you are. It doesn't matter how much you get paid. But it's a difficult job and people should know that coming in.
You probably won't be a development job with a large amount of responsibility any time soon as you build up your skills. You will be fairly junior for quite a few years, and you will have to actively have to develop yourself to move on to be better jobs.
Software development has been glamorized by the media, yet the vast majority of programming jobs are pretty boring crud business applications. About as interesting as book keeping or filing invoices.
If you accept those things, and still feel interested then yeah sure become a developer.
It's not about stopping people becoming developers, its about giving realistic views of development so they aren't disappointed when they switch.