By Harry Roberts
Harry Roberts is an independent consultant web performance engineer. He helps companies of all shapes and sizes find and fix site speed issues.
Written by Harry Roberts on CSS Wizardry.
N.B. All code can now be licensed under the permissive MIT license. Read more about licensing CSS Wizardry code samples…
Today marks exactly one year to the day that I left Sky in order to work for myself. I thought I’d write up a very candid postmortem.
Disclaimer: This post was hastily written, so is more of a brain-dump than a carefully-penned article. Also, if you don’t fancy the idea of someone going on about how great their job is, please stop reading now. I’ve tried as as hard as possible to avoid gloating, but after several failed attempts at self-censoring, I just let it all flow. You have been warned.
I went into self employment in typical me fashion: informal, optimistic, freestyle. My thinking was that I’d had 6–7 years of amazing but very predictable employment, so I wanted to make the most of striking out alone by not having any rigid plans in place. I wanted to make sure that I wasn’t stifling any opportunities before I’d given them chance to happen.
This worked out very, very well. The sheer variety and amount of work I’ve been able to do as a result has been astounding. I was very keen not to go off contracting and ending up working for three to six months at a time, and instead wanted to focus on much shorter engagements with a higher number of clients. This is why I explicitly chose to go the consultancy route as opposed to freelancing or contracting.
In the last year I’ve worked for large companies like the BBC and the NHS, to smaller companies, to working with individuals from their home offices.
The single longest engagement I had was with the NHS, and lasted just 21 days. The majority of my work has been single-day workshops with companies, and a few week-to-fortnight engagements with several clients who required a little more involvement.
The vast majority of my work has been consultancy and internal workshops: heading into companies for short (often just one day) stints and assessing, troubleshooting, teaching, and helping teams manage large and/or growing codebases. This has been immensely rewarding and is exactly the kind of thing I wanted to do.
I have only worked on three development projects in the last year. One was an initial sprint’s worth of work to define and plan out architectures and strategies; another was the NHS project which was several sprint’s worth of work handled in a very satellite fashion; another is still ongoing. I’ve really enjoyed the dev work, but only because my role has, again, been very consultancy led. I’ve turned down every project that has had already-finished designs and just needed someone to build them, because that is just a fundamentally broken way of working, and something I really do not want to encourage or participate in.
A worry I’d had about stepping away from day-to-day development work and going consultancy was about falling behind the curve and losing the real-world experiences of being a developer. What ended up happening was the complete opposite: as a result of parachuting into companies for a day or two at a time I was exposed to a lot more varied and diverse problems than I would have done if I’d been working on dev projects. Spending a little bit of time with a lot of very different companies meant that I was solving more problems than ever before, and this is great news.
The types of projects and companies have been very varied as well, which is something I knew that I really wanted from day one. The reason I’ve not taken the contracting or freelance route is because I don’t want to work on the same projects for months on end at the expense of variety. I absolutely love working product, but I also wanted to use my move to self employment to get to work with a lot of different products, teams, and environments.
The lifestyle of self employment has been one of much privilege for me. I’ve travelled to—and worked from—places all over the globe. I’ve met dozens, if not hundreds of people, I’ve eaten great meals, stayed in some beautiful hotels, made new friends, experienced new cultures and places, all whilst calling it ‘work’. I honestly cannot believe that this is my job now. Sometimes I do just sit and grin to myself about how fortunate I am to get paid to do this.
That’s not to say I haven’t earned such a great job—it’s been something I’ve actively worked toward since I was 17 years old (or earlier, depending on where you draw your measurements from). I’m very aware that lifestyle isn’t immediately available to everyone, because it was never immediately available to me. It’s something I’ve had to work very, very hard at to attain, but it’s paying back tenfold. If you’re considering a move to self employment, I would advise that you lay as much groundwork as you can before you take the leap.
The work–life balance has been amazing. I’ve not had any quiet periods that I haven’t wanted to have; I’ve turned down more work than I’ve accepted, I’ve replaced quantity of work with quality. I’ve had a very relaxed lifestyle interspersed with hugely rewarding work and plenty of travel. This is something I really, really enjoy.
I had two notable discussions with friends, earlier this year, about my work. One friend asked me:
Harry, you’re always Tweeting about what a great time you’ve had with all these nice people. Are you just saying that? Surely they can’t all be great companies and people…?
I do tweet a lot about products, teams, and companies I’m working with, and it is always favourable. There are a couple of reasons I do this: one, to publicly praise the work of a particular company or team (I like to use my platform for good where I can); and two, to less altruistically but subtly promote the fact that I’m running a workshop for someone, and you could have one as well. This isn’t falsified or for the sake of appearances: it’s true. Every client and team I’ve worked with has been great. It wasn’t until I was asked this question so directly that I realised just how great my clients have been. I’m sure not everyone can say the same.
Another friend, who’s not in the industry, asked me how working for myself was
going. I answered with something along the lines of Ah it’s so much fun…
and, once I’d finished speaking, my friend just said with a genuine look of
amazement on his face:
I absolutely love that your first response to a question about work is that you’re having fun.
Again, I’d never even thought about it like that until it was pointed out. My instinctive response was about the fact that my work is a lot of fun. I didn’t mention money, or clients, or troubles; all that was on my mind was how much fun I’m having. I’m a very fortunate person.
There are downsides, though: I’ve lived out of suitcase for a year; I spend a
lot of time alone, be that travelling, hotel rooms, or dining (A table for
one, please.
is probably my most-used phrase of the year); travel is tiring
and can be very unproductive unless you force yourself to work (I send most of
my email from airports and trains); and you have to up and leave a lot of teams
and people you get really invested in. This, however, is just what comes with
the territory, I guess.
Another negative is health. Not that my work has affected my health, but it’s a lifestyle that lends itself well to unhealthy living if you’re not careful. Eating in restaurants so often means a lot of rich food (usually coupled with alcohol). Getting used to dining alone when working has found its way into my non-work life. I eat out in restaurants far too often. I’d go as far as to say that 11 meals in 15 are in restaurants, which is crazy when I stop and think about how much I used to cook, and enjoy cooking. It’s a very privileged problem to have, but it’s a problem nonetheless.
Business has been great! Really great! I’ll spare you the actual facts, figures and financials, but I did some rough calculations and worked out that I was 7.3 times more profitable being self employed than I was as a Senior Developer at Sky. Money was never a goal or key driving force in my decision to work for myself, but it’s interesting to look at how things panned out. It’s been a year free of any financial worries or concerns for the business.
It’s been a very good year for the business, and despite working far, far less than I did in full-time employment, it’s been a very financially stable year.
I’ve decided that, although the figures are really, really great, they can easily be made better. My downtime is very important to me—I don’t want to work each continuous day for weeks on end—but I probably ought to be more productive with it. I did a lot less cycling and mountaineering this year despite having an order of magnitude more available time. I didn’t waste any of that time, but I didn’t do anything particularly focussed with it. It was perhaps too leisurely (the extra weight I’ve gained is testament to that).
Also, the nature of consultancy is that it’s very inefficient. I’m the company’s single point of failure, so if I don’t work, the company doesn’t earn. Also, as I’m selling my time, and there’s only one of me, the business model currently can’t scale—I can only be in one place at one time. It might be interesting to explore ways of making CSS Wizardry Ltd. more efficient.
More of the same, please!
There are a few key points I want to address:
But other than that, I want to carry on as I am. I already have some really, really cool work/clients lined up, doing exactly what I want to be doing. This is, for now, my dream job. I’d be silly to change that.
Honestly, it’s impossible to say. Perhaps it was
All this to say: I really, really love my job.
Year one has been fantastic, and I want to extend a huge and sincere thank you to every client, every team, every individual who’s made it as fun as it has been. Thank you so much.
Here’s to Year 2.
N.B. All code can now be licensed under the permissive MIT license. Read more about licensing CSS Wizardry code samples…
Harry Roberts is an independent consultant web performance engineer. He helps companies of all shapes and sizes find and fix site speed issues.
Hi there, I’m Harry Roberts. I am an award-winning Consultant Web Performance Engineer, designer, developer, writer, and speaker from the UK. I write, Tweet, speak, and share code about measuring and improving site-speed. You should hire me.
You can now find me on Mastodon.
I help teams achieve class-leading web performance, providing consultancy, guidance, and hands-on expertise.
I specialise in tackling complex, large-scale projects where speed, scalability, and reliability are critical to success.