If you're like me, you started (or plan to start) your consulting as a side business while keeping a full-time job. This is a great way to ease in to consulting, but requires putting in long hours every day to grow your business. And doing this over an extended period of time will almost certainly lead to burnout.
How then, can you take on additional work while maintaining a high degree of quality and avoiding burnout? By effectively using subcontractors.
Find the right talent
Just like hiring a full-time employee, you have to find the right people in order to have any chance of being successful. I did this two ways:
- I had some developer friends from previous jobs that were interested in making a little extra money on the side.
- I found a few others at boston.rb, my local ruby meetup.
If you're talking with people you've never worked with, try to get a feel for their skill level, what their strengths are, and the types of things they've worked on. The beauty of using someone as a subcontractor is you can try them out to make sure they are a good fit. If things go south, you're only out the initial time investment.
Build up a network
If you have people that are doing work for you part-time, you'll have to deal with multiple schedules and scheduling issues. To help insulate yourself from potential problems, you're going to need overlap and backup. A bench, so to speak. I've found a core group of 3-4 developers works great for me.
When trying to plan a weekly project roadmap, think of subcontractor hours as about 1/4 those of a normal employee. This past year, my subcontractors averaged no more than 7.5 hours per week, and I essentially gave them freedom to work as many hours as they wanted. Remember, they have full time jobs too.
You should always be the one kicking-off the project
There are two reasons for this.
- You are the face of the business. Your clients will be talking to you, not your subcontractors.
- You can always be sure that the project management tools, initial code structure, and workflow are set up properly.
With the initial setup out of the way, you can then start divvying out the work.
Charge more than your subcontractors charge you
Never pass the cost of your subcontractor directly to the client. Always charge a markup.
Say you bill out at $150 per hour (though I recommend using weekly rates after you're established) and your subcontractor charges $100 per hour. Here's how that works for an average 7.5 hour week:
$150 x 7.5 - $100 x 7.5 = $375 / 4 management hrs = $93.75/hr
You're getting paid $93.75 per hour to do 4 hours of project management and code reviews. That being said, I almost never need the 4 hours I've allotted for this and end up spending only about 2 hours per week. That math comes out far better:
$150 x 7.5 - $100 x 7.5 = $375 / 2 management hrs = $187.50/hr
Use a good invoicing tool
I recommend Freshbooks since it has a great subcontractor feature. Subcontractors can invoice me whenever they'd like at whatever rate we've agreed to, and it all flows through to my invoices to clients at the rate that I set.
Do it all in 4 hours per week
Once you have this system set up, here's how it allows you to grow with limited time invested:
- At the beginning of the week, plan your development work for that week based on subcontractors scheduling. Each week, try to get a feel for how many hours each person thinks they can put in and compare that with the hours they actually end up working. I do this with a simple spreadsheet. (0.5 hours)
- During the week review all code and approve it before it goes into the main codebase. I do this using Github Pull Requests. The actual amount of time varies based on the feature and the skill of your subcontractors, but if you just review and offer improvement suggestions it shouldn't take up a ton of time. (1-3.5 hours)
Using subcontractors to grow your business is not without its challenges. Here are a few.
- Dealing with schedules. If someone doesn't come through, it all falls back on you. Because of this it's extremely important to not overbook yourself.
- Dealing with turn-over. Subcontractors by nature are not as stable as full-time employees. There is no guarantee how long someone will be available to you.
- Development work is done nights and weekends. I've never had this be an issue with any of my clients, but it's something to note. As long as your accessible to them via email and phone during the day you should not run into any problems.
Subcontractors are one of the many ways that allowed me to make the jump from part-time to running echobind full-time. By slowly taking on client work and using subcontractors to fill in the gaps, you'll be able to build up a financial runway and enough of a project pipeline to transition to consulting full-time. I'll explain this in more detail - including when to make the jump - in future posts. Here's to growth!
Learned something new?
Get my best development advice (almost) every week, right in your inbox.Join Level Up