What do a Ph.D. in scientific computing and Duke Nukem have in common? Let’s find out.

An interview with Martin Sandve Alnæs | 🥧 Humble Python 🐍

Björn Lapakko
Databutton
Published in
6 min readNov 25, 2022

--

Welcome, my name is Björn and as a non-software engineer who works for and with accomplished software engineers, I need to be an active listener in order to succeed and grow. My goal here is to introduce you to talented people you may not have heard of who work with data, transfer some of their most interesting personal and professional knowledge to you—and ideally help you identify and connect with them in a way that helps you grow. Thank you Martin for the time and insights into how you work.

“I remind myself every morning: Nothing I say this day will teach me anything. So if I’m going to learn, I must do it by listening.” — Larry King, CNN

My subject of focus here is Martin Sandve Alnæs, a Ph.D. in scientific computing who has a 16-year career in programming ranging from high-level scientific scripting, numerical methods, fluid mechanics, and low-level embedded software. He is from Norway and has worked as an academic researcher, and consultant, and now sits directly to my left at the startup we both work for in Oslo.

In practice, what are you working on right now?

Björn: What are you working on at the moment?

Martin: Right now, I’m implementing language server support for Databutton. This is so we can get documentation in line and add the autocomplete feature to our online code editor experience. This will make it easier for users to write code and add external packages. As a whole, I’m working on all parts of Databutton’s software but mostly focused on the backend.

Björn: What tools are you currently using? I would particularly be interested to separate this into tools you need vs. tools you love.

Martin: So, as a programmer, the most important tools I need are the editor that you are typing the code in and the terminal. Git is also a necessity as it is the version control system we are using. Of course, there is a flurry of smaller tools I use to test and validate code—and collaborative tools to manage the experience of working on code with other people, exchanging ideas, and discussing things online. Which are all for practical use but also serve as inspiration and direction for how we build things specifically for Databutton.

Björn: Do you geek out over any specific tools?

Martin: I’m not sure in this sense but I do have a habit of switching between different types of editors over the course of my career. Currently, I’m using PyCharm from IntelliJ with the IDEA Vim plugin. But I sort of want to use a more fully native Vim experience with Neovim and plugins but it’s a lot of work to get that set up and I’m not yet happy with my configuration. So, I sort of flip between these tools over time.

Martin has, “A Very Particular Set of Skills”:

  • Primary programming languages: Python, Go, SQL, C++, C
  • Secondary programming languages: JavaScript, Bash, Fortran, Matlab, C#, Typescript, and Lua
  • Experience in: relational databases, backend development, fintech, software optimization, API design, numerical and symbolic computing, domain-specific languages, code generation, real-time embedded software, numerical methods, partial differential equations, continuum mechanics (solid and fluid)

How do you upskill yourself? What do you do regularly to maintain and expand your abilities?

Björn: You have mentioned that you are interested in all kinds of technical software development, in particular with mathematical and high-performance components—can you share how you pursue your technical interests and how you build on your current skill set?

Martin: Currently as I am working in a startup, the nature of the work lends itself to constant learning because I can’t offload anything. If I don’t know how to do something or if I’m not a subject matter expert to do the work properly, I need to learn it myself. So, in this sense, I am upskilling all the time. Also, because of the limited resources, we are forced to think very strategically about how we prioritize what to build and how we will do it which is also a skill to always be refined. For long-term upskilling, I like to read technical books to get a solid foundation on strategically chosen topics that seem particularly useful or interesting to me.

Why have you joined a startup? Why now? And do you find this industry different than your work in academia or as a consultant?

Björn: What made you leave consulting to join Databutton?

Martin: I received a call from Trygve (co-founder and CEO of Databutton) who was a classmate of mine at the University of Oslo. He told me about what he was building, who he was doing it with, and why he wanted my help. It sounded like a really fun idea to work on and Trygve is a really fun person to work with based on previous experience so it was very tempting to join. This in retrospect is quite obvious as I am now working here but I’m not certain I would have ever ended up at a startup if it were not for this call from Trygve.

Björn: Can you tell me more about your time with Trygve at University?

Martin: Well, we spent a lot of time working closely together reading, and studying for exams. For example, drilling one another in preparation for oral exams.

Martin was the best to work — then and now. What a man! Wherever you go people will tell you that he is the best they have ever worked with. I have always been impressed with him. Fortunately, he is also a blast to hang around and has a great sense of humour. I have always wanted to work with him again and feel very fortunate that we were able to do that now. Our ways back in university parted when I fell into theoretical mathematics while he was able to stay away.—Trygve Karper, Co-founder and CEO of Databutton

Björn: Can you describe the differences for you working in these different environments?

Martin: The companies I have worked in have all been fairly large and let’s say mature. So now, in a startup (much smaller company size), it is a lot of fun to be part of the bigger picture and part of the decision-making process across the company. The work is more personal and there is a lot more responsibility and ownership over what needs to happen. Additionally, a huge difference between these environments is that in a startup you can’t offload work you aren’t very familiar with to someone else internally who may be better suited because these resources aren’t available.

Can you tell me what comes to mind when I say, “Pig City”?

Björn: Like all of us, we have secrets or forgotten things that still live on the Internet. Can you tell me what the significance of “Pig City” is? I’ll also add that this is in reference to something created in 1996.

Martin: Hmmm, what?

Björn: Maybe it is best that I show you…

Pig City (1996) built by a teenage Martin Sandve Alnæs

Martin: Wow, I didn’t know this still existed. Ha! I remember an American company years ago that took some of the user-built Duke Nukem maps and put them on a CD. I gave my approval for this to be on there and they sent me a copy of the CD but I lost that a long time ago.

Björn: Yes, it lives on and is providing people with entertainment value as recently as Sep 2, 2020.

Rapid Fire Questions for Martin:

Favorite Norwegian Idiom: “Det er ikke bare bare”, directly translated as “It’s not just just” or “It’s not but but”, meaning something is not easy.

Favorite code editor (at the moment): Neovim and PyCharm with IdeaVim depending on the task.

Cool Github project you’ve recently seen: https://github.com/nvim-telescope/telescope.nvim

Favorite holiday season food: Pinnekjøtt!

Hot Toddy, Egg Nog, or Glögg: Gløgg. Or coffee to be honest.

Referenced tools:

Refer me to someone to interview next (you can’t refer yourself):

  • Email me to refer someone you think is super talented but under-acknowledged at bjorn@databutton.io

--

--

Björn Lapakko
Databutton

NoContext™ | Exploring 🌍 and AI | Head of Relations at Databutton.com