Some posts that had been sitting in my browser tabs for a while combined together in a brand new job guide for 2010. You can also read this as a follow-up post to my previous post on Why developers are important, this is which developers are important. This post has been lying in my drafts folder for a while, but it has actually only become more relevant.
Some interesting jobs for the coming year(s):
These are already highly sought after ever since Twitter was failwhaling half of the time. Having the competency to keep a website running while it is experiencing massive growth is going to be highly sought after. Some technologies such as Google App Engine promise to make this easy, but they introduce a set of problems of their own. Traditional relational databases are abandoned more and more for the looser often schemaless variety of BigTable-like NOSQL databases that live in the cloud (CouchDB, HSQL, Cassandra, MongoDB, Tokyo Cabinet etc.) or can be scaled at will. If you want to get up to speed on this stuff really fast, there’s a NOSQL conference in London April 20-22nd.
Also knowing your Scala, Tornado, Twisted, NodeJS or other non-blocking framework is increasingly important, since we’re slowly moving out of the request/single response paradigm for the web.
Key skills: Everything command line, functional programming, traditional database management, SQL, virtual machine configuration, puppet
Client Side King
The web based client already was the biggest delivery mechanism for functionality and experience, but it is going to become more and more important. Functionality which you would not have thought possible in a web application, will become available. Some apps may at first be functionally inferior to their native versions, but the fact that they are web native and inherently social will draw people in. After a while either the apps will become more capable or the users won’t care anymore.
Ridiculous amounts of data requires strong analytics, very capable navigation and a new sort of editorial proces. These databases draw more and more information from the real world:
“The advent of inexpensive high-bandwidth sensors is transforming every field from data-poor to data-rich,” Edward Lazowska, […] said (NYT) and “Today,” he added, “you have real-time access to the social structuring and restructuring of 100 million Facebook users.”1 (same source)
Better algorithms will allow us to make better sense of all this data and will provide inputs for the other fields. Everything can have an interestingness in a given context for a given person.
Key skills: multivariate statistics, data wrangling, screen scraping, machine learning, data mining, Excel, SPSS, R/SPlus, Matlab, NumPy, digital signal processing
Making sense of all the information requires condensed views with aesthetic qualities. There is simply too much data out there for us to be able to grasp it, so being able to filter and mine the datasets with the help of the other disciplines is essential. But after that step any data needs to be refined, represented and made interactive.
“Decode” ends with “Network,” which examines the interconnections of mobile technologies and the Internet. It also illustrates how digital imagery is helping us to make sense of a frenzied, often confusing world. (NYT)
There are tons of frameworks, tools and libraries in a variety of languages for anybody who wants to try out visualizing stuff. In the end no single one will fit the bill and the best result is achieved combining, mixing and writing something by yourself.
There’s a new O’Reilly book coming out for anybody in the finer arts who’s interested in getting their feet wet with Processing: “Processing for Visual Artists” Then after a while you may be able to produce stuff such as:
And we haven’t even treated the Natural Language Processer, the Urban Information Planner and the Machine Vision Trainer yet but there’s considerable overlap with the above disciplines. If you have any other that we should look at, please suggest them in the comments.
Update: And the New York Times is just looking for somebody with roughly this description.
- I don’t know exactly who has that access, but… ↩