In this blog series, RELEXians from various tech teams share their daily life. We wanted to know, for example, what their work consists of, what technologies they use, and how they would describe their teams. Next up is Martin from our Deployment team called Mordor.
How did you end up working at RELEX?
I found out about RELEX a few weeks after defending my Ph.D. thesis. At the time, I was preparing for a post-doctoral position in South Korea, which sort of blew up at the last minute. I was interested in functional programming and Haskell and also had spent a few months in Finland already. When I found an interesting job offer through the Haskell subreddit to work on a Haskell deployment tool in Helsinki, I decided to follow up on that, and here I am.
How does your typical day at work look like?
My typical day is quite… atypical. Like many teams at RELEX, ours is responsible for way more than it can handle. 😊 Here are several “missions” all happening at the same time:
- Maintain the current deployment tool (fixing bugs as they are discovered)
- Plan new features to help our users in their daily tasks
- Develop these new features
- Review these new features
- Test these new features
- Roll out new features (which can take weeks, depending on the impact)
- Support users through the internal communication tool
Like everyone else in our Mordor team, I’m doing a bit of everything, depending on the week and priorities. Currently, we have a big project undergoing in the form of Scale-Out, the next-gen revamp of the whole RELEX architecture (software, data center, and deployment). I’m communicating almost daily with our Infra team, as Mordor relies on a lot of low-level services provided by the Infra team. I’m also helping to maintain different internal systems, like our CI pipeline.
What kind of technologies do you work with?
We work mainly with Haskell, which is a very strict and safe, functional, and statically typed language, that provides the following advantages:
- “If it compiles, it works.”
- Refactoring is made easy, as the compiler will guide you
- Types are an abstraction of your program; they are powerful and useful
We also use Elm and Typescript + React for the frontend. I use Nix and its ecosystem, Dhall, Terraform, and Ansible daily. Nix is a next-gen package manager that we are taking into use for Scale-Out, Dhall is a safe configuration language, Terraform describes our AWS infrastructure in a declarative way, and Ansible is the tool that infra uses to deploy to servers, which we use as well to deploy the Mordor components. Haskell is definitely my favorite from that list, although I like a lot of the ideas conveyed by both Nix and Dhall.
How would you describe your team and colleagues?
The Mordor team mostly consist of highly opinionated characters. We all have our specificities of course, but we come together around Haskell, Nix and functional programming principles and the fact that better knowledge of computer science will make you a much better developer. We’re a highly multicultural team (Japan, USA, Italy, France, Russia, and ofc Finland) and as such, have many angles on the same topic, which is both challenging and refreshing.
What have you learned at RELEX?
I have learned a lot about how companies do business since that part was missing from my curriculum. I’ve gained experience since I can apply my ideas and knowledge to see what works and what doesn’t.
Seeing how the Scale-Out project grows is actually quite interesting and will still take a year and some to come to fruition.
To whom would you recommend working at RELEX?
I’d say anyone really. There are plenty of challenges to take on, in both quantity and variety, and you have the freedom to do so on your own terms – as long as you can communicate why and how. 😄
Martin Potier, Senior Software Engineer
Martin holds a Ph.D. in Computer Science, in Multi-Level Modeling of Complex Systems from the University of Paris-Est Créteil. He has spent two exchange periods in Finland before moving to Helsinki in 2017. He is really into music in all of its forms – producing, singing, listening, commenting, and discovering. Whenever he finds the time, he goes biking or builds mechanical keyboards.