How do I get started with contracting?
Once you’re familiar with what software contracting entails, you might be wondering how to get started. Every path to software contracting is unique in its own way. Here, I’ll share with you how I personally got started.
A lot of the concrete information mentioned in this post is UK-related. Even if you’re not based in the UK, I hope you find the more general aspects of contracting useful.
How to get started?
Before I got started with software contracting, I worked several years as a software engineer, technical lead, technical co-founder and CTO. During the course of my career, I worked at small and big companies, ranging from startups with just two employees to larger companies with over 1,000 employees. I was also lucky to be part of a couple of startup accelerator communities. Each step of the way, I met colleagues and friends I’ve stayed in touch with.
The very first time I started contracting, I got my first lead through a friend and ex-colleague. The second time around (after working full-time for a couple of years), I had a few friends willing to have me work at their businesses. All of these arrangements happened very naturally: I was leaving full-time employment and when I mentioned it to my friends and ex-colleagues, I discovered that they were open to have me join their teams as a contractor. Good relationships can lead to future opportunities! While I was lucky to find my first contract without much effort, a more realistic expectation is to need to do a little bit of lead generation.
My first contract job
The first job is probably the most time-consuming, in terms of admin work and learning the ropes. The practical steps I took to getting started are largely covered by Tadas’s Switching to Contracting UK guide on Github. But I share below the motions I personally went through for my first contract job.
- 💵 Set a daily rate: One of the first things I needed to do was set a price on my time. How much is my time worth? How much does the median contractor charge in my area of expertise? These were some of the questions I thought about before arriving at my daily rate. It’s one of the first questions clients ask, so I made sure to have it ready!
- 💬 Discuss your contract work: I arranged a chat with my potential client to get a sense for what they needed. Their success is my success, so I tried to understand what their goals were, for the near and medium-term future. I also familiarised myself with their expectations (important to manage expectations that are unrealistic). I asked about their tech stack and how they communicate. I got to know how the company operated to see how I’d fit in and add value. This was also when I let my client know that I was only available for 2–3 days per week (as I wanted to use the other days of the week to work on my projects). Once I was comfortable with what I learned, I agreed to contract for them.
- 🔤 Pick a company name: Probably the most interesting aspect of company incorporation. Pick a name that’s not already taken and one that’s not likely to cause trademarking issues. I tried various names, checked them against the public Companies House register and finally arrived at a name I was happy with.
- 🏢 Incorporate a company: I had my limited incorporated by a formation company for ~£150 but, in hindsight, I could have had my accountant take care of it (see below) or done it myself. It’s quite simple if you know what you’re doing and you can do it for as little as ~£20 via Companies House. You’ll need two addresses: your Directors Service Address and Registered Office Address. My company formation agent gave me a Directors Service Address but I could have simply gotten a virtual office address (e.g. Hoxton Mix). My Registered Office Address was changed to my accountant’s shortly after incorporation, so I didn’t need the company formation agent at all in hindsight.
- ⛑ Get business insurance: Professional Indemnity insurance is a must to protect your business in case you cost the client because of negligence (e.g. data was deleted by mistake). But you’ll often want to get it with Public Liability and Employers Liability too. I got coverage for all three through a deal that my accountant offered. If you’re looking for insurance options, there are online resources to help you: Money Supermarket as well as Simply Business. You can expect to pay upwards of ~£260 per year for Professional Indemnity, Public Liability and Employers Liability.
- 🖋 Sign the contract: I wasted time looking for a perfect Software Development Agreement but realised I didn’t need one because clients usually produce their own agreement and my client had a standard contract from SeedLegals. Still, I made sure to read it properly (and so should you)!
- 💼 Start work: With business insurance and an agreement in place, I got started within a couple of weeks. I got to know the new work colleagues and their processes. Learning about how they got work done helped me understand how I needed to communicate and deliver.
- 🔢 Get an accountant: I had a lot of silly questions. How do I set up invoices? How do I file expenses? Crunch accounting helped me out here and I had a helpline I could call when I needed help with accounting, self-assessment, etc. Their platform is easy to use and gets the job done. If you’re interested in Crunch accounting, here’s my affiliate link to Crunch accounting where we both get Amazon vouchers. Once you feel comfortable with accounting and/or you feel you can manage it by yourself, you can use Xero, Sage, Quikbooks, etc. Personally, I prefer to outsource my accounting.
- 🏦 Get a business bank account: I needed a business bank account fairly quickly as I wanted to issue my first invoice after my first month contracting. I lost my patience with my first bank application, as they took weeks to respond and failed to set me up even after a visit at the bank. So I set up with a different bank that got me started very quickly. Whichever bank you choose, make sure they’re regulated, their customer service is good and that you can set up online. Challenger banks like Monzo, Starling and Metro Bank score quite well here. One other consideration: if you have an accountant/accounting software, see if they have an integration with the bank. This can make accounting — reconciling your accounts — much easier!
- 🧾 Keep receipts: During company formation, a lot of things were paid for with my personal credit/debit card. They can be filed as expenses, so I kept the receipts! Later, I attached the receipts to expenses filed in my accounting software. Once I had positive cash flow in my business bank account, I reimbursed myself (by doing what’s called a Director’s Withdrawal).
- 🧾 Invoice your client: Ask your client if it’s ok to invoice at the end of each month towards the beginning or even before you start your contract. I didn’t think to do this for my first contract and ended up invoicing when the contract finished (two months) but for clients since I’ve always made sure to invoice at the end of each month. This has significantly helped manage my cashflow! The invoice was created with my accounting software, Crunch accounting.
- 💵 Pay yourself: Once I had payroll set up with a salary that my accountant recommended, I had a monthly schedule to pay myself. Of course, as your business starts making profits, you can also consider paying yourself a dividend, which is a more tax efficient way to pay yourself as a director.
Lots of admin work! But the good news is that most of it is one-off and you’ll get into the rhythm of contracting and invoicing as you take on more contract jobs.
Second job and beyond
After my first contract job, I had my limited company go into dormancy to return to full-time employment. A couple of years later, I decided to return to contract work, so re-activated my limited company. Luckily, I had three potential clients who were offering me work. One had a short-term deadline; the other two were willing to arrange a part-time schedule. So, I was able to arrange it so that I’d start with the short-term job and, once it was finished, take on the longer-term jobs on a 2–3 day schedule. With a lot of the admin and accounting set up from my first stint at contracting, I was able to focus on contracting from the get-go.
Tips to help you get started
While my first contracts worked out well, there were a few areas where I could have done better or saved time. Here are some of my personal lessons and tips for your first contract:
- 💪 Know what your strengths are: Expertise takes years to accumulate. Experience comes only through prior work. By knowing what you’re good at and building a personal brand around it, selling yourself for software contracting becomes easier.
- 🕸 Your network is your best source for contracting: I’m not saying network for the sake of networking. What I mean is building genuine relationships that take years. Colleagues and friends I met and hung out with for a long time before I started contracting were the first ones to offer work or contacts when I needed it. On the flipside, I prioritised them over other potential clients as I was more confident about working with people I already knew. Also, you don’t need to interview with people you already know. If there’s noone in the immediate network offering work, see if they might know of opportunities. Warm intros are often better than going via agencies.
- 😟 Don’t fret about incorporation: Incorporating was a mystery to me but it’s actually pretty easy in hindsight. Also, I could have saved some money on incorporation (~£150), if I had asked my accountant to incorporate for me. I could also have used my accountant’s address for my Registered Office Address for free. 🤦♂️
- 🤔 Make sure you know what you want: What do you want to get out of contracting? For me, it was to support my indie making and project work. In arriving at my daily rate, I was also pricing my time away from my project work. Make sure to know how many days per week you’re comfortable contracting for and what your daily rate should be.
- 💻 Get a company laptop: While I was able to work with my personal laptop in my first stint, I can’t be happier about having a separate laptop for contract work. All those VMs, code repos (not least, node modules!) and apps that you install for client work take up a lot of space, so it’s worth re-investing some of your profits towards a company laptop, once you have positive cashflow.
Of course, there are far more things I could cover here but I’ll save them for a future post!
Thank you
Thanks for reading this blogpost. 😊
If you have any thoughts or questions, please do share them with me at mario@contracto.dev. Every comment is important to me, as it will help improve my writing and give you a say in the topics I write about!