My name is Olli Mahlamäki. I'm a Finnish software developer working for Wolt in Helsinki, a father of 2 and passionate sabre fencer and coach.
I love building things that are used by lots of people and where I can see my impact. I tend to be very pragmatic about programming and prefer doing something that works now rather than building a beautiful architecture that will be done sometime in the future. I also try to be they guy who shouts "small batch sizes", cares about post-its on a wall and regular retrospectives - Agile may not be cool any more, but it's still incredibly useful.
Wolt is a food delivery startup based in Helsinki. It is my second and this time hopefully successful try at startup life. Working in a fast growing startup is exiting and ever changing, in 1.5 years I've worked on merchant tooling, the public facing wolt.com web app and the courier app built with React Native. And did I mention we're hiring 😃
Hubchat was my first step into startup life. It was a discussion and commenting platform, leading with web and with matching iOS and Android apps. The company was lead by a very charismatic leader and managed to gather a good amount of investment and great talent, but the actual business ended up as nothing but hype with a very ugly end to the company.
While the business was a failure, I learned a lot from my time there: it was my first time leading a team of developers and, from a technology point of view, a challenging server side rendered React app with shared apis between the web and mobile platforms. I also learned some healthy sceptisism and first hand experience about the negative sides of startups.
Reaktor is a premium software consultancy that combines skilled software development, design, data science and even satellites. I worked there as a software consultant in several projects, the biggest ones being at Elisa and Finnair.
My time at Reaktor really pushed me forward as a developer. Functional reactive programming was really hot in Reaktor at the time and I got to work alongside the creator of Bacon.js - this really pushed me to a new kind of thinking about code. Along with frp I also learned a lot about functional programming and, while I would no longer use bacon.js as the hammer to the nail that is the world, I still prefer immutable data and pure functions thanks to the lessons I learned there.
I also got to step away from web development and use my old Nokia skills in a project for Finnair, where we created new UIs for the infortainment screens on long distance flights. The techology used was QML, which is actually a great UI technology that just didn't get the development time and money it deserved because of the burning platform at Nokia.
Futurice is a premium software consultancy with a big focus on transparency and self-organization. I entered it as a student working part-time and left as a full blown software professional. I also got to see the growth of the company, I think I was employee number 27 and, when I left, there were around 300 people working in multiple countries. They really focus on transparency and self organization, it is from my time there that I get the habit of asking "do we really need someone to approve this" or "why can't this information be public within the company".
Too many projects fit into 6 years to list here, but some of the highlights from that time include being the first employee sent to do a project in Berlin in what would end up being the German office ( I spent a total of 2 years in Germany ), building an e-book store for Elisa, working on what would have been the next version of Nokia Maps on top of Qt/QML (killed by burning platform) and many more.
At the time, Innofactor was a mixture of a product house and a consultancy. They had their own product Innofactor Prime and as developers we built custom versions of the product for different customers and projects. I got hired there as a second year student and worked part time during my studies and full time during breaks.
Other than the obvious thing of learning to be a professional programmer, the biggest lessons I still keep from my time there are around configurability: I saw first hand what it meant to have literally over a 100 different configurations of the same software, the challenges it caused but also the benefits of taking something we have, changing i18n strings and adding a few fields to create something completely different. It's also the reason I try to avoid making something configurable just because the team can't agree on what to do.
I studied in the department of engineering physics and mathematics, majoring in systems analysis with a minor in software production. I started working part time in my second year of studies and full time in 2007. In the end, I completed around 80% of the courses but never graduated.
Although I don't work in the field I majored in, I still think that university level maths, physics and statistics are a solid base on top of which to build any sort of knowledge. And courses in algorithms and data structures or compilers have been very useful in professional life as well.