How I beat a big business to win my first freelance contract

Ricky Tan
7 min readFeb 8, 2021

The tools & techniques I used to win against an entire sales department.

A lone freelancer competes against a professional sales team.
Thanks to my mentors, I won my first stable client by out-bidding a bigger firm.

Overview

In this story, I’ll explain how I got started as a freelance software developer.

Throughout, I’ll go over my first experience with freelance platforms, how I found my first client, and some of the accounting tools I looked at looked at for proposals, contracts, invoicing, and payments.

Here are the sections I’ll cover:

  1. How to find the best first contract (freelance platforms vs word-of-mouth)
  2. How to negotiate the deal (a step-by-step guide)
  3. Startup/Freelance tools: how to get paid (accounting software comparison)
  4. Key takeaways

Bonus: At the end, I included a Calendly link for anyone interested in a chill 1-on-1 chat (for free, of course) about startups or freelancing!

How to find the best first contract

When the COVID pandemic started, I fresh out of grad school ready, and I was pursuing my startup full-time. We weren’t making enough revenue to pay ourselves a stable salary yet, so I needed another way to pay for my living expenses.

So, I decided to try freelancing as a software developer.

What they don’t tell you about freelance platforms

For the first few days, I was writing proposals on UpWork. At the time, it seemed like the most straightforward way to find clients — all I had to do was type in the search bar to look for projects.

But soon, I realized how, well, impractical a lot of the projects were. Here were the 3 biggest problems:

  1. Lots of competition the projects I saw normally had as many as 20 proposals from people who were either (a) a better fit for the role or (b) just plain cheaper than me.
  2. Underpriced projects — aside from the competition, I noticed that a lot of the project budgets were far too low for the project scope. Some projects that I knew from experience would take at least 20 hours to do had budgets as low as $200 (and as icing on the cake, UpWork takes a fat 20% cut of your earnings when you’re just starting out on the platform).
  3. Rampant ghosting — and even when I did score an interview, I’d be ghosted either before or after the interview. The worst part is that the projects stayed “open” on UpWork, meaning a lot of people were still submitting proposals for projects that they didn’t know were already closed.

To be fair, I don’t think all projects on freelance platforms are bad (or freelance platforms in general, for that matter). This was just my experience, and it was not a good debut.

Word-of-mouth (WoM) unexpected opportunities

For awhile, I just kept writing proposals trying to figure out how to get my first client. Then one day, my roommate — a biomedical PhD student — was venting about a lab meeting she had.

A word-of-mouth networking opportunity came from a roommate
Fact: Roommates always lead to opportunities

She told me about how her advisor wanted to update the lab’s software. Apparently they talked to the same firm that sold them their lab equipment, but were unhappy with their offer.

The firm was going to sell them a new software package, and then charge them an extra fee to customize that package. But there wasn’t anything wrong with the lab’s old software — it just needed updates to the user interface.

So I said “… maybe I can do it.”

How to negotiate the deal

The day had come to meet her advisor, and I was a bit nervous. Sure, I was confident in my ability as a software engineer to do the work, but I had never closed a deal before in my life — it wasn’t something I was ever taught as an engineer.

Luckily I had a mentor that gave me solid advice for my startup that applied to this situation. He said:

“Just take it one small step at a time.”

With that in mind, I hopped on the Zoom call and was greeted by her advisor and one other person that helped run the lab.

A zoom call with my first client kicked off negotiating the deal.
I didn’t really wear this shirt for the zoom call — I wore business casual (yes, pants included)

Step 1: Introduce yourself

First, I wanted to give them a better idea of who I was beyond my roommate’s initial introduction.

I explained that I was a recent graduate of the university and how I was looking for part-time freelance work while I was pursuing my startup.

Step 2: Actually understand what they’re looking for

Although I had a general idea of what they were looking for from my roommate, I resisted the urge to immediately dive into how I’d solve their problem. Instead, I wanted to understand first exactly what the problem was from their perspective.

So I asked, and they screen-shared some of the issues they were dealing with while I made a list.

Step 3: Start small, reduce anxiety

Now that I had a concrete list of what they wanted fixed, I was able to craft a simple offer. I picked the smallest problem from the list and said:

“Let’s start small — I can fix this one problem for $200. Since it’d be our first time working together, I’ll do the work without upfront payment and you don’t have to pay me if you’re not pleased with the result”.

Since it was a small bug fix, I was willing to risk not getting paid in exchange for proving that I was better for this job despite the size of my competition.

To them, my proposal had zero risk because I addressed all their potential objections.

So, they said yes.

Startup/Freelance tools: how to get paid

I finished the work and was now looking for a way to accept payment from my client. I hopped on Google and hunted for the right accounting software for hours.

Freelancer sleeps at his desk after hours of searching for the right accounting software to invoice his client and get paid.
Me after hours of searching for the right accounting software

It was important for me to find something that made it as easy as possible to collect payments. Since my client ran a university lab, he needed:

  1. Invoices detailing the work that was done
  2. The ability to pay with card or purchase order
  3. To opt-out of payment processing fees (the university wouldn’t pay these)

Comparing freelance accounting software

A quick google search brought me to “The Best Accounting Software for Freelancers”. It listed 11 different tools for independent contractors to streamline their bookkeeping.

From the article, my top 3 were QuickBooks Self Employed, FreshBooks, and Zoho Books. All the others had either ugly-looking interfaces or simply weren’t clear about the only thing I cared about —sending an invoice and getting paid.

Option A: QuickBooks Self Employed

QuickBooks had a reasonable monthly price ($7.50 deal, normally $15) and had the reputation of being the best tax & accounting software (which I certainly believe). QuickBooks also had a bunch of modules and integrations I could add on when I needed them.

But I found the selection to be really overwhelming. It left me unclear about which bundle of products was right for me. Besides, I wasn’t looking for tax software — I just wanted to get paid.

Option B: FreshBooks

FreshBooks had a better monthly deal ($6 deal, normally $15) and certainly seemed less intimidating than QuickBooks.

However, from the website alone, it seemed like it was built for bigger businesses with more complex billing needs — not for a small & agile freelancer like me.

Option C: Zoho Books

Zoho Books was the cheapest ($9/month) and it definitely felt like it was built for the little guys…

… but to me, it looked like it was built for little kids.

In my head, I thought:

“I’m a software professional and a founder of a tech startup — there’s no way my accounting software should ever have a logo with kindergarten building blocks on it, for crying out loud!”

To be fair, I’m sure it’s a great tool. The branding was really the only reason I didn’t give it a second thought.

Surprise Option D: Bonsai

Just as I was about to give in to QuickBooks, I stumbled upon a diamond in the rough — Bonsai.

Bonsai was the most expensive option ($19/month), but it looked simple, sleek, and built for professionals.

What compelled me to choose Bonsai was how minimalist it was. I was also surprised to learn that it uses Stripe, which is an API for payment processing that we already use in our startup to bill customers when they use the software we built.

NOTE: I also had to consider taxes, and I’ll cover that in a separate blog. For now, I’ll leave you with Bonsai’s Freelance Tax Guide. In 20 pages, it concisely explained what I needed to be aware of, and was a profound resource to have.

Bonsai is the best tool for software developers

If you’re a freelance software developer, please consider signing up for Bonsai with my affiliate link!

I get compensated about a cup of coffee’s worth for each signup with my link (at no additional cost to you). So, please consider getting me a free cup of coffee when you start your business!

Key takeaways

  1. Don’t start with a freelance platform — hit up friends, professors, mentors, or even your roommates. They might not have a job for you, but someone they know probably will.
  2. Relationship is key to beating bigger businesses — a warm introduction from someone they know goes a long way. Even if you don’t have this, you can still win the deal by removing a client’s anxiety about you with a small (even free) offer to earn their trust.
  3. Make it easy for your clients to pay you and choose an accounting software that fits your brand.

Chat with me (for free) about your startup!

I love helping startups and freelancers in my spare time, so if you’d like to have a chill 1-on-1 chat about your business (startup or freelance), just use my Calendly link to schedule one!

--

--

Ricky Tan

I'm a millennial trying to min/max a life I enjoy. I write about personal finance, self-improvement, and valuable life stories & experiences.