Our sponsor, Hired, passed us off a report they just published: “The State of Contract Work”. I said to myself, “Wait a second, I’m a contractor!” Well, technically, I’m more of a consultant or sometimes a trainer- one of those evil highly paid consultants who swing in, tell developers how to do their jobs, and leave behind nothing more than the smell of brimstone and invoices.

The bad thing about this line of work, at least from the perspective of a TDWTF article, is that if I encounter a real WTF, it’s because someone wants me to fix it. A WTF that is getting fixed isn’t really a WTF anymore. That doesn’t mean I don’t encounter some real head-scratchers from time to time.

For example, I had a client that wanted to figure out best practices around using the Cassandra database. For the unfamiliar, Cassandra is a trendy “big-data” tool, a massively distributed database with no single point of failure and limited guarantees about how consistent the data is across replicas. It’s good for blisteringly fast writes, good for reliability, and absolutely terrible for any sort of ad-hoc query and data analysis.

So, I talked with them a bit about their Cassandra needs, roll into the office, and that’s when I start getting the real picture: a pointy-haired boss heard that Cassandra was cool, that FaceBook and Netflix used it a lot, and thus… they were going to use it. For everything. All of their applications, from their legacy mainframe apps, to their one-off SQL server DBs for intranet apps, to their massive supply-chain and retail business were going to run on Cassandra. They started by adopting it for the massive supply-chain and retail portion of their business, and thus were actually quite successful- it was the right tool, for the right job.

Thus armed with a wrecking ball and a single success with it, every problem started to look like a building that needed to be knocked down. This lead to a lot of conversations like this:

Client: So, we need to run ad-hoc reports out of Cassandra. How do we do that?
Me: You… don’t. You either need to know your query needs up front, so you can build tables and materialized views to support it, or you use something like Hadoop to run map-reduce jobs.
Client: Right, but we’re not using a tool like that. How do we do this in Cassandra?

These efforts are still ongoing, but it sounds like the “pick the right tool for the job,” speech is starting to sink in. They’re still determined to move all their mainframe applications, and all their mainframe developers onto Cassandra though, so maybe I’m just overly optimistic. I suspect that, in another year, the energy in the effort will peter out, the organization will decide that it’s not that they misused Cassandra, but that Cassandra is just bad, and the highly paid consultant who they brought in to talk about Cassandra is the real villain, but until then… I’m at their site often enough that the front-desk clerk at the hotel invited me to her wedding.

Well, maybe you don’t want to be a highly paid consultant, but if you do want to do some sort of contracting, Hired has good news for you: there’s about $1 trillion dollars in the IT contracting market. Since they’re placing a lot of workers, and their business is driven by analytics, they’ve got some insights into the contracting market.

A chart highlighting salaries for contractors around the US, and the markets- SF is the big market, Engineering Managers can expect to make $118 an hour

13% of the companies using Hired want to find contractors, as it’s a quick way to staff up with highly specialized skills to accomplish a specific project. It also means they don’t have to worry about any sort of benefits- freelance contractors don’t get 401K or dental. What they do get is more money.

How much more? It’s variable, but someone with 10 years of experience could be looking at over $100 an hour, with the added benefit that they’re getting paid by the hour. Unhealthy companies (or 90% of Silicon Valley) love to run their employees through 130-hour week death marches, and those employees aren’t getting extra pay. Hired’s contractors, on the other hand, work an average of 22 hours a week.

A table contrasting the benefits of full-time employment and contracting, with the expected details- benefits vs. flexibility

Speaking personally, it’s that kind of flexibility that I find attractive about being a contrractor. The downside, of course, is the lack of benefits. The average premium for just health benefits is about $4,700/year if you buy it for yourself, while an full-time employee’s health plan costs them 1/4 that amount.

The best markets are places you would usually expect- Seattle, the Bay Area, and Austin. But that doesn’t mean you have to pack up and leave for those locales- remote contract work is big, and that’s the other benefit for a contractor.

Hired’s report sums this up with a pretty typical, “who has it better”, and decides that, “it depends”. I’m glad I’m a contractor, despite the feast-or-famine aspect (and honestly, “feast” is worse for me: I get burned out real quick), but I certainly wouldn’t say that everyone can or should do that, and certainly, I’ve been able to do it through a combination of lucky networking and just plain luck.

Read the entire report, and then let Hired help you find your next job.

[Advertisement] Otter, ProGet, BuildMaster – robust, powerful, scalable, and reliable additions to your existing DevOps toolchain.