|
While I do enjoy programming, I don't think software development is a good industry to have a career in. The market is so fragmented right now with different choices of programming languages and different technology requirements. And you are expected to be the expert on those technologies. I like what I do and it's good to be paid at what you do. But these days corporations want their people to work extra hard and dedicate themselves for the company. Once the company is done with you, they'll spit you out. I've had my first-hand experience seeing someone who helped built the company, loved his job, work harder than anyone else in the company, was being let-go when the company didn't do well. Probably because he has a high salary than anyone else. The least the company could do is to negotiate his salary and let go someone else (still not ideal, but then..). Long gone is the day of "employee growth", "personal advancement", or "continuous improvement". Enter the day of "you should already know that", "study this on your free time". With the rise of Scrum and XP, developers are becoming interchangeable (outsource, offshore, or between colleagues). |
Exactly, and I suspect that many of the developers being "purged" are not those who aren't passionate, but those who happen to be too much of a generalist.
Today's job listings often ask for experience with libraries A, B, C, D and E. (It's not even about languages anymore; the "Python" jobs are really mostly for Django, and "Ruby" already meant "Rails".) They get literally hundreds of replies, so the chances of getting applications from people who actually do know all those libraries are fairly high. You just pick one of those who seems competent (maybe you'll let them do some of those puzzle questions that seem to be in vogue nowadays) and they can bring value to your project right away.
A generalist, on the other hand, loses out here, because they do not know all of these libraries (yet). It does not matter if they are competent and can learn these new things quickly; they aren't even considered.
So, you just learn these libraries, and next time you will have a better chance of getting the job, right? Yeah, except that the market is so fragmented, that the next job listing will require F, G, H, I and J. There are just too many of them to learn them all.
I'm getting the strong impression that getting a job nowadays is a matter of (1) luck, or (2) knowing the right people. Many companies like to pretend it's about passion, but other filters are applied first.