In February of this year, I left academia (read more about my reasons in the accompanying blog post) to start a new life as an independent engineer, or simply freelancer, if you will. In this post, I would like to summarise the lessons I’ve learnt so far. Also, because of my strong nerdtastic tendencies, I will write a separate post talking about the various tools of the trade, software and hardware, that I’ve found useful.
First of all: Having the illusion of being independent is exhilarating. I still get up early in the mornings, sometimes even before the rest of the family to put some extra time into side-projects, and I start the rest of my work program, fully dressed, at a more or less normal time. I still work the whole day, and I still spend some evenings and weekends tinkering. Sometimes I even experience deadline stress. However, the perception that I’m doing all of this directly for the people that find my work useful enough to pay for it, and that in theory I can choose for whom I do this and how I do it, is awesome.
The little things also make a difference. When there’s someone interesting in town, or slightly out of town, a breakfast or lunch is absolutely justified. If I feel like going to work in a cafe somewhere, I do so. I’m making good progress on getting rid of those deeply-ingrained employer-directed guilt pangs. Knowing that I always end up doing the time (or rather generating the value) helps much.
Oh yes, I also get to buy toys. For my business.
One of the most challenging exercises when starting out as an independent contractor / consultant is setting your price. I think I must have scanned the whole internet when doing research on this. Talking to other similarly skilled engineers helped the most. (ping me privately if you need advice with hard figures) Part of the problem is that each freelancer has different value-generating capabilities, and has a different estimation of their value generating potential. My short time in industry working with some kick-ass engineers, followed by more than a decade in an application-oriented scientific setting (and one that’s all about dealing with data!) working with some really clever people (and a bit of industry), together with genetically advanced verbal circuits, means I can build theoretically advanced software systems that solve practical problems in a robust fashion, and, importantly, that I can explain how and why they’re valuable. (See what I did there? :)
There are two practical tips that I would like to give here:
- Quote and charge per day. For any worth-while project, you’re going to be putting full-time days into it, not hours.
- More importantly: You can easily give special discount on your rates, but clients don’t like it if you become more expensive all of a sudden.
I’m currently running two longer term projects that fill up all of my time. In both cases I have arranged with my clients that I do my best to spend N days per week. If I spend fewer than that (for example due to vacation), I charge them pro rata less. If I manage to spend more, that’s their free bonus.
This leads me to my next tip, which is something that I learnt from A Very Flat Cat, a very special mentor and friend of mine.
It’s one of those guidelines that one has to strive for. The first one helps to compensate for the planning fallacy, the cognitive bias that makes us all underestimate the time we need to complete a task. Importantly, it helps with the second part: Deliver your project either slightly ahead of time or over specification. In other words, try to surprise your client with even more value than they thought they were going to get.
It’s only been 5 months, but one has to start thinking about one’s long term vision as an independent. Working on client projects is huge fun, and it even pays the bills, but these same techniques could be used to work on one’s own product or service. Ideally, one is able to come up with a product or service that is found useful by a large enough group of people so that a sustainable business can be built around that product or service. Fortunately, the internet / software engineering / data universe is exploding with possibilities, and is set to continue doing so for the coming decades.
I’ve mentioned before the importance of doing something meaningful. If your goal is to be sustainably happy, this is still just as important. When wrapping up your work for the day, or the night, it’s important to have the feeling that what you’ve done has the potential to make a positive impact on the world around you. My advice here also is not to be too ambitious. (Oh wait, I have a post about that too!) Even if your work, or your open source side project, has a positive effect on only one other person, you’ve done a good job. Besides selecting one’s projects based on this, the meaningfulness of one’s activities can be further increased by putting effort into open source, or into educational activities.
That’s it for this chapter of Freelancing for Dummies! Let me know in the comments if there’s anything else you’d like to discuss.
(I seem to have forgotten everything I read in Writing Blog Post Conclusions for Dummies.)