Skip to main content

Building Software with Creativity and Craftsmanship

· 7 min read

"Software is a fascinating industry because you can create something out of nothing. It’s like nothing else in the world. It’s purely creative work. What we’re doing here is craftsmanship. At the same time, it’s like construction work, it’s a laboring job. We’re here to do an honest day’s work and to produce great software."

- Mason Giles, CTO at Comet Backup

When did you first realize your passion for tech?

I have been a programmer ever since I can remember. Even when I was a kid. I probably had ten years of experience before I started working professionally.

My parents are in the medical sector. Back when their practice was all paper-based, Dad put together the office’s first database all by himself rather than using off the shelf software. He wasn’t a programmer by trade, but he nudged me in the right direction. Showing me how to write an IF statement, that sort of thing.

What are your interests or hobbies?

My hobby is software. Ever since I was a kid if there’s been something I wanted, I understood I didn’t have to wait for someone else to build it, I can build it myself. And if I can share that with other people online it’s great. I’ve probably released over 150 open source projects in my spare time over the last decade.

You were Comet’s first employee. Tell me about that journey.

I started working for Peter, Comet’s founder, ten years ago as a summer intern. My first job was with MyClient – Comet’s sister business. It was interesting work. I got 90% of the way through the development project before I had to go back to university. After that, I had a standing offer to come back.

What sparked the inception of Comet?

As a predecessor to Comet, Peter had an MSP business specializing in providing backup services. The backup products that were on the market had many problems. We had to do insane, invasive, and unusual things just to get them to work.

I researched emerging algorithms and chunking technologies online. What I found had great potential and I thought, ‘How can we build on these new ideas?’ At the same time, we saw more and more bugs and we thought, ‘Ah this is just ridiculous. What if we made our own backup software?’

We kicked around the idea within the office. It started to look more and more plausible based on our extensive years of experience in the backup space using other vendors' technologies. A few weeks later I sent the initial email out to Peter and Josh outlining how we’d do it.

What was in that initial plan?

I proposed a roadmap where we would build File & Folder backups first and then Disk Image later. We knew from running a commercial backup company that multiple products were needed to support different parts of the market. Based on that experience, it was very important to us that Comet have a unified management system so that MSPs could use a single product. It’s important to us to be comprehensive about what we support.

You’ve been at this for a long time. Were there any formative moments for you?

Before Comet, when I was working at the MSP, I took a phone call. The customer had lost their data and needed it back. I went through the settings, got a remote support session set up, went in to do a restore and… there was nothing there. My heart plummeted. I had to explain to the customer that their data was gone, and we couldn’t help them get it back. That was the worst phone call I’ve ever had with a client.

That was a formative experience in terms of how seriously I take this job. What we’re doing is incredibly important. We are dealing with people’s livelihoods. Data is extremely precious. We are the last line of defense when things go wrong.

Are there other areas from the early days that influenced the way Comet is today?

At MyClient, MSPs came to us with niche requests. We pushed down the route of making the software adjustable and adaptable. That sort of flexibility proved very popular.

With Comet, we decided to make the API flexible from the outset. We had experience working with other backup vendors' unaccommodating APIs and the many inconsistencies and bugs that resulted from that.

Clients use Comet in surprising ways. The only reason they can use the technology in ways we never anticipated is because our API is extremely introspectable and expandable. We’ve designed it so that people can stretch it to fit their needs.

As CTO you’ve made some foundational decisions that have proved to upend industry norms.

It’s important to make bold technical decisions that make things work better. That’s one of the main reasons we’ve been successful. Much of Comet’s software is programmed in Go. When we started, it was a very new language and that was a brave choice.

We had internalized trauma from our MSP days dealing with our competitors’ C# and Java-based backup products and knew the awful problems those languages inherently caused – such as terrible memory usage. One of Comet’s points of differentiation is that we don’t use Java.

A number of our clients have lived that same experience. When you hand them the keys to Comet, which doesn’t have any of those issues, it’s like you’ve taken them out of a broken house and moved them into a beautiful new home.

Software can be better. It’s just computers. We can make them do whatever we want. We don’t have to put up with bad software.

Why is it hard to give exact ETAs on new feature releases?

We can plan out how long we expect development projects to take. But all the unknown unknowns are what end up taking time. There are a lot of hard-won lessons.

It’s not like churning out your hundredth website or app. After the hundredth one you’ve got a pretty good idea of how long it takes. What we’re doing here is craftsmanship. No one has built this exact software before, we’re doing this for the first time. You learn quite a lot as you go along.

I’ve worked for enough tech companies to know that’s a pretty remarkable approach – building software with deep care and craftsmanship. You’re touching on why the work culture at Comet is so special. What else is in that recipe?

Part of it is Maslow’s Hierarchy of Needs. You’ve got to make sure the team’s basic needs are taken care of first – competitive salaries, good working environment, etc. Once you’ve got the basics down, then you need to ask yourself:

  • Are we working with cool, cutting edge technologies that we enjoy?
  • Is each team member learning new things?
  • Do we feel we’re having an impact?
  • Are we continuing to make brave decisions?

We encompass all those things in our work culture at Comet, which means we’re far enough up Maslow’s Hierarchy that we offer a pretty competitive experience to our team.

Do you have a dream job?

I love what I do. I get to write code every day, I have a lot of autonomy and I get to make a difference. It’s really hard to beat that. I think there are three things you need in a job:

  • Something you’re good at.
  • Something you enjoy.
  • Something that pays well.

A lot of people don’t ever get all three at once. I’m very lucky to have hit that trifecta. Software is a fascinating industry to be in because you can create something out of nothing. It’s purely creative work. It’s like nothing else in the world. At the same time, it’s like construction work, it’s a laboring job. We’re here to do an honest day’s work and to produce great software. The fact that it pays well and the fact that I’m good at it and I enjoy it. It’s not a bad gig.