The human condition

People often complain that contractors get paid too much, whilst they seem to do the same job as permanent developers. As one of those dirty contractors myself, I obviously have a different view on the subject, and via the medium of my blog I would like to attempt to clarify the differences the way I see it.

Technology

In order to be a successful contractor (or consultant, as I prefer to call myself), you have to be "current". By current, I mean you have to stay up to speed with the latest technologies in your particular field. If you're a fellow .Net developer, I'm sure you're aware that Microsoft are always releasing new software platforms, plug-ins and technologies. Only last week MVC 3 was released and with it a plethora of new development tools. Even if you've landed a contract that could take up the next few years of your working life, by the time you've finished there 43 new versions of Internet Explorer will have been released, and the trendy .Net techniques will have moved on considerably. If you've not kept up to date in your own spare time, you could have a serious issue finding new clients.

2066: Post-apocalyptic earth. Most of the world's population are either dead
or enslaved. AI constructs police the streets, yet Internet Explorer 52
hits Release Candidate on February 25th.
Keeping up to date is obviously a lot of work, but it's a blessing in disguise. There's nothing worse than arriving at a client site to find a team of developers that have no passion for new technologies, whom do their utmost to modify the .Net 4.0 Framework to look and work exactly like 68000 assembly.

I'm not saying permanent staff are incapable of keeping up to speed with new tech, but complacency breeds contempt. Companies that keep their developers happy and busy with new toys are few and far between - if you work in such a place, think yourself very lucky. Usually, once a company writes a piece of software that works, there's rarely any time to keep it up to date. It takes a lot of money and effort to keep that software current, and most small to medium companies don't have the resource to run an R&D department.

Additionally, different roles require different skills. If I only knew VB.Net and ASP.Net (for example), I would have very little appeal to clients when they're choosing who to use for their latest project. The more skills you have as a contractor, the more likely you are to land a good role. It also puts you in good stead if your long term plan is to go permanent - or if you plan to start some kind of design agency in the future yourself.

No work, no pay

A completely foreign concept to permanent staff. If we take a day off sick or decide to have a holiday, we don't get paid. It's as simple as that. Add to this the high possibility that we could be out of work for months at a time, that adds up to a serious amount of lost income in a year.

In terms of holidays where we don't just sit in our house - we effectively have to pay for them twice. The cost of the holiday itself, plus the cost of being off work for that period. Then of course, we run the risk of losing any contract we're currently in. If we aren't there to provide the service (and we can't provide an adequate replacement), the client or agency are legally allowed to terminate our contract.

Expenses

Unlike your run of the mill politician, my expenses are all legitimate. Yes, I claim them effectively tax free from my earnings, but often I have to travel a considerable distance for work, or even work away from home, depending on the client. There are contractors that claim expenses they aren't entitled to, but unfortunately that applies to every business. I pride myself on my clean and legitimate book keeping (and my accountants thank me for it) - I don't claim money for feeding my guinea pig guard dog, for example.

Fozzy Bear is not a threat.
Accountancy costs run between £400 and £1,200 per year, depending on what services you opt for. I also have to maintain my own pension, insure my company against public liability (and a few other things), pay extortionate parking fees when working in a city and pay HMRC a considerable amount of tax and filing fees, to name but a few.

Benefits

As a contractor, I get no "staff" benefits. As already mentioned, I have to maintain my own pension. I don't get flexitime (if available where I work), I have no right to join a Union, I can be denied work (though I can also refuse to do work if I really wanted to) and I receive no holiday, sick or paternity pay. Basically, I'm on my own, which I'm more than happy about.

We're happy moving from client to client

Believe it or not, most of us are! It keeps me interested and allows me to learn something new everywhere I go. There's no better way to learn than by seeing how other developers write code - I've learned so many neat little tricks just by observing other developers it's unreal. Keyboard short cuts, various programming elements and operators, new (and sometimes more efficient) ways of writing code I thought I knew inside out... the learning curve is never ending, and I love it.

I've developed all kinds of skills, from business analysis to presentation layout techniques. Obviously we don't get to use all of the skills in all of our roles, but it's always there in the back of your mind (or code repository) when you learn something new.



There are other considerations such as the difficulty in finding work at times, the incompetence of some recruitment agencies / agents, having to legally verify all documents you sign (or at least understanding what you're signing every 3 months) and negotiating extensions and rate increases. I'm not trying to give anyone a sob story, because I love my situation - even when I couldn't find work for 9 months in 2009 and ended up nearly having to sell my house. I am responsible for my own actions and all the code I write - it gives me an enormous amount of pride in my work and keeps me on my toes.

There are contractors who give us a bad name - people who are obviously brave enough to take the leap in to self employment, but aren't actually capable of delivering the goods due to a lack of experience or understanding. This is usually due to the inability of some agents and clients to see through a contractor's spin, though sometimes a contractor may be asked to do something one way, and deliver it in the way they prefer, rather than the way the client wants it, or be given too much freedom!

I'm not knocking permanent work, by any stretch of the imagination, but people tend to view a contractor's life through rose tinted glasses. Yes, we have prosperous periods (usually when we're working, which doesn't help staff member view), but we also have periods where we struggle to buy a loaf of bread, let alone muster up enough pennies to get to an interview!

Popular posts from this blog

TDD and Unit Testing with Moq

Handling uploads with MVC4, JQuery, Plupload and CKEditor

Generating a self-signed SSL certificate for my QNAP NAS