5 ms·
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 ch
by fiveo 16y ago
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).
- zephyrfalcon 16y ago"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." 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.
- dcbell 16y agoI don't know besides my company, but as a generalist technical founder, I would be loathe to take someone with experience in x technology over a generalist who'd shown ability to learn new technologies. We work with Flash, clojure, and assembly, which is obviously the weirdest smorgasbord ever. I have yet to see a resume that mentions anything but flash, so I've tried to look for people who look smart and a little arrogant instead, while still being personable.
- fiveo 16y agoHow many companies of your type out there?
- ootachi 16y agoYou mention that job listings get hundreds of replies, yet just a few pages back we have an article [1] about the short supply of developers in Silicon Valley. What gives? [1]: http://www.quora.com/Silicon-Valley/Why-is-there-such-a-stunningly-short-supply-of-developers-in-Silicon-Valley-right-now http://www.quora.com/Silicon-Valley/Why-is-there-such-a-stun...
- fiveo 16y agoSilicon Valley wants the best and brightest. This filter is opinionated based on the company. If you're looking for work at VMWare, your Rails and MongoDB experience won't be needed. They want C/C++ guy who can hack Linux kernel or write device driver. If you're looking for work at Facebook, they want someone who knows PHP and C/C++ and probably have provided patches to MySQL or memcached. Or they grab "idea" people like Lars (from Google). You should also "own" that domain (compiler, AI, optimization, OS/Kernel, Networking, DB/Data-Mining, business-app, ERP/CRM/Enterprise). This is scary because it forces you to: 1) Put your eggs in one basket: domain 2) And put more eggs in another basket: technology 3) Stay up with the latest in (1) and (2) This left you no room to breathe. To break this cycle you probably have to get out there and do something on your own (meaning: your own business/company)
- zephyrfalcon 16y ago
- jkin 16y agoBeing an engineer, constantly learning is a given. Technologies change everyday. That happens from hardware all the way to the top. Don't bet on just one technology and think your career will end with it. Java, Python, Ruby, and many others are things people talk about, but I guarantee you, there will be more new languages, new technologies and new platforms pop up every now and then.
- fiveo 16y agoI think this is the biggest difference between programming language and OS/RBDMS. The changes happening around programming languages are much faster than that of the OS/RDBMS world. People who know UNIX concepts are most likely employable whether the business is using HP-UX, Solaris, Linux, or BSD. You're a DBA? doesn't matter much how many years of experience you have between Oracle and SQL-Server (as long as each have at least 1 year). Compare that to a developer who know OOP in Java and JEE is less likely employable in shops that use the equivalent technology in C#.NET (even if the concept and the language is the same). My point here is that the changes in programming language/development tools are in a very unhealthy situation. People don't even have time to stabilize and learn other skills (communication, organization, networking, understanding business needs).