Contracting Advice

6th December 2011

In August I moved to London and have been solid at work on a contract basis ever since, so I thought I'd write some comments on contracting in general for anyone considering it.

All in all I'm really enjoying the world of contracting, the mix of working with large clients in a larger organisation is a nice change from working with smaller distributed teams but there are some down sides to it. Below are some thoughts and things to consider if you are thinking about going down the contractor route:

The monotony of the 9 to 5 - Since going self employed in 1999 I have been generally oblivious to the routine of; commute, work, commute. It's a bit of a shock to the system and personally I don't see the need for being in an office every day of the week when I do what I do. The last 3 projects I worked on prior to moving down to London were all delivered on time to budget and none of the team ever met in person, so although I can see the need to get together occasionally I don't think it's the most efficient way to work. I also have an issue with sitting someone down for 8 hours and expecting them to work efficiently - Where I currently work it's not quite like that, it's very relaxed, but the principle is there. When I was working from home I could put in 3 hours on one thing, go for a walk, consider the solution I had taken, come back, re-factor the code etc. Countless studies have shown that a mix of time in front of the machine and then breaks while your brain goes over the problem results in better code.

Burnout - Whilst I was working from home I found I could work from 8am to midnight albeit with breaks in between. The point is that I didn't generally feel worn out. My productivity was good and I found that in the evenings I would read up on new topics or refresh my skills in other areas. After a day of 9 to 5 at a desk the last thing I want to do is look at a computer. This has a wider impact especially with Drupal. Had I been working in an office whilst learning the framework I would have not of advanced as quickly as I did. I feel a lot of my learning was done in the evening, away from client pressures, where I could tinker without someone looking over my shoulder - yes you can do this when you get home from work but as I stated previously, I don't have the energy nor the conviction, maybe others do! The wider impact of this is a general apathy of work. I wouldn't ever want to get to this stage so if you feel this is happening to you maybe you need a change?

Project completion - The nice thing of working on smaller projects is that you feel a real beginning and end to something. you start with nothing, an idea, some wireframes and turn it into a fully functioning site. That's what interests me the most - providing a solution to a problem and seeing the finished product. Sometimes in larger comapnies you don't feel that you have any "wins", especially if you are just stepping in here and there to do "bugfix 2.2" or "change request 1.4". I know some people prefer this but for me I like to see something evolve for me to feel that I accomplished anything, so if you are of similar mind perhaps bear that in mind when you are at the interview and ask what a normal day might consist of.

Positives - It's not all doom and gloom! there are upsides. You can sometimes feel removed and demotivated working from home. Working at an office for a few months can relight your enthusiasm. You are also forced to work with other technologies and other people and this in itself is a good motivator as discussion generally promotes interest. Personally I think one of the best things about Drupal is that community helps a lot in this regard and although I sometimes felt demotivated or "alone" as a php developer (the internet wasn't as social back then), I have never felt this way since I moved to Drupal but others might so consider this if you are in this state of mind.

As a final note, anyone considering contracting should think about asking the following questions:

  • Workspace - What is the office space like? is there plenty of natural light? what are the chairs and desks like? This might sound unimportant but an employer who is willing to spend money on decent office furniture understands the benefits and believe me, when you are sitting down for 8 hours a day an Aeron Miller chair really helps!
  • Do they use a SCM - Not only does it show you know what you are talking about when asking about the clients SCM, it also helps you understand how organised the client is. I know of several companies that don't use version control and ultimately it's more stress for you so personally I would be very wary of those that don't.
  • Process - Is there a defined process? Do they use agile or waterall, do they at least have a process, release schedules, Quality assurance, Ticketing systems etc.
  • Use of your own machine - I had to be persistent and with the help of the Head of the development team I was finally able to use my own machine and development environment. For some people it's not a big thing but for me I was so used to using textmate, drush and all the other things that make my work more enjoyable that I wasn't willing to use Windows and Eclipse. I'm not saying one is better than the other but I'm not interested in learning to use another IDE on another platform so consider at least asking what the development environment is and if there is any flexibility.

Tags 

contracting