High-wage skills, or why you might want to learn Clojure if you're not a lawyer
onlinelabor.blogspot.com
onlinelabor.blogspot.com
The association between skills listed in a worker's profile and hourly wages is accidental. The actual analysis we want to see should be project based, showing what projects (in which I would like to see technologies used as variables) command the highest hourly wages.
I would guess that most HN'ers do believe that using a better blub makes them more effective as hackers. What we don't see FTA is a link between USING the better blub and hourly wages.
Maybe Clojure developers are a subset of the top 5% of Java hackers. One possibility is they are then hired to work on projects using Java and that they might command higher hourly wages (being in the top 5% of Java hackers and assuming this is demonstrable to hiring orgs) rather than being especially valued for their Clojure skills.
And, make your chart x-axis start at 0 instead of 25. :) Tufte rules.
2) I make it very clear that there's an association, not a causal claim. I flag the fact, make a lame joke about it and put "might* in the title.
3) There's no Tufte rule about starting charts at 0 - you make choices that make it easier for people to make comparisons. Paul Krugman said it better than anyone on this topic: http://krugman.blogs.nytimes.com/2011/09/14/axes-of-evil/
As to the dreaded axis values: I think your chart, in this context, does exaggerate the variation in hourly wage by skill. At first glance, almost all your data points are between $25 and $35. Clojure hourly wage is around $31 per hour from the interactive chart. Your lowest hourly wage for a skill, haml, is $25.90. This simply is not much of a difference and your chart should make that clear.
I like your article. It is interesting, and I appreciate your efforts to take this data and provide some value out of it to the community.
I think we need to be more conservative in drawing any conclusions out of this data though.
You might not need to start at zero, but you do have to start with something meaningful. Like minimum wage or the poverty line.
The vital piece of information in the graph is the relative size of the wage. If the author had started at 0, it would be far harder to distinguish differences between the skills, by the same principles that make pie charts mostly unusable.
Other problems:
1. As hinted above, what are the standard deviations? Do we even know if Clojure is statistically different from HAML? Do Clojure rates exhibit higher variation than HAML?
2. $4 difference between pattern recognition v. machine learning, where pattern recognition is, effectively, a subset of ML? We see this with legal services v. contract drafting, and (arguably) info architecture v. interaction design (less overlap with these, to be sure).
Also, while John gets credit for joking about causality, I'd be very concerned about sampling bias if he uses oDesk data to examine human capital decisions.
Re: Standard error bars - you're absolutely right. I should have included them, but it was my first time using the googleVis package & didn't see an easy way to add them. I don't have the numbers right in front of me, but standard deviation for each skill was on the order of ~$7/hour and each skill had to have at least 30 obs., though many where much, much higher. If we say n=50, that's an SE of about $1/hour, so clearly one shouldn't take much stock in very small differences in wages. My goal was just to unearth some interesting data---I probably should tone down the implied recommendation lest I'm responsible for a glut of unemployable lisp hackers in a few years:)
I see the graph as answering the question: What is the difference in achievable wages between different "hacking" skills? The graph, as shown, displays that difference well. Like I said, there are no hard and fast rules, but I would have done it the same way!
Right - and what about the rates for people paying for each listed skills? That's what I'm more interested in ;-)
Neither the data nor the article make any connection between USING Clojure and hourly wages.
The connection is between LEARNING Clojure and high wages.
This is commonly known as the Python paradox, cited in the article. Learning currently esoteric languages signals a motivated self learner passionate about his craft. Listing Clojure in a job listing signals a company doing work that would be interesting to a motivated self learner passionate about her craft.
I have worked off and on for many years as a contractor working on high-end database scalability and performance issues as well as parallel algorithm design. While the rates fluctuated with the market and how much I liked the project, I was always charging well above $100/hr even for terms that ran several months.
A lot of it has to do with who your customers are. If you are working on the design of a system that will be moving $250M per year if it performs correctly, spending an extra $100k to hire a deep expert in the design of such systems is below the noise floor. You might be a "database scalability consultant" but you are not fishing in the same pool as most of the people that claim similar labels for themselves.
Do they?
My wife works at one of the largest law firms in the world, and trainees there makes about $10-$15/hour. On paper their salary is high, but the hourly rate is pushed far down because of ridiculously long hours. Their secretaries make as much or more than them.
Newly qualified lawyers there make $20/hour if they're lucky. This is in the UK, specifically in a London "magic circle" firm - one of the highest paying law firms in the UK. US firms in London pay up to about 1/3 more total yearly salary, commensurate with the same firms salary levels in the US, but also tends to expect even longer hours.
It's first quite a few years post qualification that their salaries get high enough that their hourly rates starts to become decent.
Average salary for a solicitor in the UK was around $37k/year a couple of years back, for longer than average hours, at a time when the national average salary in the uk was ca. $40k/year...
I'm sure there are lawyers who start out at high hourly rates from day one, but I'd be surprised if more than a tiny fraction starts out around the $100/hour rate.
Actual billed out rate from a major law firm, sure - my wife is billed out at around $300/hour as a trainee.
You can almost certainly make more on a per-hour basis as a contractor in the software sector, but lawyers are risk averse and prefer a stable flow of work and decent health insurance. :D
I've often thought about grabbing a bunch of folks with a similar relevant skill set, investing 6-12 months in training them, and then running a hugely profitable consulting company for a while. The problem being it's hard to prevent people from hanging out for your 12 months of training, and then jumping ship to do their own thing afterward...
I ran a successful consulting business many years ago (and hated it). One of the things you learn is that you live and die by the quality of the people you can deploy because that goes straight to your reputation. In practice, consulting businesses are very difficult to scale. While you may start out high-end with a great reputation because you really know what you are doing, it is very difficult to bring in additional people with your level of skill because there is almost no overhead to them working independently. As a result, "scale up" often involves diluting the quality of your overall team to the point where the rates you can charge decline as well. Consequently, you either have to run a very small boutique consulting shop that can maintain its standards and billing rate or run a large generic shop that makes up for the lower billing rate in volume. For people that care about the quality of their work, the former is more rewarding but the economics work out such that you will make about as much money by going direct as a highly-paid contractor to another company.
But I agree with your assessment of consulting firms and the scaling/quality issues therein. I also feel that consulting shops expenses tend to scale a lot closer to profits than some other businesses, so I stay out of it:)
It's pretty easy actually: pay them well.
What happen if the developers are just that kind of people? i.e.: wanting to be their own man strutting their dongle around?
It's pretty easy to say than to do it :D
As far as your second example of people, I don't think enough people are like that to warrant consideration. People are more likely to stay with a company beyond the point of rationality.
Quite possibly OpenBSD (sys-admin/net-admin).
Kernel hacker specializing in odd OS (OpenBSD, FreeBSD, the new Solaris distro, etc).
Ruby on Rails used to demand high compensation back in 2006.
Clojure and maybe Scala might be on the same spot where Ruby/Rails was.
Sometimes what it takes is to be the top #5 consultants in a niche field (i.e.: PostgreSQL guru)
I'm employed by an eCommerce vendor myself, so I'm sure I'd have an intuitive understanding of general architecture, but actually understanding the internals of a system as an outsider seems like a difficult proposition.
The only real hope of learning it though is to have a company that you work for use ATG, send you to training, and get you coding on it every day.
This is why there is such a huge gap between the demand and supply of this skill set currently.
But of course, rumours are unconfirmed.
I'm unsure regarding Scala since a few articles have risen regarding getting burned by Scala (Yammer) or plainly suggested that Scala may not be it (David Pollack, one of the Scala celebrities).
Having said that, knowing Java developers, most (not all) of them would definitely flock to either Scala or Groovy instead of LISP. Have you heard anything about Groovy lately? Yep, nada, cricket. The cool kids (Yammer, Twitter) are using Scala (to some extend) so there you go.
Clojure on the other hand has that "LISP" tales behind it (LISP programmers are like gods or something like that) and it runs on Java so that gives people some kind of hope and smile on their face or something.
I don't know if either would be in high-demand but you may want to look around and do a bare minimum, out of the thin-air, lots of grain of salt type of assumption:
companies_who_use_X/people_who_sang_X_tunes = ratio_of_X_demand
or something like that.
e.g.: 10 people love scala, 10 companies using scala = 1
e.g.: 2 people love Clojure, 5 companies using clojure = 5/2 = 2.5
Guess who gets a better chance of aiming higher salary? :D
Of course that's just out of my arse type of calculation (for fun) :).
$30/hour would make you part of the 1% in these countries.
There are actually quite a few excellent clients out there on those sites but they actively won't talk to people who bid at the level of the bid-on-everything-then-outsource "suppliers" who plague freelancer markets.
oDesk clients tend to be one of two types: Skilled project managers/architects/agencies looking for subcontractors, or businesses looking to save a buck by not hiring the former.
The first group are great, they know exactly what they want and will pay for quality. The latter are hell as they often have no idea how to communicate requirements, scope, process, etc and want everything cheap.
If you live in the first world and have the communication skills, the best place to find freelance development work (IME) is still community networking.
Basic thing is ; don't go for mainstream. You cannot compete on price doing PHP or something like that. If you have something 'niche', you can pretty much ask what you want and get it.
If I'm going to be a highly paid consultant instead of an underpaid employee I have to do something more desirable/uncommon than .NET boilerplate coding...
I want to find out about the tried and tested niches that HN readers might know about.
Background: my goal is to find some in-demand yet rare skill and hammer the crap out of that so I can get paid more per hour and cut down the percentage of my life that is spent generating income for food, shelter, clothes, etc. Working 40 hours per week doing boring C# code is very inefficient when I have so many other projects that need to be done. And for the time being (ie until I build the next Facebook :)) I think consulting will be the best way for me to reach my objective.
Totally a link bait title. Clojure hasn't been around that long and therefore hasn't been in demand that long.
Heading off in any one particular direction based upon the way things appear to be now vs. what they will be long term wouldn't be what I would do. Do you think "clojure" is like "plastics". I don't think it is.
Also, as has happened with many career/skill (nursing at some point, law now) once the word gets out that something is in demand (because of supply and demand in balance) that changes as people are drawn by the chance to make money.
And clojure is a skill it's not a profession. That skill can quickly be replace by the next new thing.
Is Redis that hard to use or does the number of Redis users increase exponentially with a resulting lack of skills? (Or is the web site not a good salary predictor?)