Hacker News new | comments | show | ask | jobs | submit login
The Job Market for C++ Developers (March 2012) (markcunningham91.blogspot.com)
12 points by ekm2 1783 days ago | hide | past | web | 13 comments | favorite

This is a perfect example of buzzword driven technology recruiting. Imagine this person writing this essay in early 2008, objective-C has all these negatives against it -- ranked about 50 in the popular language index, funky syntax that people can't wrap their heads around, manual memory management, can only write Mac applications (< 5% of devices). Even iPhone is moving to the Web. All Objective-C programmers should give up and move to web technologies. However, about four years later Objective-C is in the top three technologies to learn.

I don't think there is a single C++ programmer (sitting under a rock) that doesn't know that C++ is not cool. It hasn't been cool for over a decade. This "essay" has some sort of anti-lesson in learning about technologies that have peaked. I can understand someone writing this essay in 2005; but if you have been writing C++ all this time, now is probably the best time (relatively speaking). Resource constrained devices are going to be norm in this decade (smart phone, smart sensors etc.). C++ will be one language that will be supported across all these. At the high end, servers will move from python/Java to C++ to squeeze even more operational savings.

Also, becoming a sysadmin (RHCE) in addition to learning about python and RoR and Objective-C. I mean, it doesn't even make sense ...

Where on earth do you get these predictions from?

Resource constrained devices are going to be norm in this decade (smart phone, smart sensors etc.)

...At the high end, servers will move from python/Java to C++ to squeeze even more operational savings.

You just made assertions about like 5 different markets with precisely zero justification.

Being "pigeon-holed" as a C++ developer...that's hilarious. Yesterday, I discovered that not one, nor two, but at least a half dozen different "Ruby programmers" have created Gems to generate placeholder text by making a web request to lipsum.com. So maybe we should be having a conversation about what we mean when we talk about someone being "experienced".

Say what you will about C++, I'll take a good C++ developer with no knowledge of Ruby over many of the "experienced" Ruby developers I'm seeing, any day of the week. Language proficiency is a detail, and Ruby is not a particularly difficult language to learn.

I'm a C/C++ programmer with 15+ years experience. I recently was looking in the job market, and I didn't feel any problems trying to find a C++ job. Most jobs weren't C++, but there were still jobs that I could have applied for that would have interested me. But I chose instead to go with a job doing PHP (having no practical experience in PHP), because of the opportunities presented by the company, not because I felt PHP was superior in any way.

C++ opportunities are definitely decreasing, but there is still a lot of life left in it for performance-critical applications. And most kids these days coming out of school don't really learn C++ as much as they used to. I find most of the kids that I interview have experience in Java and Python, so it means that those old dinosaurs like me that have significant C++ experience still have a decent shot, unlike the COBOL programmers of Y2K.

It isn't really news that people basically "wrote all the low level code they needed" and moved on from there. There was a market for C++ in the 90's because the hardware demanded it and because there was no foundation to build the myriad of technologies we have today off of. Now we have those technologies and as long as the going rate for a programmer is so high, their time is more valuable than the efficiency of native code.

I prefer C++, and I'm 21. It is the kitchen sink, but that is what I want in a bare native language. If I write something higher level and need efficiency, I can switch into C++ gear and expect the language to be complete enough to quickly implement whatever is missing and inter-opt the functionality.

If my time is more valuable, I'll just jump at Python. If it needs a web presence, I'd sub python for Javascript. If my time isn't the most valuable thing, C++ (maybe one day D) becomes comes to the front of the pack. But that is the way I tackle the problem.

I still wonder about a different perspective. If I am going to write something that is going to see millions of hours of execution on machines, as opposed to the hundreds a normal script will or the thousands a business app might, I'd not want to imagine the amount of electricity and processor power being wasted on interpreters and JIT compilers. I wonder how bad it is for Android phones running most of the non-system software on Dalvik.

Oh, and I'm unemployed, so lf work in C/C++/Java/C#/Python/Javascript (woohoo shameless plug. It is why I read this story after all, even if it is about the job market 9 months ago...)

Unfortunately this just confirms that recruiters are terrible at finding decent people. The trick is to look for companies that do not look at buzz words and pigonhole candidates based on tools they have used. Those developers might be one trick ponies and are generally not a very good hire.

The game industry still runs on C++.

Quant finance too

Or at least, the part of quantitative finance that doesn't run Haskell.

I'm curious to hear from recruiters about the job market for things like Node.js and CoffeeScript, because those are my favorite technologies at the moment.

It may be "buzzword driven recruiting" but it probably reflects what employers are asking for. Look at it as the data point it is.

I was going to write a few things, but then I saw this is from a recruiter, so it is actually very good :)

Yeah, and he's not wrong about the oil and gas biz. My company is doing a bunch of work with .NET/WPF and what-not, but to some large degree C++ code, literally millions of lines of it, pays the bills. And as someone who's always enjoyed debugging large complex code-bases, I'm really happy with my 80% support / 20% development type role.

But as he says, it's always good to have a varied skill-set, so I've dedicated at least 40 hours over the vacation-time to reading the SegY specification and building a Javascript loader/visualizer. Not much code, and it runs reasonably fast, but making lots of asynchronous calls to load, convert from IBM floats, and visualize data, is the kind of stuff that sharpens up the Javascript skills pretty quick.

The neat thing about something like this, is that everything you need is online. The SegY spec, plenty of available seismic data courtesy of the US government, and incredibly fast Javascript compilers with Firebug as a REPL.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact