I do not believe many people are talking about this ¯\_(ツ)_/¯
I’ve written previously about some of the benefits of being a contract software developer; in some circles referred to as a mercenary software developer. The secret is to niche into sub-contracting with a software agency.
I often hear confusion regarding the terms freelance software developer and (sub-)contract software developer. My own definition is pretty simple:
A freelancer bids on a project, produces the deliverables, then walks away. The freelancer may be allowed to bid on subsequent projects with some preference or may be awarded the project without bidding. Pay is directed to the freelancer’s SSN (social security number).
A sub-contractor, instead of bidding, specifies an hourly bill rate. Then there is a discussion about the types of technology used on the project in contrast with the contractor’s skillset as well as a discussion around team dynamics to ensure the sub-contractor will mesh well with the existing team.
This is not an interview. This is a high-level technical discussion between professionals. It is assumed that the contractor knows the technologies listed on their resume to at least a modest degree or can get up to speed quickly.
If this discussion goes well, an NDA (non-disclosure agreement) and a contractor agreement must be signed. Billable hours and approximate meeting times and project duration are then discussed.
In my experience, the projects worth accepting will guarantee a minimum of 90 days, 20 billable hours per week (up to 40), every week, until the specified end date. Billing terms may be net 7, 14, or 30.
The Non-Disclosure agreement can be summed up simply as a contract that specifies that the contractor will not steal the client’s IP, ideas or customers.
There is a very vocal community of freelancers that do not believe in signing NDA’s. I strongly believe these freelancers suffer from short-term thinking and are leaving a significant amount of money on the table.
In with contract work less time is spent doing the following things:
- Preparing proposals & bids (freelancer)
- Interviews, Take-Home Projects, Onboarding (full-time)
Between interviews and onboarding, the time spent can account for 40+ hours. You have to account for all the time spent working out interview times over email (I currently use calendly for this).
You have to account for the time spent on offers that didn’t come in, the offers that did come in but you didn’t love enough to accept, and then the offer you accept, you’ve still got hours of onboarding to do internally with HR.
The hours you win back can be allocated other income sources or living your life.
For software developers, contract rates between $85/hr and $250 are perfectly normal and expected. If you’ve never billed hourly, then start on the low end and work up as you gain more clients and experience. I can even see going down to $65 per hour if you have little to no experience or are feeling a bit of imposter syndrome. Keep in mind, you may find that you can earn $20 more per hour if you do the work to fix whatever is holding you back from charging at least the minimum your skills are worth.
A discussion about rates is not complete without a bit of math. Billing the minimum number of hours (20) at the minimum billing rate for a novice ($65), per week, you are invoicing $1300 ($65 * 20 = 1300). Billing $1300 per week ($5,200 monthly) isn’t bad for 20 hours of inexperienced work.
Bill through your LLC
Billing through an LLC has three benefits.
- Structuring as an LLC adds a level of organization and professionalism that will go a long way toward landing you better clients. A more professional organization is going to prefer a brand, even if that brand is a single developer.
- You can optimize your personal income and thus, your tax rate. Also, take advantage of all tax breaks possible.
- It forces you to level up your financial education. The lessons you’ll learn setting up and maintaining a real business are priceless and will pay dividends (no pun intended) long term.
There are lots of ways to prepare and send invoices to clients; however, I’ve had a lot of success over the years with harvest. As a side-note, I’d love to see something like harvest that allows cryptocurrency payments.
The secret sauce to finding agencies to join
An agency is a collection of developers operating under a single brand. This allows individuals to tap into the knowledge and gain mentorship within the agency while also building their own personal brand. Where do we find these unicorns?:
- Technical Slack Teams
- Stackoverflow Jobs
- Facebook groups (I’ve heard; but I don’t do facebook)
I’ve been a full-time software engineer working directly for an employer, I’ve contracted through large recruiting firms like TEKsystems, and I’ve sub-contracted through small agencies. As an entrepreneurship-first software developer, I see sub-contracting to be best, especially for digital nomads.
I suspect more digital nomads are sub-contracting. Writing this article gives the urge to search for more people writing about this. I’ll write more on this topic depending on what I find. I hope this helps.