Technology moves fast! If you're stuck in your cube editing Java 1.3 code or messing with PowerBuilder, you probably live in an area of the country where there's only one employer. Most of us have to figure out what we need to learn, or at least become acquainted with, just to keep our careers on track.
If you want to stay sought-after and raise your rate, you should be acquainted with the following technologies. Why listen to me? Because I get a unique bird's-eye view as a developer straddling a management, marketing, and sales roles. My informal survey says: This is the least you should familiarize yourself with by next year.
[ Dev-olution: Saluting 19 generations of computer programmers | Learn how to work smarter, not harder with InfoWorld's roundup of tips and trends for programmers in the Developers' Survival Guide. Download the PDF today! | For a quick, smart take on the news you'll be talking about, check out InfoWorld Tech Brief -- subscribe today. ]
1. Hadoop. If you learn nothing else this year, make it Hadoop. You need to know what MapReduce is and how to use it. Frankly, by any measure of buzz, popularity, or demand, Hadoop dominates the market in newer technologies.
You could learn other technologies, but Hadoop is harder -- and you need more resources to get further than "hello world." One of the most difficult tasks is finding a topic simple enough to teach yourself, but not so simple that you learn nothing. Also, finding a sufficiently large data set is not as easy as you might think. There are famous ones, like a big dump of Wikipedia. Maybe you could combine it with other elements and create some kind of social graph showing who likes to edit whom. Hortonworks demonstrated a similar concept with GitHub.
Once you get your hands dirty, you'll start seeing other kinds of questions you'd like MapReduce to answer. There are multiple vendors in this space, from Hadoop-specific companies like Hortonworks to multitechnology vendors like Pivotal (VMware/EMC spinoff) and existing vendors like Oracle, who are stapling Hadoop to the side of their products. Any one of these companies is capitalized enough to fly into orbit.
2. MongoDB. Though not quite as big a juggernaut as Hadoop, MongoDB is still a big deal and far easier to learn. Document databases like MongoDB fit well with big AJAX applications or object-oriented back ends. They also scale nicely. There's more than one to try, but you should probably start with Mongo, because it will be best for you from a career perspective -- most companies are already familar with the database. The company behind MongoDB, 10gen, is extremely well-capitalized with a war chest of $81 million.
3. Scala. Concurrent programming is changing, and so are the kinds of applications we're asked to build as developers. Not long ago, all low-latency trading applications were written in C or C++; now they're written in Java. The newer techniques in highly concurrent and functional object-oriented programming often debut in Scala, then make it into Java or other popular languages years later. Scala is more than a language or "syntactic candy" -- it's an ecosystem of libraries and ideas such as Akka and Play. Whether you like Scala or hate it, you need to understand the ideas it encompasses. With Spring Framework creator Rod Johnson joining the board of Typesafe and a $20 million bank, this is one bet you can count on.