I was reading Hacker News
the other day when I came across this
. The author is clearly unhappy with his/her profession, but that is not to say that all developers are unhappy or that it should be taken so far as to tell others not to become professional programmers. The author states
"In the end, it's just a job. You figure out what's needed, write it, test it, fix bugs, get input from customer. Rinse, repeat. In the end, you get praised or maybe even receive a bonus. Or something happens (like the boss suddenly deciding the company needs to go in the a new direction) and a few months' worth of work goes to waste. "
This is what the real world is like in every profession not just software engineering! For some of us, the 9-5 is all there is and it is fine. For some of us we work all day and then continue to code for fun after hours. For me personally, I can't imagine not writing code. The puzzle of figuring out actual requirements, designing a solution, and actually making it work as expected is amazing and awesome.
The author also speaks about software engineering today vs in the 70's:
This would make one think that in the 70's all software engineering was awesome and exciting and everything that was done was cutting edge. The truth is that at this time it was the same as it is today. They were writing machine code (because they had to) and drivers for everything. They used punch cards and time sharing machines. They didn't have GitHub or the Internet so code sharing was not really possible outside your immediate social circle. I think that there were some people then (just as there are today) who worked on exciting stuff, but the majority were just doing a job.
The last little piece of this post that I found infuriating was the passage below:
"It is now time to conclude this long-winded rant. I would like to end with a piece of advice for those who are thinking of becoming a software engineer. My advice would be - do not become a "software engineer". I know there is a lot of demand right now, but 1) the demand won't last forever; 2) most of the "software engineer" jobs are boring as shit."
Saying this is like saying "Don't become an archaeologist because it isn't all Indiana Jones and Jurassic Park all the time, most of the time it is research, looking at dusty bones, and other boring stuff ". What you are really saying is that you are bored with software development, not that software development is boring. There is a big difference. This is merely someone complaining that they don't like their job and that they are bored.
I have a piece of advice for anyone thinking about writing software for a living that I don't think that they teach in schools. If you like writing software, if you look forward to getting your next assignment, then you should probably go ahead and pursue it as a career. If you trudge through it and show some aptitude for it, but you don't enjoy it, please choose another career. Software Engineering is not for everyone.While there are plenty of jobs available and there is room for people like the author of this post, I can tell you that most of the great teams and projects will not have room for people without true passion for the craft!