DEV Community

Steven Yung
Steven Yung

Posted on

What I learned coming back to freelancing


After one year of working as a full-time employee, I join the freelancing army once more. But this time, I had one year to prepare myself about what I could do differently and how to avoid previous struggles.

Here's what I found out worked for me during the last 3 months of full-time freelancing.

Having enough savings helps

I began freelancing when studying. When I finally got my degree, I kept the ball rolling and worked for the clients I already had. I didn't put much more thought into becoming a freelancer.

Even if I had reasonable savings, my cash flow was lower than what I was comfortable with.

This caused me to accept missions that weren't what I wanted as a means to increase my savings in hope of a higher cashflow later on which would mean more freedom.

The latter part never really came to be, partly because I didn't have a clue of how much money was enough.

For the last couple of years now, I have analyzed my spending habits, trying to figure out how much I needed per month in utilities, rent, and a small margin to be able to live comfortably. As much as I enjoy a good grinding story, I didn't want to go through one myself. I consider freelancing to be a way to freedom, not grinding.

I figured that having at least 6 months worth of savings would be enough, but I still tried to double that during my year when revenue was stable. Now, with 1 year worth of cash flow, I feel comfortable taking a break for a month or two and refusing a mission.

Money doesn't bring happiness but having enough will for sure prevent some headaches and unnecessary stress when work becomes scarce.

You need to find other ways to get missions

I still get all of my missions through one single french platform ( which has really good user traffic and really good analytics tools. That being said, putting all your eggs in the same basket can always backfire.

Even if you are successfully putting bread on the table, try to dedicate time each month to gain exposure through a different medium.

Start a blog, work on your LinkedIn profile, go to meetups to network, experiment.

More opportunities don't mean you are more successful

At my humble beginning, I started with a below-average price to attract clients and it worked. Kinda.

I would receive 3 to 5 propositions a day, great right? Any freelancer knows that work is inconsistent so having more opportunities means more choice and more money, right?


Having so many propositions was exhausting! Having to call so many potential clients and selling yourself is no fun to me.

Moreover, as a side-effect, about 80% of the missions were short term, not interesting; some of the clients even tried to negotiate below my rate which was already low!

Problem was, I had to talk to every single client to know that.

The day of my come back to the freelancing world, it only made sense to increase my pricing as I was more experienced. I initially received around 3 propositions per week, so 5 times less than before.

I quickly started to freak out for the first couple of weeks thinking to myself I was not worth more and started doubting my decision to come back to freelancing.

"increasing my price was a mistake" or "I'm not worthy of being a true freelancer" was some of the constant thoughts I had in my head for the first couple of weeks. Hopefully, I had enough support around me the help me see through all that negativity and I held my ground.

I also had an β€œaha” moment realisingI could just wait a month or two without being in financial difficulty and see how it goes before adjusting my price again.

After a couple of weeks more, I started seeing a pattern. I had less opportunity in quantity but in quality, all of them were worth pursuing. ABSOLUTELY ALL OF THEM.

In less time spent and a slower pace, I was having better results overall.

Just keep in mind, more opportunities doesn't mean you are better, it might mean that something is wrong.

Getting paid is still hard

I think every freelancer I talked to have at least one horror story where they either had a hard time getting paid or never got paid at all. I use a platform like Malt which will ask the client to pay upfront and once both parties agree that the mission is done, the money will be wired out to me.

It's a good system that allows for fewer issues, but it will never guarantee you will receive any money (spoiler alert: I had to battle through that system for my very first freelance mission).

At the time of writing, the only reliable way I found for long term projects is to ask for money on a more regular basis either using milestones as a way to ask for a partial payment or every short period like every one or two weeks to avoid continuing blindly without any guarantee you will never see a penny.

I can see some clients being not okay with this approach, but most of my clients have been understanding about it so far.

Give priority to long term missions

Short term missions are a good way to start small without investing too much. You can work for a few weeks, finish the mission and get paid. You don't invest too much time and if you ever fail to meet the requirements, you can always provide a few extra working days for free to catch up if needed.

But don't fool yourself, long term missions will always be more stable and more profitable. So if you play for the long run, then run the extra miles by refusing short term missions in favor of long terms one.

Learn how to say no

I'm not good at saying "no" in life. It's even harder to say no as a freelancer. But you have to learn to filter out bad missions to focus only on the good ones. It sounds obvious when you think about it but it's not that obvious when you are on a call with a potential client spending a couple of hours trying to understand what is needed.

β€œSit down and think "is this what I want" and if the answer is anything but "hell yeah". Think again.” - Entrepreneur On Fire

Care about the missions you get offered

It's common sense for some, not so much for others. Meeting for the first time with a client is like passing an interview, in a short amount of time, you have to give a good impression and build trust with the person you are speaking with. Learning beforehands about the clients' project will help you build that trust and gain bonus points that might make the difference.

Prepare questions, research your client (is he tech-savvy or will you need to simplify some technical reference to ease communication) and be curious.

Here is a sample of my go-to questions to ask if you have no idea where to start:

  • Why are you looking to work with a freelance?

  • Why did you choose this stack in particular?

  • How is the team I will work with?

  • How do you generate revenue with your project?

Ease communication with clients

When you start a mission, it's a little bit like starting a job. You need to give a good and professional impression to create trust between you and your new client and this is even more important for remote gigs.

Trust at first is all about two topics:

  • Are you competent enough?

  • Are you reliable?

One of the best ways I found is to write down each task you worked on day by day and create a list of potential code improvement to make in the future (architecture propositions, performance improvement, etc.) and at the end of each week, I'll send out a nice, well-written document summarising everything. This will show you know your shit.

I also use Toggl to track time spent on the project which I share with my clients so I'm fully transparent on how much time I worked and what I worked on.

For remote gigs, take constant notes on what is said during meetings and send out a nice sum up by email that your clients will be able to read and correct you by mail if there is any miscommunication. This will prevent any huge misunderstanding and will give a chance to your client to correct you if something was not clear for both parties and keep track of what was said later.

The more details you provide regarding what you are doing, the easier it will be to create that initial trust. When trust will be created, that's when you will gain full freedom on your missions.

This way, your client knows you didn't slack off the entire week and that you know a little bit of what you are talking about.

Working on your term is better than working for more money

For me, freelance was all about being free to work on projects I feel passionate about. However, when I started, I took mostly missions with a lot of constraints like specific working hours or even on non-interesting projects for all the things mentioned above. In hindsight, I would trade half of the money I made just to be able to work on my own term.

Don't forget why you are doing this and push forward to find a suitable mission.

Invest your money

One of the many joys of freelancing is the money you earn, it's undeniably pleasing to have more money for the same amount of work but freelancing is not my long term plan and even if it was; you need to have a plan for the future, the one where you grow old and grumpy, investment is the way to go.

Spend time searching for investing opportunities. Start with safe investments with a fixed rate and diversify a little bit on riskier but more rewarding investments.

Again, don't put all your eggs in one basket. You need to think about the future now.


Freelancing is tough. It's a competitive space where starting is hard; but once you find your routine, the freelancing path can be extremely rewarding. It's all about trust and improving your process and yourself.

All of those habits were not intuitive when I first started. As of today, I'm still experimenting different way to work. It's a forever learning journey but I hope this article sharing my experience will help you build the foundation to your process!

Freelancing is a beautiful lifestyle once you find what it means to you.

If you like this article, make sure to follow me on Twitter where I shitpost and sometimes post about my freelancing and dev journey !

Thanks to my dear friends that help me through this journey: Abdoulaye, Samuel and Jean-Baptiste

Top comments (11)

andrewbrooks profile image
Andrew Brooks πŸ‘¨β€πŸ’»

Great points of view!

I'm contemplating getting back into the freelance game myself but managing the clients is my biggest hurdle and fear. I love building things and writing code but not so much the interpersonal aspects of the job.

I also prefer building web apps over brochure sites and I have never had luck finding those kind of clients.

Hopefully I can get over that mental block soon!

chrisachard profile image
Chris Achard

Yeah, you'll definitely have to do some "people" work as you work with clients, so be ready for that.

My advice (since you say you're not super excited about that part), is to start local: with people who you already know. Maybe devs you've met at meetups, or people you know from previous jobs, etc - but having a pre-existing relationship can really help break the ice, and you'll learn how to do "people" stuff with other clients too :)

Good luck!

nvio profile image
Steven Yung

I'm blessed enough to always work on complex web app and not "brochure sites" as I was a backend developer before so more suited for those kind of missions. I used freelancing as a way to transition from stack to stack so I'm sure you can transition into a more "web app" kind of freelancer !

I don't like to deal with client either, but I guess the more you do it, the better you get at it.
What exactly are your fear about dealing with clients ?

Happy to help if I can !

chrisachard profile image
Chris Achard

YES! Having enough money is absolutely critical when starting out freelancing... as an example: for one of my first freelancing clients, it took 30 days to just sign the documents, then I didn't submit my first invoice for another 30 days, and then it took them 30 days to pay.

That's 90 days without pay from the time of first contact! Most people don't take that into account when just getting started, and it can be a killer.

Also - learning to say "no" - absolutely - I'm still struggling with that one :)

Thanks for the post!

nvio profile image
Steven Yung

Saying no is actually really hard !

Thanks for you comment Chris, much appreciated πŸ™

drmandible profile image

Useful article and made much more exciting by the use of "mission" instead of "commission". Makes me feel like being a freelance dev is like a spy. :)

nvio profile image
Steven Yung

I like the way you think 😁

Thanks for the kind words

gprst profile image
Gabriel Proust

Thank you so much for sharing your personal experience and struggles :) It helps.

nvio profile image
Steven Yung

Thanks for the kind words Gabriel !

Those kind of comments really motivates me to keep writing more πŸ™

smz_68 profile image

i will read it at weekend.

corelhas profile image
Carlos Orelhas

Thank you so much, Steven, for the way you show the freelance life.