Help an old software engineer find work!
May 28, 2007 5:57 AM   Subscribe

What software development skills are in high demand right now?

I'm an older software engineer looking to re-enter the market. What skills could I add that would make me significantly more marketable? I've spent most of my years working in embedded systems and C/C++, though I've also written stuff for windows/unix. Since I'm older and have some gaps in my resume, I'm concerned that I might need something extra to find a good position.

I've been considering Java/C#/.NET as directions to grow. But I'm wondering about more niche skills, like bioinformatics, or financial services as in this question. What special skills does it take to work in that specialty? But on the other hand, skills with wide applicability would be good so I could travel and find work easily, perhaps as a temp/contractor.

So, what's hot, and I can learn enough about it in 6 months or so to make a good go of it? Any ideas appreciated. Thanks!
posted by DarkForest to Work & Money (14 answers total) 3 users marked this as a favorite
What's hot? Ruby on Rails. Is it really useful for getting jobs? Probably not. But apparently it's all the rage for a certain category of web apps.

I'm sure you could find embedded systems work if you look hard enough. It may not be hot, but it's still as hard as ever and last time I checked there were still a lot of embedded systems out there.
posted by GuyZero at 6:24 AM on May 28, 2007

See this thread from Feburary. My answer to you will be the same I had then:

Hiring C++ programmers is very difficult nowadays because nobody wants to program in C++ anymore. It is just too painful. Competent programmers who can bear the pain of C++ can command higher salaries as a result.

I would say stick with C++.
posted by gmarceau at 6:40 AM on May 28, 2007

It depends on where you live. What I mean is if you live in a big city, you probably could find a job doing what you know best and may not have to go thru a steep learning curve again. To answer your question directly, and having just gone thru the job search thing, .Net, ASP are the number one things here in Oklahoma. If you are looking to make yourself marketable, simply look at the job listings on Monster, and Dice web sites and you will see whats hot.
I'm a 52 yr old programmer, I have 20 years under my belt and found it's really hard to compete with kids who all they've done is .NET. they know it, but thats all they know. If you can,I would stick with C,C++. If you cant do that, maybe project management?
posted by BillsR100 at 7:16 AM on May 28, 2007

Actually, embedded systems are growing as a category--when you look at the growth in smart phones, UMPs, etc., that's not necessarily bad experience to have.

I guess the biggest question is whether you want to focus on core coding skills, or "meta" skills. Either way, though, you should be able to take advantage of your experience.

If you want to dive back into the professional coders' market, and make a living through your chops, then you do need to identify which new technologies you want to focus, but you should be able to find a niche doing even relatively "lightweight" coding with the rigor of a much more experienced programmer. In my experience, the best Javascript/Flash development team I ever worked with were all CompSci grads with deep C++ experience. They did _everything_ with an extraordinary level of discipline, from using version control on their HTML/Javascript pages, to really rigorous coding approaches around error-trapping, etc. The coding they did was just better, and their approach was part of the value they brought to the market. I'm not saying you should limit yourself to Javascript coding, but whether you focus on PHP, Python, RoR or whatever, you should make sure to highlight how that would affect the quality of what you do.

On the more "meta" level, you should also be able to carve out a role for yourself somewhere helping to establish the right programming culture within an organization, without necessarily being an expert in a specific technology. Many of the younger shops out there--especially the successful ones--have gone from being 2 or 3 young turks figuring it all out on their own, to 20, 30 or even 50 person shops, who all of a sudden are really struggling without any discipline or structure. I've known several programmers in your age range who have been able to have a huge impact on a younger company just by coming in and bringing order to chaos. Rigorous bug-tracking and QA procedures, coding conventions, version control, API definition, documentation, requirements definition--the list is endless. If that's been a big part of what you've always focused on, that's also likely to be very valuable to a good outfit.
posted by LairBob at 8:13 AM on May 28, 2007

The space with the largest number of positions in urban areas that is closest to your coding experience is probably .NET/C#. Most of these positions are working on database driven three-tier web applications, so learning SQL, C#, and the very basics of ASP.NET would help you get into a middle-tier/backend developer position.

I would also echo that embedded skills are still in demand, given how gadget-happy our society is becoming.
posted by jimfl at 9:41 AM on May 28, 2007

all the rage for a certain category of web apps

Just wanted to emphasize that part of GuyZero's answer -- you might get a disproportionately web-biased (and public web app-biased) set of answers here, since people here pay a lot of attention to such things. In the Web 2.0 world, it seems like there's tons of demand for Ruby on Rails developers.

In the real world, your experience in .NET and embedded systems is the most straightforward high-demand area for which you have appropriate experience.
posted by anildash at 10:19 AM on May 28, 2007

Project management. In most organizations, developers are (stupidly IMHO, but this is how it works) promoted to management. If you don't know project management as an "older" employee, it may be assumed that you are not a very good developer because you are applying for development and not management jobs, because at this point in your career you "should" be a manager.
posted by kindall at 10:22 AM on May 28, 2007

Man, I would stick with embedded systems. Talk about something that they barely teach in schools these days, dang. The only people I (graduating CS major) know who are any good at that stuff are physicists and EEs, and to be frank, they do not develop software in a way that I think is appropriate for a production environment. Lots of "I think I'll just put it all in one big function" thinking.

I guess the disadvantage is that there are probably only certain places where you'd find abundant work.
posted by crinklebat at 10:28 AM on May 28, 2007

Response by poster: Thanks for all your reassuring words about embedded work and C++. I should probably just concentrate there, as that's where my experience is. I could work to shore up a few nagging weak areas: scopes, soldering, hardware in general. I'm a CS guy who ended up in embedded systems by accident, and then never left.

My problem has been that I live in the sticks where such work is almost unheard of. It's occurring to me now that I should just temp in some sunny, warm remote city for the cold half of the year, and then recharge at home the other half of the year. Anyone done anything like this? My financial needs are pretty modest, really. Thanks again for your comments!
posted by DarkForest at 12:57 PM on May 28, 2007

My financial needs are pretty modest, really.

It seems that geography is more an issue than specific coding skills.

I do know that the HR managers and CEOs I talk to value the soft, meta skills like project management, as well as knowledge of development best practices more than the actual code a developer knows. That said, they expect competent coders to be able to pick up a new language relatively quickly.

Contracting may be an idea, but it will take time to set up the networks you need to be able to work for half of the year in order to save up money to return home and recharge in the summer.
posted by KokuRyu at 1:12 PM on May 28, 2007

Response by poster: Contracting may be an idea, but it will take time to set up the networks you need to be able to work for half of the year in order to save up money to return home and recharge in the summer.

True, but it sounds delicious enough to make me want to work toward that goal.

value the soft, meta skills like project management, as well as knowledge of development best practices

I'd always avoided actual project management positions. The developers I've known who have gone there seem to have their stress levels go up significantly. But I've often taken the lead in terms of development best practices, and I'm very interested in that area.
posted by DarkForest at 2:24 PM on May 28, 2007

I script a check of Australian jobs sites for Java, C++, C#, ASP, SQL, Python and whatnot. You may want to do the same. I've been running this sort of check for about 2 years. In that time .NET skills requests have shot up, especially relative to C++.

The categories and their respective recent numbers are:
SQL:1220, java:680, asp:190, C#:241, C++:187, perl:140, php:124, ajax:55, python:31. On the earliest ones I have, C++ and C# were about equal. C++ is shrinking relatively.

There is a UK page that has data on relative numbers of jobs and pay rates for different skills.

Also, as an indicator, you may want to look at O'reilly's state of the computer book market.

Finally, there is a site on pay in different US cities
posted by sien at 5:00 PM on May 28, 2007

If your goal is strictly to increase your bankability, learn .NET. Getting from C++ to C# is not that difficult. From there, you can probably become competent in Java in a weekend.

If you haven't yet, learn XML. It's increasingly the lingua franca of interop. Also, learn HTTP and SOAP. None of this should be hard for someone with your experience, but someone who can write a web service is worth more than someone who can script out some PHP or Ruby.

How's your RDBMS/SQL? I have no idea how long your gap is, but good SQL skills are a must.
posted by mkultra at 6:03 PM on May 28, 2007

learn .NET

If you're doing embedded work, it might be worth your time to learn, specifically, the .NET Micro Framework. (Disclaimer: I'm currently contracting on the .NET MF team at Microsoft.)
posted by kindall at 8:35 AM on May 29, 2007

« Older Warsaw to Prague to ???   |   So They Do Not Die In Vain Newer »
This thread is closed to new comments.