Top 10 tips for contractors

Here are my top 10 tips for contractors. I’ve been lucky enough to be contracting now for over 10 years, working with a number of great clients. Over that time I have learnt that there are a couple of tips that I feel contractors should know. They are:

1. Have good interpersonal skills – no matter what tech stack you work with or the type of companies you work with. One thing that you will always work with is other people. You may think that you can just sit at your computer and write the best code ever without being disturbed, but that won’t happen. You need to work with others, discuss ideas with others, listen and maybe advise on how to solve problems at work, maybe help developers who are just starting in their career. You will need to be able to speak to stakeholders and project managers, explaining what it is you are doing, and the most important reason you need to have good interpersonal skills is you need to come across well in the interview. Usually the interview stage can be a one step process so you have that one chance to convince the client that not only can you help them but you will fit within their team.

2. Be good at communicating – this is related to the first tip, showing how important I feel it is, but being good at communicating is essential. You need to be able to speak to all the members of the team you’ve joined, explaining how you are going to solve their problems. You need to show that you are engaged and enthusiastic about the project and the work and this is done through how you communicate with the team. Engaging in meetings, being happy to talk to non-technical team members all help show that you are a real part of the team, even though this maybe be for a short while. I’ve found that contractors who are good at communicating usually get their contracts renewed and other members of the team enjoy working with.

3. Always be learning and willing to learn – while soft skills are extremely important the technical skills you have are as important. If you can’t do the job you’ll soon be found out and the contract will end. A big part of contracting is keeping your skills up to speed, meaning you know about the latest techniques, you have the skills you say you have (there is nothing worse than a contractor who has lied on a CV and can clearly not do what they said). You also need to be willing to learn from others while working on a contract, don’t expect to expect your ‘way’ of doing things (how you build an Angular app for example) be the only way things should be done, yes you have been brought in to help the client but this may be on an existing project and you need to learn and adapt to how things are done. You can’t rewrite everything just because it’s done differently.

4. Be flexible in your approach to work – this, again, is related to the previous point. As a contractor you are basically brought into a project to provide skills that a team currently doesn’t have or augment a team working on a project. If you are there to provide skills that a team doesn’t have chances are you will be working on the part of the tech stack no one else is working on. So you can then approach the work the best way as you see it, that’s why you are there. If you join a team to augment it then you need to be flexible in your approach to work to fit with the team as they are now.

5. Treat contracting as a business – while contracting can lead to working with a client for months at a time, you aren’t a full-time member of staff and you need to treat your contracting as a business. That means you need to keep on top of invoices, submit timesheets on time, email recruitment agencies, keep your accounts up to date, and pay your taxes on time. You also need to work on promoting your business, making sure that your staff (which is you) is paid on time. There is a lot more to contracting than just the coding so see it as a business that you are the owner, the CEO and a member of the staff.

6. Work with agencies, but don’t be completely reliant on them – working with recruitment agencies is a big part of contracting. It will be, at the start, the only way you get work. There are a lot of negative things said about recruiters, but as long as you realise that they are trying to make money for themselves as part of their business and that it is just a business then you shouldn’t have any problems with them. All they want is to see if you have the skills and experience to fit the job spec they have, if you don’t or the client thinks you don’t then they will move onto the next application. Communication is usually one way, you send your CV and wait. If you hear nothing, don’t wait before moving on to the next application. Unfortunately applying for contracts is a numbers game you need to keep applying and if you do fit a role the recruiter will work with you. This doesn’t mean that recruiters are the only way to find work, staying in contact with old clients helps (again these communication and interpersonal skills come in handy) being part of freelancing and the wider tech community can lead to work. Also open source development can lead to work, but this is a long process. So while at first recruiters are the main way of getting work, as a business owner you need to work on the longer game and how you can get work via other methods.

7. Use downtime to learn and develop your skills and business – there will be time when you finish one contract and there isn’t a new one ready to go. This happens, but this time can be used productively. Obviously you will be looking for the next role, but you can also start learning something new, something you’ve seen that you’d like to know more about, something that may eventually lead to a new tech stack to contract in. Or spend the time writing blog posts or eBooks if that’s something you’ve ever wanted to do. Take the time to get organised ready for the next contract, get all your paperwork in order, emails sent, things you planned to do around the house or conference talks you always planned to watch. Anything that helps grow your skills and your business so you are ready to go when the next contract comes around.

8. Help other contractors, they may help you – as you go through your contracting career you will work with other contractors, and it’s always important to stay in contact with them (LinkedIn is ideal for this). If you are contacted about a role that you might not be suitable for but you know someone else who might be. Then put them in contact with the recruiter, it may work out or not, but helping others means that if they see a role you are suitable for they will think of you. This can lead to another way of getting contracts. While contractors are independent doesn’t mean we can’t work together and help one another.

9. Get an accountant – seriously, get an accountant. You might be the best developer or project manager in the land, but when it comes to the finances of your business you need an accountant to guide you through the complex landscape of tax. It’s too much to know all about the things you do, stay on top of the business side of things and be able to do the work an accountant can do for you so you need one. If however you feel the accountant isn’t providing the advice you need, especially at the start of your contracting career, make sure you have one that does even if this means changing accountant. Remember they work for you, you are paying them, so they need to help you, answer your questions, explain things to you to keep everything on track financially as you will have to pay taxes.

10. Eventually focus on one area to specialise in – as time goes by in your contracting career you will need to think about specialising in a certain area. For example, I work with Angular and other developers work with React or Vue. You need to have a skillset that you are known for, so when someone is looking for a contractor to fill a need they have then your name is top of the list. This specialism also means that you can focus on that, learn more about that than other technologies, you can be an expert in everything. Specialising allows you to market yourself around it, for example you can say ‘I am a Go developer’ or a ‘AWS developer’ this can then lead to specialising further to ‘I am an AWS developer working in the communication sector’ or ‘I am a Go developer specialising in API development for large enterprises companies’ or ‘I am an Angular developer who help companies upgrade their projects and architecture allowing new features to be easily developed ‘. Specialising isn’t something you can start with if you are new in your career as a developer, but if you have been a developer for a while and have experience in the area you are going to specialise in, if you start contracting then you can set yourself up as a specialist from the start. This can lead to people being able to find you, know what you offer and know that you are right for their project.

So this is a top 10 list of things I think you need as a contractor. There probably are more I could come up with and more I could go into depth on these, but if you are thinking about contracting then these are somethings I think you should consider.

  1. Have good interpersonal skills
  2. Be good at communicating
  3. Always be learning and willing to learn
  4. Be flexible in your approach  to work
  5. Treat contracting as a business
  6. Work with agencies but don’t be completely reliant on them 
  7. Use downtime to learn and develop your skills and business 
  8. Help other contractors, they may help you
  9. Get an accountant
  10. Eventually focus on one area to specialise in

Contractor Chronicles 3

This week was spent working on the maintenance of an existing Angular application, which has been recently updated to Angular 15.

The upgrade was fairly easy, Angular and the Angular CLI make upgrading between versions so easy. It was something I missed when working with Vue. I know that the Vue CLI does have a way of upgrading, but with the Angular CLI being a bit more mature I find the upgrade process far more straightforward.

I also spent a bit of time watching a live Twitch stream of Josh Goldberg (he’s a full-time open-source developer, who specialises in Typescript), in this stream he was reviewing a pull request to a Typescript project Typescript-ESLint, which is a library for adding linting for Typescript to ESLint.

Linting is a way of checking for bad practices in your code, it is a set of rules for JavaScript. This Typescript-ESLint project adds rules for Typescript to ESLint.

As I mentioned in earlier Contractor Chronicles I said I was looking for an open-source Typescript project to get involved in and I started to look more and more into this Typescript ESLint project and get involved in the project.

So this week I spent a bit more time looking at this project and after watching the Twitch Stream of Josh’s I’m starting to understand how the project works and hopefully soon I can start contributing to the project.

Finally, I spent some time going through a plan for the rest of the year, breaking down some goals I have for the years into projects. Then using the PARA method to organise these projects and goals.

IR35 and it’s possible effect

IR35 is looming over all contractors in the uk, it could be in place in April 2020, and there no doubt if it does come into full effect, then it will change how contractors operate.

For those who don’t know about IR35 then it is new legislation where the uk government is trying to stop those contractors who have been working as full time employees but still being paid on a contractor rate.

The idea is that if you have a contract where you are employed to work for a firm in a role where a full time employee could actually do the role, the. You as the contractor needs to prove that your contract is actually outside the IR35 guidelines. If it falls within. The IR35 rules then you will have to pay the same level as tax that a permanent employee pays.

This is a high level overview of IR35 it is worth really looking into the official government websites in order to find out more about IR35.

How IR35 could change how I work

For me if the IR35 rules do become law then it will change how I currently work. I would have to only take on contracts where it is clearly set out what the project is be working on and when it is expected to finish, to show that I am only employed to work on that project. Another way to show that the contract is outside IR35 I’d need to show that I’m not needed to work onsite, instead I’ve been employed to work as a consultant on a single project, and it’s up to me on how and where I work on this project. So if I want I could say that I work only from my home office or a specific work space. I’ll also need to show that I’m using my own equipment to work on this project, though I could see this being an issue for some large organisations where for security reasons they want people working on their projects to use equipment the company provides.

These changes, aren’t to much of a change for how I currently work, I think it makes me work in more of a freelance working model than a contractors who just works as a extra resource for a company who comes into the office day to day and just works on the same project.

How will this be effecting recruitment agencies

If IR35 does come in it could have some serious changes to how recruitment agencies work. They will have to now find developers who can work on a project instead of getting in an extra resource for a company. It will be interesting to see how they will be changing or will they leave the contractor market altogether and just concentrate on sourcing full time employees?

The contracting market is going to be interesting in the coming months, does this mean I’m looking to go permanent? Well, no. I enjoy working for myself and if the IR35 rules are changing to me needed to work more as a project specialist then that suits me.

I enjoy working on Angular and Angular based project, so if you are looking for an Angular specialist to work on your next web application project, feel free to contact me.