Disclaimer: This post is also published at the Sikt blog.
I began my research career at SINTEF Energy Research after finishing my Master’s in numerical mathematics in 2008. My main area of research throughout my career was computational fluid dynamics (CFD)1. I finished my PhD in 2013, and I stayed at SINTEF working as a research scientist until March 2022. In April 2022, I started working as a senior backend developer at Sikt — this is where I’m currently still working. In this post, I want to express some thoughts about what I’ve learned after my transition from being a researcher to being a developer.
I didn’t have a formal background in software development. However, as a CFD researcher, I was accustomed to programming and designing models to solve complex problems. I was also personally interested in software development. I dedicated much of my free time to learning new programming languages and honing related skills. As an example, I built and maintained VimTeX, which is a relatively popular Vim and Neovim plugin for writing LaTeX.
Now, I clearly lacked some skills when I started working as a developer. A few that come to mind:
- I didn’t know the languages I started working with: Kotlin, Java, and Scala.
- I didn’t really know web development at all.
- I knew little about infrastructure technologies such as Kubernetes.
- I did not have much experience with SQL and databases.
- I lacked a lot of the vocabulary, including things like “agile”, “CDN”, and “trunk-based development”.
Over the past three years, I’ve acquired substantial knowledge in these areas. Of course, there are still gaps where I both need to and want to learn more. I enjoy learning new things, so I both believe and hope this will be true until I retire!
The above are all very concrete, technical skills. And though they are important, I would also claim that they are easy to learn under the right conditions2. Instead, I’d like to highlight two key insights I’ve gained that I find particularly compelling: The value of good problem solving skills and the importance of a good working culture.
Problem solving skills
I’ve discovered that I can be productive and valuable even without knowing everything. As a researcher, I learned to be thorough, structured, and analytical in how I solve problems. Essentially, I find I am good at asking the right questions. This is useful, because it can help me and my team to reach good solutions for our problems.
Further: In research, we are trained at reporting our findings. We write papers that describe our problem. In a paper, we refer to related work, describe how we propose to solve the problem, show results, discuss the results and draw conclusions. While writing papers, I often realized I made mistakes in how I understood the original problem. And writing about the problem also helped me think about solutions. The process of writing is useful both for communicating our work, but also as a means for doing good work!
In my experience, I have found that this structured method of writing is useful also as a developer. Researchers are used to this, but in my experience, developers are often not trained at this method of problem solving3.
Culture
At SINTEF, I worked in a highly skilled team with clever and kind co-workers. After the transition, I still have the pleasure of working in such a team. However, in the new team, we have developed a very good and positive culture. It’s hard to put it in words how much value this brings to me. But in short, these are all traits that characterizes the culture of my current team:
- I feel safe — I can express my thoughts more or less unfiltered.
- I can be curious and spend time on investigating ideas. This has made it much easier for me to fill skill gaps, for instance.
- I receive honest feedback on my actions and work.
- We’re allowed to have fun.
- We are open and share our thoughts and ideas.
- We respect each other’s time and minimize unnecessary lengthy meetings.
- When things are unclear or frustrating, we are good at being constructive. Instead of staying in a frustrated state, we start investigating how we can best proceed.
I think I’ll have to elaborate more about my thoughts on culture in a later blog post. Now, to conclude this post, I’ll just summarize and say I’ve found the transition to be a positive experience.