Eight lessons I’ve learnt in a year of freelancing as a software engineer

Ooh ‘eck, where has the time gone?

illustrations illustrations illustrations illustrations

Published on 25th May 2022 by Madeleine Smith

A feature image consisting of ‘8 Things’ as text on a background of multiple bright colors.

It’s been just over a year since I decided to take the plunge and start freelancing. Prior to doing this I had been working full time in various companies in London as a software engineer i.e. a bog standard 9 to 5.

Freelancing is definitely a different way of working which takes some getting used to. I wouldn’t say it’s necessarily better than being a salaried employee - I think both ways of working have their own list of pros and cons - though at this moment in time I don’t have any desire to go back to being an employee. Maybe this will change in the future - who knows 😀.

So, without further ado, here are eight things that I’ve learnt through this year of freelancing:


1. I can bring real value

Prior to freelancing, to be honest, I always felt like a small cog in a large wheel. And that the value I brought to a large, already-existing system was probably fairly minimal. Through this last year and through working on a new codebase, I’ve been able to see what I’m capable of and have consequently grown in confidence - and this has been really satisfying to me.

I’ve really enjoyed working directly with stakeholders - listening to and understanding their ideas, and then implementing them in code. Because of this close working relationship, I know that the work I do has value. I like being of service to other people through my work and this, in turn, makes me feel useful (🤮, how millennial of me).

2. The isolation working for home is very real

For the entirety of this year I’ve worked on remote teams with people based in all corners of the globe. Because of this, the chance that I’ll ever meet any of my colleagues in real life is very slim.

I must admit that I’ve struggled with the double whammy of both having only remote colleagues and doing predominantly solo work. I’ve never experienced both at the same time before, and I would say that this has definitely contributed to me spending far too much time in my own head.

A person alone in front of a laptop
Photo by Christin Hume on Unsplash

To counter this, at the start of the year, I started going to a coworking space. And this has been great. I’ve really enjoyed the most random chats with the other people I’ve met and having a solid group of people to have lunch with is just fab. For me this feels very human, and really hard to recreate when working from home full-time.

3. Finding out about completely different industries has been really interesting

This last year, I’ve had the pleasure of learning about entirely different industries through my clients. I feel like I’ve had an exclusive peek into industries that are very different from my own. Finding out how a business functions and generates income has been fascinating to me. I enjoy the human side of software development and always want to understand not just a client requirement but how it fits into their business - the ‘why’, if it were.

Also, I’m a fairly nosy person 👀 so it’s intriguing to me to see how different industries attract different demographics of people. After spending many years in an industry where I’m very much in the minority in terms of my gender, it’s refreshing to work with other industries that are much closer to gender parity. Also, I’ve never worn a suit a day in my life so I’m always slightly in awe when I see people dressing up for work. This definitely doesn’t exist in software!

4. My thoughts on agile have changed

Prior to this year, I always assumed that agile was basically the only way to develop software and that the associated scrum meetings or ‘ceremonies’ were just a given. However, after working for multiple months without any of said scrum meetings (e.g. sprint planning, backlog refinement, sprint review), I’ve started to question their value.

I’m not anti-meeting, by any means - I think meetings with the smallest number of relevant people and a clear agenda can be incredibly useful. Though I am questioning whether agile ceremonies, with multiple people working on unrelated parts of a system, are the best use of my time. I’m currently unconvinced but would happily have my mind changed.

5. Freelancing is a great intro into business

This year has been my first proper foray into business - we’re not counting eBaying here 😆. And with this I’ve picked up multiple new skills along the way. Such as sourcing clients, accounting, creating invoices, or even designing a company logo. I’ve enjoyed learning these new skills, and I think freelancing in general is a fantastic way to get started with running your own business.

Of course, no business venture is without risk, but upfront costs with freelancing can be very minimal; I only spent £15 initially on a domain and email hosting. Thus, to me, it feels a lot less risky than many other ventures.

6. I need a routine

With freelancing comes a great deal of responsibility and, well, freedom - I have complete flexibility to dictate my schedule. And this flexibility is great.

A person eating breakfast, drinking coffee and reading a magazine
Photo by THE 5TH on Unsplash

However, I’ve discovered that without a routine I go a bit nuts. Over this past year I’ve found that I really do thrive with having a routine and structure in place. For me, this ensures that I both get enough sleep and have time to have a morning routine before I start my day at 9.

Funny how that one worked out 🤷‍♀️

7. I’m now less patient if I feel my time’s being wasted

For the majority of this year, I’ve been paid on an hourly basis. Which has its own list of pros and cons. However, an odd side effect I’ve found is that during the work day I’m just less patient if I feel my time is not being used in an efficient way. So some meetings, for example.

(╯°□°)╯︵ ┻━┻

And this also happens if, for example, I have an appointment during work hours. I find I’m more blunt with service staff - as I know I will catch up the time later. Obviously, I’m not rude, but I feel like I have less patience if I’m being upsold or a computer system is running slow.

8. I can put up with things being (rather) crazy

With freelancing, things can be rather crazy! Especially when working on a greenfield project where you are trying to do a lot with little.

From requirements that change after implementation to not having a process in place to run database migrations - things can get a bit mad! Whereas, my experience prior to freelancing was (generally) joining a more mature project - where processes are more established and, as a result, I felt I could concentrate more on the programming side of things.

However, over this year I’ve learnt to embrace the crazy, so to speak. At the start, I would feel frustrated when requirements changed, but I’ve learnt to embrace this as being part of the process. And as for processes not being in place, I do believe there is satisfaction in being able to influence the standards/processes implemented - for both myself and future developers.


And there we have it. I hope that’s given you an honest insight into what freelancing as a software engineer is like and how I’ve found my first year. Onto the next… 🥂


In need of a back-end engineer for your project? Get in touch to hire me for contract work 💯