Looking back on my career so far
I'm starting a new job next week. This seems like a good opportunity to look back on my career as software engineer. What did I expect from the different jobs and positions and what happened?
I worked as a doctoral researcher in the Department of Biomedical Engineering and Computational Science at Aalto University 2011-2015.
What I expected
I expected to fulfill my dream of getting a doctoral degree. I wanted to also get skills in computational science that would make it easy for me to transition to a career in IT in the industry.
I got my doctorate and had a great time doing so. My supervisor Jani taught me much of what I know about research and scientific writing. I made a good friend in the research team.
I spent six months as a visiting researcher in Ecole Centrale Paris. Living in Paris was an experience I will not forget and and I got to know amazing people. During my visit, I was very lucky to work on a topic that would lead to the computational method that defined my whole thesis. The papers created together with the Paris team are my highest cited articles to date and I'm very proud of all of them for the rest of my life.
During my doctoral studies, I was very opportunistic to pick courses that would promote my transition to private sector after my doctorate. I took courses in C programming, machine learning, Bayesian inference, and data structures and algorithms. These courses were useless for my thesis, but they were essential in preparing for the move to private sector for a career in IT.
I got to know two great researchers in the Department of Biomedical Engineering and Computational Science. This connection eventually lead me to successfully apply for a position in IndoorAtlas, the company to which I moved after my doctorate.
I worked as Algorithm and Software Developer at IndoorAtlas in 2016-2018.
What I expected
I expected to be able to apply the skills I acquired in school to solve real-life problems. I expected to get better in mathematical problem solving. I expected to learn how working in private sector is different from working in the university.
I was very lucky to work in a great team lead by Arno Solin, currently a professor at Aalto University. I made great friendships that have lasted to this day. I had perhaps more fun at IndoorAtlas than anywhere else in my career.
I was tremendously lucky to have colleagues fantastically good at software engineering. I got first hand experience of what are good code, clean design, peer reviews, DevOps, CI/CD, test automation, monitoring, microservices... I owe a lot of my expertise today to those years at IndoorAtlas.
I spent most of my working time writing software. I was really bad at it and got brutal feedback from seasoned software engineers on my pull requests. Slowly I got better and started enjoying writing code and PRs. I understood that I enjoy writing software more than doing research. Writing good code is both challenging and deeply satisfying. My career shifted from research to engineering.
I got a chance to lead the Data team. I never imagined I could end up in a "managerial" position at IndoorAtlas. I learned a lot about the challenges of working together as a team and what kind of issues can hinder the team's wellbeing. I probably sucked as a team lead, but I did my best.
I worked as Machine Learning Engineer at Meeshkan in 2018-2020.
What I expected
I wanted to get experience of building software products from scratch. I wanted to learn how to set up cloud infrastructure, software delivery pipelines, test automation, etc. I wanted to have a fancy job title that would be good for my career.
What a ride it was working at Meeshkan! I was at Meeshkan for two years but it surely felt like a much longer time. Many people joined and left the company during my time there. Product ideas came and old products went obsolete. I saw our company win the Slush 100 pitching competition and raise a lot of money.
We built many software products from scratch and I learned more than I could have hoped for. I also got to learn product development, write blog posts, attend conferences, travel under mind-boggling schedules, interview candidates, learn about marketing, manage open source software...
I can wholeheartedly recommend joining a small startup at least once in the career. You get to try so many things that you may end up learning a lot about yourself. I learned that instead of getting to do a bit of everything, I'd like to focus next on getting better at backend development and try to build products that last.
I'm most grateful for the connections I made during my time at Meeshkan. I have never witnessed such passion and drive before or after. We wanted to build something great together and I think we did. Meeshkan may not have become a billion-dollar company, but it was an experience I'll cherish for the rest of my life.
I worked as Senior Software Developer and Lead Software Developer at Silo AI in 2020-2023.
What I expected
I expected to deepen my skills in Python and backend development. I expected to get first-hand experience of building machine learning systems in the real world.
Silo AI was a company of great people. I got to know people who I regard as role models, both in life and at work.
I learned that even a company with ambitious growth targets can take good care of its people. I learned about mental wellbeing and how to manage myself.
I got to deepen my skills in teaching. I learned how much I love sharing my knowledge. Organizing workshops on software engineering was one of my favorite tasks during my time at Silo AI.
I learned my own limits. Splitting time between two projects and working with a challenging client lead to my first burnout-like situation. When I was struggling, I learned how a company can care for its employee and I'm very grateful for all the support I got.
I learned more about how to work with different kinds of people. Many people joined my R&D project for a brief period between their client projects. I learned how different everyone is, be it in their skills, character or ambitions. I learned how to cope with situations where the performance of individual does not meet the company's expectations. Nobody likes such situations, but now I feel I'm better equipped to handle such situations in the future.
I learned a lot about technical interviews by carrying out maybe 70 of them. I learned how to cope with imposter syndrome and not feel like an imposter when interviewing candidates more experienced than me.
I learned how to write good feedback and how to ask for feedback. Thinking in long term, this is perhaps the most important skill I acquired.
Sanoma Media Finland
I'm starting as Senior Developer at Sanoma Media Finland in 2023.
What I expect
I expect to have a sense of purpose being part of free media and a media house known for high-quality journalism. I expect to learn how to build robust and maintainable event-driven systems. I expect to learn more about real-time machine learning and recommendation systems. I expect to learn how to focus on outcomes instead of outputs. I expect to get to know great people and learn from them.