Why I run my own software development business

I've been running matix.io since 2014. It definitely hasn't been the easiest path.. but if I could do it over I wouldn't change a thing.

Why go through the struggle? It's a much safer bet to take a full-time job and great jobs aren't hard to find as a software developer.

I took some time to go through the reasons I run my own business, despite all the difficulties. Here they are:

#1 Independence

When I was younger, my father made a tough decision to take a job 3,000 kilometers away from his family. He would work three weeks away from home, and be home for one week. It was difficult for everyone in the family. 

The situation had a large impact on my life, and I think through it often. I've come to the conclusion that every person I rely on presents a risk to my future self: what if I can no longer rely on that person? Whether it is an employer or a trusted consultant or any other figure in my life, how will life proceed if they disappear?

That question encourages me to pursue self-employment. If I learn to create value for others, the only thing I depend upon is having other people to create value for. There are over 7 billion people on the planet, so there's a relatively low risk of everyone disappearing.

Being a skilled employee comes with great comforts. You have a regular salary. That salary will be deposited in your bank account with such certainty that you can expect it to be there. Your employer withholds your income taxes, so you don't have to worry about coming up short when it's tax season. The government provides you with employee protections - if you get fired, you're getting a nice comfy package to help you coast until you find your next job. Everything is great! Buy a house, get a car, save for retirement. You're living the dream.

But you're dependent on the job market. You're dependent on the demand for your skilled expertise. You're dependent on your employer.

Running a business is different.

My entry into business was by selling a service, my skilled expertise. At the surface, it's not that much different than an employee-employer relationship where expertise is traded for money. My employer is my client.

There's more risk of them not paying, and I have to handle everything from finding them (sales) to sending them a bill (accounting).

There's a hidden gem here: you start developing the skills to generate money on your own. You look for opportunities to provide value & earn money, because if you don't you will starve. You repeat the process more frequently than you would in a long-term employment position. You iterate to survive. You hone your resilience.

#2 Freedom of movement

After I graduated high school, I wasn't sure what I wanted to do. I excelled in school, but wasn't set on a career path. I decided to take a year off and snowboard in British Columbia, Canada. It was amazing. I met some great people from around the world and skied as often as I could. There's no better way to be snow-sure than to live at the resort - you'll undoubtedly get some deep powder days.

At the end of the ski season, I was convinced I wanted to live this way for the rest of my life. The lifestyle was just too good. Most of the people I met on the hill were salaried employees from big cities, taking their weekends off to go on expensive trips to the mountains. I couldn't figure it out: why work so often and so hard, just to spend your weekends at the ski resort? Why not just stay at the ski resort? Ski on weekdays, get the best powder, never wait in line! (I've since changed my opinion on this, but that's a different story).

So it was decided: I would ski. But I needed to find a way to make a bit more cash. Ticket-checking on the hill was paying me minimum-wage, and though there were some people who were in their 40s working those jobs, that wasn't where I wanted to be. It's tough to make life work on minimum wage as an 18 year old. I can't imagine being 40 and trying to make that work with a family.

I met some remote IT workers that season. They were making good money, and from their laptops. They had such flexibility. 

It seemed brilliant: why let work tie you to a physical location? Why not choose a path that allowed you to work from a city or the countryside?

As I write this in 2021, remote work is forced upon everyone due to COVID19. Employers are recognising that it works fine and it's very possible that employers will continue to leverage this lifestyle.

Regardless, freedom of movement is very important to me.

#3 Freedom of schedule

The ski season I spent in BC was a hugely formative time for me. In a small ski town you live in a small bubble where the only news that matters is the weather forecast. When a big storm rolls through, everyone is hyped. The whole town is buzzing about the good powder for days. On the flip side, when there is a dry spell the whole town talks about the terrible conditions.

There were two big takeaways: 

(i) Working on an awesome powder day is the worst. Undoubtedly, you run into people who had an epic day on the hill. You hear the stories of how good it was. The FOMO is real.

(ii) The best days aren't necessarily on the weekends. In fact, if snow conditions were equal a weekday wins because the hill is less crowded and the powder stays longer.

I immediately recognized that having a calendar of obligations was not what I wanted. I needed to be able to drop everything at a moments notice & head to the hill, on weekends or weekdays. I've been fighting my obligations ever since.

Disclaimer: I'm not totally free. During busy periods, my calendar gets filled up with meetings and deadlines. I feel perhaps more free than a nine-to-fiver, since I'm able to choose to work when I want and schedule meetings when I want. However I'm constantly trying to keep my calendar clear.

#4 Building my Brand

I didn't think this would be a big motivator for me but certainly has been.

During the first 5 years of operating my business, I didn't pay much attention to branding. I didn't have a website. I used a Gmail account to interact with clients. I didn't even have a brand name. I believed these things were unimportant and that demonstrating my skills would win me business. I was extremely wrong.

I recently read a great blog post which covered authentic pride. The blog post claims (and references an academic study to back up its claim) that those who take pride in their achievements are more likely to be viewed as experts than those who do not demonstrate the same pride. By not building my brand, I was not taking pride in my work and had nothing to show for it.

This hit me when a close friend asked me “well what do you do?” I had thought it was obvious what I did, but apparently  that was not so.

I immediately stepped up my branding: I chose a domain name I had purchased to use as my brand name; I fixed up my social media; I launched my website; I wrote case studies for all of the projects I was proud of. It continues to be a work in progress, but it always will be.

After I had finished with my branding, I realized how important it is! My brand is my story. The projects I've completed show the success I've achieved. The case studies become business assets, but they also become sources of personal pride and the act of sharing them brings me great pleasure.

#5 The Jack-of-all-Trades

I enjoy doing all of the work that comes with running a business. I've learned a lot about sales, marketing, project management, accounting, etc. that I just wouldn't have learned if I had taken a software job. Of course, there are times when it's a better option to get a professional to handle something. But I genuinely enjoy learning about the role, understanding what needs to be done, and understanding why it may be better to have a professional to do it.

I also see this experience as a sort of job security. Let's say software development suddenly isn't a sustainable business. If I've dipped my toes into a number of different roles then I can make an informed decision about my next move.

#6 Impact

Every project I work on has a large impact. I work directly with clients on projects and they rarely last more than 3 months. The scope of work and project schedule are always very clear. We execute, and at the end we have a product to show. All of the parties involved have incentive to complete the project.

This is great, in contrast to the never-ending project. Because I generally have control over what gets done during the project, it is satisfying for everyone!