I have been a contractor on the UK market for most of my career — which spans 4 decades now. So, my opinion is probably valid.
In my slightly biased opinion, contracting is the best way to work, and using contractors is the best way to get software built.
Contractors, Permies, and Consultants: A contractor’s only real interest is their revenue stream, and this is protected through doing as good a job as possible so that they are extended or recommended for other work. Permanent staff, on the other hand, are always too interested in politics and protecting their job to do what’s necessary and right — and anyway, they’re not paid very well so they’re not that engaged — they don’t really care about the company they work for because the company really isn’t interested in them. Also, generally speaking, if you are any good you’d go contracting and triple your salary (I said generally speaking: I’ve met some great permies who do it because of location, or love for the company, or for the experience). Consultants have one job and only one job — selling more products and services to the client. They do not have the client’s best interest at heart, because the client isn’t paying them.
The biggest problem with the contractor market is the agency model that has persisted since the late 70’s. The idea is that agents provide useful services for both contractor and client, however this simply isn’t true.
For example, I’m currently looking for my next gig, so in the past couple of weeks I’ve applied for a large number of roles through Jobserve.com, via agencies. When I apply for a role I state my day rate, so that agents with low paying jobs won’t have to waste their time getting back to me. Now, I’m very experienced, and very good, and I charge well above average – right up at the higher end of investment bank contracts, because I often work for investment banks — so I would expect to have a lot of interest in my CV. But, I got nothing. Hundreds of applications, not a single response. So, what happened? Are the roles evaporating? Is my CV hideous? Is my experience in things like DevOps, automated testing, DDD, REST, Spring, jBoss, JEE, scrum and XP not really in demand?
No, what I think is happening is this: a client calls an agent and tells them that they have a role and they’ll pay a thousand a day. The agency wants as much of that as they can get, so after looking at CVs and finding some that might meet the clients needs they push them to the client in reverse order of expected rates. So, contractor A asks for 600 a day, and contractor B asks for 500, so the agency sends contractor B off to the client so that they can make more money.
Is the client upset by this? Well, they’re probably getting the skills they asked for, and the project will go ahead. But, I’m not just good — I’m a hyper-productive polymath. The client has been given someone who will suffice, rather than someone who will excel. The cost to the client doesn’t change, but they get a lower quality resource for their money (that’s an assumption, but let’s run with it). If they’d seen all the CVs they would have recognised me as being special and may have preferred someone with a lot more experience and skills in other areas that they could use to their advantage. Instead they get the lowest suitable bidder.
Now, my argument here isn’t that I’m special and more deserving of work than someone else. My argument is that this should be the client’s decision and they should not be affected by the agency trying to make a bigger profit because the end result is that it reduces the quality of their project team.
I’m making an assumption too that price == quality, which isn’t always true, but I charge more because I can, and contractors are pretty smart in general so I believe that most everyone else is doing the same too.
So, agencies are manipulating the market in a way that’s bad for their clients. No surprise with that though — they don’t make money through projects succeeding — in fact, they benefit more from a failure that’s retried time and time again.
I noticed something else today too. The average high-rate for the roles I’m interested in is 600/day. Funnily enough it’s been that way for decades. Given inflation (low as it is at the moment), I would have expected this to have risen to quite a lot more than this by now. So, what’s happening here?
Again, it’s the agents suppressing our rates. By creating a market where the lowest competent bidder wins they are keeping the low rates around the 500 mark, which keeps the high rates at 600. Ok, there are outliers that are pushing 750, but that’s for algorithmic trading specialists with years of experience doing just that for front end investment banking. There aren’t many people who can do that, so the rates reflect that. However, I don’t think that there are only 20% fewer front-office developers than other developers — I think that such developers are incredibly rare — there are probably fewer than a hundred people who can do that right in the whole of London, and tens of thousands of contractors in general. So, the rates for the top guys should be a lot higher — and they are — when i did this six years ago I was told that I could name my own rate, that the client didn’t really care how much I wanted — it was peanuts compared to what they stood to earn. So, why are they showing at 750 on jobserve? Because the agents don’t want other contractors knowing how much disparity there really is in the market — so that they can continue to offer 500 to other contractors without a fight.
Not all agencies are like this. I’ve worked with some lovely people in the past, but the majority of them are working both sides off against the other and they are the only people benefiting from this arrangement.
We need to remove the agencies from the equation, and have contractors and companies deal directly with each other. I understand that the agencies have the corporate interface, invoicing and credit worked out, but surely this isn’t hard (I know it isn’t). We need a contractor exchange, where companies can list their requirements and contractors can bid for work, and the work will be managed by the exchange — which takes no active part in the matching process. Only then will contractors and clients get what they need — the best deal for them — without having a third party in the middle looking out for itself.
The problem is that as a contractor I’ve written and rewritten my CV so many tiAmes that I’m sick of it. We could use linked in, which at least has employment history information, but it needs skill information too to be really useful in this regard (skills per assignment, not the ‘recommendation’ nonsense it currently has).
Another problem is getting a consistent definition of the skills needed for a role. Based on an informal review of a few hundred job-specs, it’s clear that some of them have been written by junior associates at the agency — because I haven’t heard anyone else in the industry ask for J2EE as a skill for over 10 years. And, pitifully minor skills are continually listed — must know xml and jaxb — it’s hard to imagine an experienced java contractor who doesn’t have that as a core skill, because that’s what it is and so doesn’t need to be listed — if you know java, and you’re charging 400+ quid a day, you will know jaxb, it’s as simple as that. I think that half the skills listed are in that category.