Published on

Lessons from building a startup as a freelance developer

fustrated ceo

Creidt: Shutterstock

Four months ago, I chose to explore the entreprenuerial journey by working on MonoHR - a human resource automation platform.

The journey so far

It's not been roses and rainbows. I have encountered so many WTF moments, doubted myself, and had a lack of direction (some times). Choosing to bootstrap a company in this part of the world is an experience I never imagined would be the way it is.

Below are the lessons I've picked up along the way.

1. Get your personal finances in order.

Solving a business problem is important, but having the resources to pursue whatever you are trying to solve while still affording to put food on your table is importanter.

Many a time, I've had to pause for a couple of days while working on clients' projects.

2. It is a marathon, not a sprint.

Being a freelancing software engineer with client deadlines while having your own startup's deadlines calls for a level of utmost prioritization. What is more important: building a company or staying without money as you work.

Take breaks when your body feels like it. One of the reasons for pursuing entrepreneurship is the ability to decide what, when, and how I utilize my time.

3. You are not your code.

MonoHR is currently at a stage of collecting user feedback (we've already got early adopters signed up) as we prepare for the beta launch.

Being a sole engineer, one of the hardest things I found hard to do was erase a block of code that I spent a considerable amount of time writing.

I came to the realization that if I was attached to pieces of code, it meant that the product's growth was stagnating. Once this clicked in my mind, I began looking at deleting code from the perspective of growth. Old stuff out, new stuff in.

4. Embrace the steep learning curve.

As a first-time founder and a software engineer, I was not really prepared for the amount of learning that I had to do on a daily basis. For example, how do you switch from writing a business proposal to a company asking them to be the product's early adopters, to writing database queries while taking a minute to figure out why the CI/CD pipelines are failing.

5. Take care of your health.

In the beginning of this journey, there was a time I spent two weeks locked inside the house, crumbling under the weight of deadlines while juggling the product's code and clients' business requirements.

Before, in my mind, I tended to forget a major tenet of being a software engineer, not everything can be done within a single day or moment; work iteratively and incrementally.

6. Build a strong support network

Juggling freelance work and startup responsibilities is overwhelming at times. Firsthand, I got to appreciate the value of having a support network —mentors, peers, and fellow builders who can provide guidance, support, and a sounding board for ideas. Or be available for small talk when I need it the most.

7. Remember why you started.

Many are the times when I have thought about how full-time employment would literally take away most of the stress that I encounter on a daily basis.

For example, if you do not want to work on front-end code, have someone else do that. But then, here I'm faced with the task of doing everything on my own because I'm a Swiss army and I do not have the resources to bring other people on board. 

Reminding myself why I'm on this journey, keeps me grounded and facing every challenge head on.


Without a doubt, working on my first product while freelancing as a software engineer has provided me with a unique blend of technical expertise, adaptability, and entrepreneurial skills. The lessons I learned continue to shape my professional journey and serve as a solid foundation for future endeavors. Hard stuff, but manageable.

Let me know what your thoughts are about this article hi[at] Cheers!

© 2022 - 2024 Luigi Morel. All rights reserved.