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. Dzmitry is an experienced software engineer with a passion for C++.
</aside>
Give a short overview of your career in tech so far.
I started working in tech while still at university. My first job was with a small startup, less than 10 people, located outside of town in a cottage. They were kind enough to offer me a position despite my lack of experience. I learned a lot by doing real work rather than just studying. The company focused on Voice over IP for desktop applications. I’d become something of a “Linux person” at that point, so I had the opportunity to port applications from Windows to other operating systems like macOS.
Over time, I found myself juggling two part-time software development jobs while finishing university. After graduation, I moved between various outsourcing companies. Outsourcing gave me broad experience and exposure to different projects, but I missed having project ownership. I even briefly worked for a game company, but quickly realized it wasn’t for me.
Dzmitry about to embark on a hike near Mount Takao, Tokyo.
Dzmitry about to embark on a hike near Mount Takao, Tokyo.
Eventually, my wife and I decided to look for opportunities abroad, and one day I got a message from a recruiter on a programming contest platform about moving to Japan. I thought it was a scam at first! But after some interviews, I realized it was a genuine offer, and we moved to Japan. I didn’t expect Japan to be such a great place to live, but both my wife and I loved it.
After a few years, however, I joined a startup in Berlin working on audio processing with deep learning. As a performance engineer, I was responsible for making the models run on small performance devices. It was a great company with great people, but we missed Japan. I had the chance to move back to Japan by working for a robotics company. Eventually, I found Braid and decided to make the leap.
What inspired you to pursue a career in computer science and software engineering?
I was initially interested in mathematics and science, and I gravitated toward computers as a way to apply that interest. One summer, I got a book called Teach Yourself C++ in 21 Days, and it sparked something in me—almost 20 years later, I’m still learning C++. I was also drawn to computers because they seemed simpler to understand than people, and I wanted a career where I could work with something that made sense to me. A few key people along the way encouraged me and showed me that programming could become a real career. Although I didn’t know how it could pay the bills at first, it turns out it does just fine.
Why did you choose to join Braid?
I first heard of Braid through a Rust meetup about a year before applying. I had seen the team, met some people there, and was really drawn to them. Initially, I doubted whether I’d be a fit, and I thought I should aim for a more stable position before working for a startup. But as things became more difficult at my previous job, I decided to give it a shot. I was especially interested in working on something scientific, something beyond the usual CRUD applications. I felt that Braid offered a real opportunity to contribute to something that could have long-term benefits.
Dzmitry and his wife exploring Gotokuji Temple, Tokyo
Dzmitry and his wife exploring Gotokuji Temple, Tokyo
What kind of personal programming projects have you worked on, and are there any languages you particularly enjoy working with?
I’ve made a few small fixes to other open-source projects, but I also have a couple of projects on my GitHub. One is a C++ library for writing computational graphs that can optimize and run stages in parallel. Another is a miniKanren implementation in C++ using coroutines, which was more of a fun project for learning logic programming.
In Haskell, I created a language to describe firewall rules, which was mostly for fun and learning as well. I enjoy these types of side projects because they allow me to explore new programming concepts and languages.
The changes in recent years make C++ almost a new language, in a sense. C++ has not been a general purpose programming language for a long time. You need to consciously make the decision to use it these days. Many things have been introduced to the standard library that perhaps should’ve stayed as a separate library. That said, I think the introduction of concepts solves some of the issues around templates.
Rust is obviously a much younger language, but it has a very active community of people trying to develop it. Memory safety and the ability to make production-ready code is a great step. I am curious how the language will evolve, though. My main annoyance with Rust is its compatibility issues with code bases using C++.
Do you have any interesting, non-coding hobbies?
My job is my main hobby, as the NOFX song goes. Outside of that, I enjoy reading science fiction—although my wife has read all the Discworld books, and I still haven’t. I also like listening to heavy metal, even though I’ve never been involved in music myself.