Friends often ask me about my business: how it’s going, how I like it, what are the perks, what are the drawbacks, etc. Whenever I answer these questions, I’m always reminded of the fact that I’m still figuring things out, still learning ways in which to maximize the pros and minimize the cons. I usually take a few moments to reevaluate my feelings on the matter, but I always return to the same conclusion: despite its challenges, freelance software engineering is worth every second.
A little over three years ago I made the leap from being a full-time employee at a local software engineering company to being a full-time independent contractor. Let me tell you: it was a difficult leap to take! Leading up to the decision I was filled with insecurity about whether or not it was the right course of action. On the one hand, I had the security of a well-paying job and a friendly environment. On the other hand, I had a deep desire to be my own boss and decide for myself how to spend my creative energy. Although I had some security in knowing that I had a couple of contracts lined up, I still felt torn. Would I regret my decision once those contracts ended? Where would I get more work?
After some deliberation and much encouragement from friends and family, I made the call and gave my two weeks notice. One can’t be successful without at least trying! To this day, I am very happy with my decision.
As with most things in life, the trick to being successful as a freelancer comes down to understanding its advantages and disadvantages. For me, the advantages are priceless. I’m able to…
- Choose my projects
- Set my pay grade
- Set my schedule
- Travel and work remotely
- Be an equal, not a subordinate
- Maintain a sense of independence
Of course, all of the items I just listed exist within the limits of whatever individual contracts I’m bound by – but as a professional contractor I have a greater degree of control over their terms than your average corporate employee. It’s heaven.
The biggest trade-off: one must wear many hats as a freelancer. Not only am I responsible for fulfilling the requirements set by my current client, but I am also responsible for maintaining a constant stream of clients and, thus, work. This means that at any given time, I must be able to perform as an engineer, a manager, a marketer, a tax specialist, or an amateur lawyer. It is challenging and the learning curve can a steep one. But it is a necessary part of the job.
Fortunately, there are ways of minimizing this overhead. For example, taxes being the uber-complicated mess that they are, I’ve found it worthwhile to simply pay an accredited business tax specialist to handle things. It beats wasting time on them myself and probably screwing it all up. Same thing with legal matters: for complicated contracts, suck it up and pay a lawyer. That being said, there is also the inexpensive option offered by online legal services such as Nolo. I have, on occasion, bought simple contract templates online and then modified them for my own use.
When it comes to trying to minimize marketing overhead, there’s the Toptal Web Developers Community, an online networking service that acts as a broker for clients and contractors. The objective of the service is to provide clients with a large selection of highly qualified contractors to work on their project. The process begins when a contractor, such as myself, approaches Toptal seeking new clients. Toptal then vets the contractor and adds him/ her to their list along with any supporting information. Finally, when company X comes along needing a senior Python developer, Toptal is able to offer them several high-quality options. It’s a win-win for everyone: clients have a higher probability of project success; contractors get a steady supply of work. For me it is perfect because it allows me to worry less about where my next contract is coming from.
All in all, freelancing is well worth it. The perks of breaking off from the mainstream, quitting that corporate job, and taking the leap into the world of independent contracting are enormous. The freedom and control gained is wonderful. The downside is that one must wear many hats as a freelancer – but that’s not so bad if you do everything possible to minimize the annoying overhead. Just take advantage of the services available!