Interestingly, locally to me most software development jobs want Oracle, Java, and Microsoft to be on your resume. There's an odd posting here and there for embedded developers (bare metal, Linux, RTOS, etc), but by and large, if you can't do Oracle, Java, and Microsoft (.NET, etc), you're going to have way less jobs to apply for. Ruby, Python, Haskell, and other things discussed on HN don't seem to be in demand based on my limited searching around.
I'd postulate that working in startups will net you skills that are valuable to other startups. Working in established companies using "enterprise" software systems will net you value to other "enterprise" software companies.
On a slightly sad but related note, there's not much on indeed.com for mechanical engineers. They all seem to be leaving upstate NY even faster than the software people.
Personally, I'd like to see more local jobs posted for up-and-coming tech. I think OpenCL / CUDA has quite a future solving some rather hard problems quite a bit faster.
The problem I've found is the whole work-life balance thing. At some point in many people's lives, priorities change. Instead of hacking on an open source project or grabbing the latest book on Node or Scala, you opt to spend time with your family or relaxing a bit. At that point in your life, you likely have a very solid skillset and can do remarkable work in your job. But, it doesn't necessarily prepare you much for whatever's next. And balancing that is extremely difficult.
If your grandmother develops software she should be eager to learn more about it regardless of salary. I don't like the attitude that one should only learn and grow for the purpose of making more money.
If you don't want to learn and improve as a software developer, you shouldn't be anywhere near developing software in my opinion.
There's also the danger of being ahead of the market (at least your local market): in '98, I wanted to take this great language (Java) I'd spent a year working with but none of the companies in Ireland had adopted it yet. Now I'm itching to ditch Java for Rails which I've been using in my spare time. Now all the local companies only want Java :(
Matching your skills to market isn't just about learning the latest tech. And, incidentally, most of these companies still discount any experience that isn't "commercial"
There is no shortage of software developers with the "right skills". Companies just aren't willing to pay them enough. As an experiment, try offering a salary of $1 million and see how many qualified applicants show up.
It would be great it I lived in a universe where the average blog post about the job market included a sketch of the supply curve ("number of qualified applicants willing to work at salary X, for 0<X<$1 million per year") as well as the demand curve ("here's the number of people the world could profitably employ as programmers at a per-programmer salary of X"). But not only is such an estimate difficult to make - many of the relevant variables are literally unknowable, and there are way more dimensions than two - but nobody would understand it anyway. People in general are bad at functions. That's why they struggle with elementary calculus.
If you can demonstrate to a company that you (but not your competitor) are reliably worth X plus five percent, they will pay you X. Unfortunately, there are few programmers on earth who can demonstrably, repeatably, and uniquely add $1.5 million per year to an organization. And we certainly don't have a recipe for scalably generating $1.5m per year per programmer. (If you do, for god's sake stop posting on HN and get moving. We'll all come work for you and be rich!)
Whereas what we do know is that we can basically stand around at a conference and enumerate lots and lots of likely ways to use a talented web developer to generate, say, $75k of value per year. We just don't have many talented web developers who are willing to work for less than that. So most of those relatively-low-value tasks go undone, or get done less efficiently, as web developers hold out for higher-value positions that pay $100k or $125k and that earn their employers much more than that.
Sure. There is no such thing as "unemployment" either. If you're willing to work for $1/month that is.
It's about market reality, not about greedy CEOs who try to screw the hard working developers.. If the best programmer you can hire is expected to produce $X worth of value, you can't just offer a salary of 2 x $X. How many programmers do you know who can produce something worth $1M+...every year?
Google had revenues of $31B with less than 30,000 full time employees over the last year. Programmers there are bringing in over $1M on average. There must be some there that are actually worth it.
Let's say I own a building which I'm renting for $10M/year and I employ 10 people to service the building. Are these employees "bringing" me $1M on average? Or maybe the main factor is that I own a building, worth millions?
Anyway, I know you were not serious about the $1M figure. That wasn't my point either. All I'm saying is that the expected value of your work <= your salary. And sky isn't the limit for that number so employers have to take this into account.
When the term 'software developers' is used, I agree. When you pick a certain language, I almost always disagree.
See, true software developers will work with whatever language they have to to do the project correctly. They'll change with the times and constantly upgrade their skillset. Single-language developers will almost always have a hard time finding a job.
Sure, but a language doesn't stop doing a particular job either. While there are certainly better ways to be doing things discovered all the time, software is susceptible to fads just like any other industry. Sticking with something proven isn't always a bad strategy. Especially if it lets you focus on solving a real problem rather than a growing pain.
Sticking with something proven is one thing. Refusing to use another language is another.
Yes, there are fads... But that's how the industry improves as a whole right now. As new fads come and go, we take the best pieces and it drives further fads. Sometimes, we end up with a real gem of a language from it. Sometimes, we just learn a lesson.
But as a developer, if you want to find work, you need to be willing to keep up with at least some of the fads and increase your overall skills.
Does anybody have a working link? I keep getting redirected to some onswipe spam page which won't let me scroll down and which appear to have been installed as some sort of hack on his blog (similar to to those hackers which serve up million of spam links to google from some blog, but hijacking my browser instead)
Odd. I'm not the blog author, but I do know him pretty well. His whole blog is pretty simple. It's just jekyll with disqus for comments. Obviously other things could happen on the frontend, but maybe your DNS is whacked out?
I'd postulate that working in startups will net you skills that are valuable to other startups. Working in established companies using "enterprise" software systems will net you value to other "enterprise" software companies.
On a slightly sad but related note, there's not much on indeed.com for mechanical engineers. They all seem to be leaving upstate NY even faster than the software people.
Personally, I'd like to see more local jobs posted for up-and-coming tech. I think OpenCL / CUDA has quite a future solving some rather hard problems quite a bit faster.