Many of us dream someday of freelancing and living a ... less restrictive? ... lifestyle. But is it truly the best option? I freelanced for 7 years before the Credit Crunch killed my business. Looking back, here are a few of the questions I've been asked about freelancing.
Is it better to freelance?
Is it better to freelance, or to work full time at one company? I think in a lot of ways, it is better to freelance. It does depend on your personality: are you risk averse, or do you mind living off your wits a little?
I freelanced for a number of years, and it went OK. It provided about enough to support my wife and I until the 2008 recession hit … then it got bad really quickly. I used up all of our savings within the first year and had to find alternative employment. For myself, I don’t think I’d consider it now, but that’s mostly because I have 3 young kids to support. However, once they’ve grown up I’d really like to go back to it.
Do I need to be experienced?
I would say don’t worry about your experience level. The hardest thing to learn is how to manage business relationships, not how to code, and you can only learn both by practice … so I don’t think you need to worry too much, especially if you’re already building things so you have a portfolio (ie you can prove you can do what you're saying).
When I started web development, it was a little bit by accident: I started a graphic design business, but one of my first clients wanted a website as well as branding. So I charged a small fee and learnt as I went, without having a clue how to do it.
I didn't make any money, but I learned enough to get more web development work off the back of that, and building my own site.
Should I find a niche or generalise?
There are a lot of generalists in the freelance world: people who can work with multiple languages, turn their hand to many different things ... and there are those who specialise in a niche and get work from being specialists in the one subject.
Finding a niche is quite valuable, but there are hazards too. If your niche dries up, then you’re going to have to pivot rather quickly onto another skill. But some niches can be very lucrative, for example I recently read that some government / industrial projects are still hiring FORTRAN developers. That blew my mind.
If you maintain a generalist approach, you can turn your hand to most things. And that means you might be able to afford to be more selective in who you work with.
What tech stack should I use?
There's no right answer to this one either, if I were to freelance and manage my own clients today, I’d probably do the following:
- Make a standard frontend that I can fork and iterate on quickly, probably leaning on an existing library to do the heavy lifting. I’d probably use Gatsby because I’m familiar with it and it has a great plugin ecosystem.
- Set up a multi-tenant backend so that I have only 1 codebase to maintain and keep my clients happy. I can’t decide how to do this ... it needs to be something that supports multiple tenants, so that might be a bit complex. I’d likely use Strapi or Webiny, or perhaps even a paid platform such as DatoCMS or Sanity to start with, until I’m confident in my own platform
- Set up monitoring and analytics tools on my own platforms using open source software so I can keep an eye on what’s going on without paying too much for it.
Contracting or freelancing?
I guess there’s broadly 2 types of freelancing open to developers:
a) Building websites for clients directly b) Contracting
With contracting, you’re able to keep your hands on the tools, so to speak. But if you are building websites for clients, your primary concern is marketing, building your reputation, and keeping them happy. That involves certain sacrifices, though there’s more chance of “money on a sunday” from that one.
What I mean by “money on a sunday” is that you can charge monthly fees for maintenance and hosting, and therefore you’ll be earning money when you’re not working (on Sundays!). That can become very lucrative. I know someone who makes 40% of their business income from those regular fees, and can afford to not take any more new clients on if they wanted to.
So there’s no clear cut answer … and you could do both: have a few clients and contract in between. It could mean that sometimes you’re working all hours because you need to keep clients happy as well as keep your obligations to your contract firm.
- Build your network quickly. Start as soon as possible. Use a small business network to get a foothold, connect with businesses on LinkedIn, canvass among businesses locally. Anything to get you connected.
- Get in touch with some good designers who are in need of developers. Quite often they are better at marketing and can pass you referrals if you do them favours in return.
- Advertise, advertise, advertise! Don't stop writing or producing content like podcasts, blog posts, vLogs ... be careful that doesn't take up too much of your time but you'll be more respected and likely get more work because of that.
- Build in a hosting and maintenance model for residual income. All technology needs to be maintained, if it isn't it'll break down sooner than it should. Sell that idea to your customers. If you can aim to get 20-40% of revenue this way, your life will be much easier.
- Build in a support model. Clients will often come to you for small updates or content updates (even if they have a cms!), because either they don't have the skill or the time to do it. Arrange a regular fee for those who come to you on this basis. And charge a high minimum 1-hour fee for those who don't (to push them towards the regular maintenance).
- Hire an accountant as soon as you can afford to do so. They can keep on top of things like taxes, late invoices and they'll find out where you can claim or save money.
That's it! At least, I can't think of anything else right now ... I hope that's useful to someone.