
The Job Market for C++ Developers (March 2012) - ekm2
http://markcunningham91.blogspot.com/2012/03/job-market-for-c-developers.html
======
npalli
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 ...

~~~
ucee054
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.

------
timr
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.

------
kjackson2012
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.

------
zanny
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...)

------
mirsadm
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.

------
doomlaser
The game industry still runs on C++.

~~~
ucee054
Quant finance too

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

------
ilaksh
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.

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

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

~~~
watmough
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.

