Becoming a Better Freelancer

8 minute read Published

Avoid making the same mistakes I did when you start freelancing.
Table of Contents

Shortly after leaving a six-figure job to gain my independence I found myself scrambling for work. I wasn’t sure who my ideal clients were, and that lead me learn a few hard lessons early on. In this post I will explain the mistakes made and the lessons I learned as a result. I will then share a book I’m reading, and how it can help you avoid my mistakes to become a better freelancer.

Lesson 1: Set Clear Expectations

My first lesson was from my first potential client, a Chicago-based vinyl distributor specializing in electronic music — who was in sore need of a new e-commerce website for their business. Their website, running an older version of Magento, was slow, unresponsive and crippled. I knew I could improve things — I was confident of it.

After signing an NDA I spent several hours over the next couple weeks making trips to the distribution facility. I studied the current systems and workflows to understand how they could be improved. I considered the fact the distributor was limping along, and quickly realized if I made any changes to improve things the way they were I would own those changes and possibly begin limping along with it. That’s when I realized I shouldn’t touch anything without first limiting my liability.

After protecting my personal finances by organizing an LLC I drew up a contract and ran it by the client. That’s when the turbulence started.

The first contract would result in work the client was not in favor of paying. Turns out my years of experience were working against me with regard to how much I charged per hour. And the client wanted me to ballpark the amount of work needed which I explained was something I couldn’t do at that point.

To help address the client’s cost concerns I drew up a second contract which would allow me to build a passive income in the overall cost-savings I could create building them new website. But as soon as the client saw I could save them nearly $100/month on Magento hosting costs they quickly backpedaled and suggested they could make those changes themselves, reducing the value of my proposed contract into oblivion.

After the sales process, systems analysis, LLC formation and contracts I had lost a month and didn’t have a penny to show for it. It was at that point I informed the client I would not be able to work with them. They were a little miffed, but ultimately the whole thing was a good learning experience for both parties. They understood what needed to change, and I learned to be more clear about setting expectations early on.

Lesson 2: Cut Your Losses Short

My second lesson wasn’t from a client at all. It was a potential opportunity to take a leadership position at a Boston startup. Or at least that’s what I thought starting out. But I found out later I’d been mislead.

Upon taking up work with the startup they explained they were looking for someone to lead their tech team in building a React Native app, something I already had experience with given my 12 years in the tech industry and the experience I gained building the Lumpen Radio App.

I felt the company had a good chance of getting funded and so I proved my worth with a coding challenge, signed another NDA and began leading two software engineers to build the app. During this time I worked with the founder to clearly define a milestone with which we would use to make a decision as to whether or not I was a good fit for the job. And I went to work.

After quickly observing the communication problems between the founder and the engineers I took over and began wearing the hat of product owner. I set up a Trello board, translated requirements into technical specs and chipped in on the development whenever I could. I added massive value and hit the milestone within one month.

That’s when I put my foot down and stopped working until a hire decision was made. And that’s when I found out, as a good friend says, the difference between expectation and reality.

I was offered a salary, and shares with the startup. But only half the shares initially used to lure me into the position. After some negotiation the rub came when I discovered the founder didn’t want to hand out any additional leadership positions. I would join the company and become JAP. And that simply wouldn’t do. And I knew it, because this wasn’t my first rodeo.

The fate of a JAP is one in which they do the hard work, build a “just good enough” system to get the company off the ground, and then are basically forced out of the company by hires above and around them. The original systems which bring a company to life turn into a thing of pity by snooty newhires certain they can do better. But I was smart enough not to let that happen (again).

Though I learned another hard lesson, I gained a new friend—one of the developers I mentored—of whom I hold in high regard and continue to converse with on a regular basis. Unfortunately I will not be able to make business with them for some time based on the terms of the NDA. But that’s cool with me because I learned to cut my losses short.

Lesson 3: Avoid Serving Multiple Masters

My third lesson came when another startup—this one from Chicago—approached me about working with them to help build their business. Like many startups they were struggling to find experienced tech talent, and were already soured from a project delay and money they’d paid working with a California-based company to build their tech product near-shore.

To help them avoid another large capital investment I priced myself at an hourly rate, and explained straight away the benefits I could bring to their business. They agreed to my rate and everything sounded good. I got to work right away adding value.

I worked primarily with one of the two founders, and continually showed them my work as I started building a scalable React Native app. Everything was good, until my second AND CO invoice came. It was paid immediately by one of the founders. But within a day of collecting payment I received a call at 9pm. Two of the founders were on the line.

During our discussion I explained the system I built consisted of both the app and a scalable CI solution using Buddybuild making it possible to get beta versions of the app into their hands very rapidly. Of the two only one trusted my judgement. The other was not satisfied and wanted to see more work they could touch and feel.

I wanted to keep working with this client so I offered to spend more time free-of-charge to build out more of the product (I later decided this was a terrible idea as it portrayed I undervalued myself). That week I spent 20 hours building out another screen into the app and improving its scalability by adding Redux to control application state. Later that week an email came.

The founders were planning a meeting with stakeholders and wanted to see everything I’d done that week. So I published my changes, clearly listed the advancements in an email, and sent them on their way.

I then received several accusatory emails from the client suggesting I was holding work back and that what they were seeing was not everything I had done. I perceived this as a lack of trust and it deteriorated our relationship instantly. It was at that moment I informed the client I would no longer be working with them, and that they would need to find someone else to work on their app.

Though I recognize part of the problem with this last client was one of expectations versus reality, the broader lesson I learned here was to avoid serving multiple masters. Because when you serve more than one master expectations change more rapidly and it’s nearly impossible to properly communicate and satisfy everyone all of the time.

Avoiding These Mistakes

After making the mistakes explained above it became clear to me I couldn’t continue on this path. Learning the hard way each time wasn’t benefiting myself nor my clients. And so I took the advice of Erin McNeaney, the woman behind, and picked up a copy of Book Yourself Solid. I’m only on chapter three of the book. And despite its somewhat cheesy name, the knowledge shared in the book thus far has been golden. With just the little I’ve read I already understand how to avoid the above mistakes and more—by learning to find your ideal client before even starting the work. And I’m confident the remainder of the book will help avoid many hard lessons to come. Thanks for the advice, Erin. I now know how to become a better freelancer.

Ledger Nano X - The secure hardware wallet