« Creating a renaissance in enterprise software in 2006 | Main | last.fm takes a dive »
December 29, 2005
C programmers aren't relics (anymore)
I have often felt like some kind of relic because I enjoy coding in C. For various reasons, I never got excited about Java. It just didn't feel ... hacker enough (plus by that point I wasn't doing programming so much anymore).
Robert Scoble blogs about Joel Spolsky's essay The Perils of JavaSchools, then writes about the increasing demand for (and sparse supply of) C/C++ programmers:
I've heard the same kind of thing repeated around halls at Microsoft. Almost every team I interview with my camcorder says they can't find enough C or C++ programmers to get their stuff done. Some on very exciting teams with hundreds of millions of users. Some that, gasp, actually have budget to hire real programmers. And, this isn't just a US problem. The problem exists at our offices around the world. Every team I talk with says they wish they could hire more hard-core programmers.
This is probably driven (at least in part) by the increasing difficulty (= cost) of adding more CPU's to data centers (wish I could remember where I saw a blog post just recently about a company struggling to scale beyond the city-mandated maximum for power to their data center building). The economic model of Java (and many other programming-efficient/CPU-intensive languages) assumes programmer time is more scarce/expensive than processing (computer) resources ("you can always add another processor"). But that assumption is becoming less-true as the cost of programmers decreases (Thanks! India/China/Russia/Phillipines) and data-center costs increase (power, HVAC, physical management, etc).
It must be compelling to hire a C/C++ programmer to squeeze another 20-50% performance out of an existing farm of 10,000 Java-based server instead of adding another 2,000-5,000 servers. When your minimum starting data-center is 100,000 sq. ft and you've got many around the world, an optimizing programmer (team) is an easy investment to justify.
Looks like I could have a second career in programming, going back to my roots. I've always loved optimizing (of any kind). And none more than some tight C code with all sorts of nasty pointer fiddling.
Posted by pete at December 29, 2005 5:47 PM