JANUARY 6, 2025
BRAID’S TEAM
<aside> 💡 Welcome to another article in our series of Tech Team Profiles! Here, we’ll introduce you to the team building Braid’s automated engineering design technology. Colin is a software engineer active in the Free-and-Open-Source software world. His favourite languages Common Lisp, Rust, and Haskell allow him to realize his core programming values of Rigour, Minimalism, and Beauty.
</aside>
Give a short overview of your career in tech so far.
I’ve always been interested in programming. When I was 11 years old, I attended a week-long tech summer camp at a local university. The theme of the camp was computer science and web development. In addition to your typical summer camp games, we learned how to make our own simple websites. In high school, I began programming on a TI-83 calculator. I earned a minor in Computer Science in addition to my major in Asian History and Languages.
That said, my first job out of university was teaching English in Japan. Programming became a serious hobby of mine while teaching and, at some point, I realized that I should probably be programming as my career instead. Though I liked teaching, I felt I was better suited for solving problems like those you encounter while coding. When I moved back to Canada, I earned a post-baccalaureate degree in Computing Science. While a student, I did an internship at a local start-up, where it was just me and the founder. That was a very interesting experience; when you’re the entire tech department, you get the fancy titles like “tech lead” by default.
After I graduated, I started working remotely on an R&D team for a company in the U.S. that does GIS work. After that, I joined a blockchain startup in New York writing Haskell. COVID happened and I transitioned to contracting. I taught myself Rust during COVID and started doing contract work in Rust. Though COVID delayed my return to Japan, I eventually joined a company in Japan developing software for manufacturing using Rust, before recently joining Braid.
A few of Downtown Vancouver in the distance.
What originally brought you to Japan?
In my teenage years, there was an increasing cultural influence from Japan in Canada, including anime and martial arts. A friend of mine injured his back while skateboarding and his doctor told him to start karate as a form of rehabilitation; at some point, he invited me to join him. Although the lessons were in English, there were bits of Japanese language and culture sprinkled throughout that piqued my interest. After completing an extracurricular course in Japanese in high school, I continued studying the language in university, culminating with an exchange program in Saga prefecture when I was 20. I found- and continue to find- the Japanese language really fun.
You maintain a large number of open-source projects, including the Aura package manager for Arch Linux. What’s the primary challenge of maintaining an open-source project?
People who do open-source projects are often doing it because they want to, meaning that they are intrinsically motivated. Having someone who is intrinsically motivated is a great way to get them to do a good job. One of the difficulties of maintaining a large and popular open-source project is that people will find problems that might not actually affect you as the maintainer. It’s as if someone is knocking on your door, saying “Hi, this thing you made is broken for me.” I’m the only person who can solve their problem, but since it doesn’t affect me, I basically have to do it out of the goodness of my heart. I have a moral obligation to make my software as good as it can be. While that might sound unfair to me, the way I see it is that I get a lot of other great software for free. By developing good open source software myself, I am paying it forward, in a way.
You mentioned that you enjoy working with Haskell. What makes Haskell stand out for you as a programming language?
Haskell is first-in-class for developing domain-specific languages, parsers, and things of that nature. It’s elegant, efficient, and surprisingly easy to use for these purposes. One of Haskell’s strengths is its maintainability, thanks to excellent tooling and a robust type system. Haskell is often perceived as difficult to learn or use, but I’ve found that the threshold for becoming productive in Haskell is much lower than its reputation suggests. While some people struggle with it initially, once you grasp its concepts, Haskell becomes an incredibly powerful tool that lets you program without fear. Although not all of Haskell’s features are widely used, it’s a language that empowers "wizards"—those who want to explore innovative, potentially wacky ideas without limitations.
Interestingly, I see Rust as a kind of "Haskell in disguise." They don’t advertise it that way, nor do they use some of the “scary” jargon used in the Haskell community. However, I think they’ve picked the best parts of Haskell and made it look like C++. It’s a clever way of introducing modern programming concepts to fans of curly-brace languages.
In Spring 2024, you completed The Henro Pilgrimage, a journey between 88 temples throughout Japan. What was the highlight of that journey?
I wanted to do what is called a shukubo, which is staying overnight at a temple. When you’re walking, you don’t know where you’re going to sleep ahead of time. Only a handful of temples allow you to stay, and because the spring is the most popular time of the year to visit, the tourists coming by buses filled up most of the possible accommodations. Not a single temple on the entire route was open and available, except for one bekkaku temple, which is one of the additional 20 temples beyond the set of 88. The only reason this one was open was because it was incredibly out of the way; it was an extra 4-hour hike just to get to it. However, that 4-hour stretch was probably the nicest hike I did throughout the pilgrimage. It was so cold overnight at the temple that my Kindle screen broke. In the morning I was able to participate in the morning devotions and sect-specific rituals. I had a great time and I finally was able to do my shukubo, but the cost was that I lost my Kindle.
Colin climbing Akagi-dake. Not actually the Henro!
Why did you choose to join Braid?
I missed having a work environment like I did in New York where everyone was highly technical, very bright, and altogether hard-working. Braid is so far the best work environment I’ve been in. One evidence of that is that my days are just flying by! I enjoy being part of a small, smart team where I have a lot of agency and where I am trusted to do my job as a professional. Ultimately, I am grateful to be using great technologies like Rust to build something meaningful.