As a software engineer, I reached a point in my career when I had to decide whether I wanted to keep working in a corporate environment, or start managing my own workload and time. In the end, I weighed up my options and decided that freelancing would work better. Here's what helped me come to this conclusion.
I spent most of my working life navigating the slow moving corporate world as a software engineer, then as a software manager and, finally, as the head of Artificial Intelligence. Finally, I decided that I had spent enough time paying my dues to big companies, and that it was the right time to focus on my own goals. But, before I could get to this point, I needed to figure out whether my skill set would still allow me to:
- Pay the bills and live comfortably with my family,
- Find projects that really interested me, like natural language processing and video feed analysis, and
- Create a work environment in which I could grow and thrive.
I have looked at the main pain points I was experiencing in my permanent work and weighed this against how the alternative, freelancing, offered to change my situation. Let's dive into how this helped me decide on the tradeoff that I wanted to make.
Aligning my goals with my personal beliefs
In the corporate world, people often have different, sometimes even conflicting, motives for coming to work: Some people want to get things done properly because they have a genuine passion for what they do whereas others focus on self-gain or protecting their reputations at any cost even at the expense of the deliverable.
I often encountered blockers or distractions that drove my focus towards tasks that didn't specifically improve the work. For example, at one of the previous companies I worked at, tons of resources were spent to get us to build a solution which already existed. The project didn't actually give the company a competitive edge. In fact, it took time and focus away from more important projects. But, the manager in charge refused to back down because he wanted to protect his own interests. Eventually, I got so tired of investing energy into this project and not actually being able to build great solutions to the problems that I was presented with.
On the other hand, freelancing offered me freedom from this frustration, because it gave me the opportunity to choose the projects that drove my goals, rather than the goals of other people. Now, ninety percent of the work I do is very focused and deliberate, because I have set out a clear path that won't be distracted by other people's agendas. To do this, I make sure that I set proper goals and business objectives. I then check-in on them daily to make sure that I'm on track to achieving them.
When I need to make any decisions, I compare my options against these goals and objectives. This helps me to stay focused because I can say 'no' to anything that's not aligned with my goals. For example, if I want to build a brand as one of my projects, I can make decisions that move me closer towards achieving that goal.
Taking control over my income through building strong relationships
A clear benefit of permanent work is that it typically comes with a fixed monthly salary and stable workflow that provides a sense of comfort and security. However, I realised that companies are there to be profitable and, at the end of the day, they have to make tough decisions that don't take my personal circumstances into account. This realisation led me to feel like I was just another number who could easily become dispensable.
In contrast, freelancing could empowered me to have control over my own financial security, although the constant need to hustle for job opportunities that could actually pay my salary would obviously be far from stress-free.
Despite this, I decided that it was better to trade-off perceived security for actual security that depended on my own efforts and actions. While the constant hustle for work can be very difficult, especially if you try to do everything at once, I eventually realised that I could get better at it. Now, to make sure that I'm in the running for those good opportunities, I focus on building genuine relationships with people in my network. This helps grow my support base, as well as my own confidence in my abilities.
Tips on building genuine relationships:
- When speaking to clients, I make sure that I understand the problems that they are encountering in their day-to-day and how they would like these to be solved.
- I force myself to have a conversation with at least one new, real person every week. A discussion with someone in your LinkedIn network, or even attending a meetup, can go a long way towards helping people know what you can do and how you can help them.
Working towards my own ambitions
I am very aware that any good, solid work requires me to invest time, effort and energy into the projects that I take on. But when I stopped to think about it after years of permanent employment, I realised that, in the long-run, all of my investment wasn't actually benefiting me as much as it was helping my company.
So much of my adult life had been spent stressing about getting assigned work done that didn't actually contribute much to my personal goals. I became so tired of being pushed to the point of burn-out only so that I could become more efficient at pushing out work that I wasn't even super interested in. This forced me to ask myself:
"Whose dream are you building?"
For me, freelancing presented the opportunity to start building my own dreams and goals. It meant that I could become an entrepreneur and focus on getting contracts that interested and excited me. Some of the goals I'm currently pursuing are:
- Building and launching a successful product.
- Doing freelancing/consulting work to help me raise funds.
- Inspiring a movement where people interact with my company because they are inspired to use innovative technology as a driving force to solve their problems.
Power of choice
Having the power to choose how I operate can have a huge effect on how motivated I am, and how well I can do my job. This extends to the tools as well as the processes that I use.
The right tool for the job
In one of my permanent positions, the company I was working for had become heavily invested in using Microsoft products even though they often couldn't do the job that we needed them to. Upper management didn't really understand the technical requirements of the project we were working on, but wouldn't budge on the tools that we had to use to get the job done. The correct tools would have made my day-to-day life a lot easier, but more importantly, they would've helped to deliver a high-quality product.
As a freelancer, I can reduce my admin by setting up automation and investing in tools that I believe are useful to my goals. While it takes a bit of time to do the research and get it all set up, it can make a huge difference in terms of saving time, mindshare and overall effort in the long run. For example, I use modern tools, like Receipt Bank, to scan in my business receipts which are then automatically added to my expenses sheet in my accounting software (Xero). This is far more effective than keeping spreadsheets and physical copies of everything.
Personally, I'm of the strong opinion that specific tools are there for specific jobs. This means that, regardless of freelance or permanent positions, you shouldn't pick one good tool and use it forever. You should have a constant process for evaluating the usefulness of your tools and software so that you can monitor and reduce overall technical debt.
Processes and structures that work for me
As an employee in the corporate world, I always felt that I needed to dodge strict structures and policies before I could get any real work done. I once had to wait several whole weeks before I could have an official meeting with one of my managers! As you can imagine, this can have a huge negative impact on a project's momentum and, in my experience, is often why vital projects fail.
The fact that I had no autonomy in how I carried out my work was extremely frustrating because of how personally invested I am in doing a good job. It's important to take pride in the work that you do, and to drive the success of the project, but it can be frustrating when the rest of the system seems to be working against you.
This lack of autonomy to work in a way that best suited me became the forcing function to finding a better option. I saw freelancing as my opportunity to work towards achieving the goals that I set out for a project, in a way that made me excited to do my job.
Now that I am a freelancer, with more autonomy and control over my work, I am able to put a more focused effort into:
- The goals that I want to achieve, as well as the best ways to achieve them.
- How much time and resources I have, and where I can channel them to get the most value out of my day.
Staying focused on these things helps me avoid the trap of always being busy without actually contributing much. After all, if now something doesn't get done, it's down to me!
Overall, making the move to freelancing was not easy, because it required a lot of time and effort to set myself up properly. But, in the long run, I've found that I'm far happier being able to make my own decisions, set my own goals and dictate my own working constraints.
Dries Cronje is a technology entrepreneur and the founder of Deep Learning Café. His driving force is to use technology to solve real-world problems, and to create value that transcends industries. His interests range from AI and machine learning, to leadership and working to inspire others to grow and become better software makers.