Seamless Software Development with Ilmari Kontulainen
Today we have the privilege of hearing the thoughts of Deveo CEO Ilmari Kontulainen. Ilmari has a lot of insights to offer about the software development field because he is in charge of a code management and collaboration platform known as Deveo. In this post we will hear the thoughts on various topics, from his personal background to how Deveo operates on daily basis. Enjoy!
I'd like to start the conversation with a background story. Can you tell us who you are and how you were introduced to computers? It would also be interesting to hear about your path to becoming CEO of Deveo.
I'm Ilmari Kontulainen, CEO of Deveo. I was quite a late bloomer when it came to computers. We got our first computer back in the 90s. Now that I'm thinking back, it was during the time of Windows 95. I was keen on doing more than simply playing games with the computer, things such as light programming and even composing electronic music, were more for my taste. I never actually published anything or took it as something that I could build my career out of though. It was only in high school when I decided that Information and Communications technology was the field in which I wanted to prosper.
My IT career started approximately 10 years ago when I joined Aldata Solution. The company made software for POS systems in grocery stores. My job was to support the POS systems remotely. After spending a year and a half, while simultaneously studying computer science at the university of Helsinki, I landed my first software development job at Valuatum. Valuatum was an early adopter of the SaaS model of service delivery, and that made the company quite interesting, given operates in the finance sector. I managed spent a couple of years working as a Java developer before it was time for me to start working on my master's thesis and looking for new challenges.
I studied leadership and management at the university as a minor. One course, Leadership Development and Improvement, if I remember the name correctly, drove me to seek a master's thesis topic about improving software development teams. In addition, it lead me to find new challenges in the consulting domain. I landed a job as a consultant at Eficode, a Finnish software consulting company, where I worked with 80 experts in DevOps, Big Data, and tailor-made software development. I thought my life would have been like what I read from Edgar Schein's books, but it wasn't. What I ended up doing was more hands-on technical consulting for development practices such as Continuous Integration and test automation. Eventually, even my thesis ended up being about test automation, specifically about a protocol testing library for Robot Framework.
At Eficode, I spent a lot of time as a member of the Robot Framework core team. It was the most self-organized and holacratic team I had ever encountered, and it has taught me a lot about building a high-performant team. The team was co-located but we also worked remotely from time to time. Everything revolved around creating value to the end user.
During my consulting career, I was also took part to the pre-sales, sales, and productization of Eficode's core competencies. The more time I spent on those activities, the more interested I was in the business side of things. I started demanding more and more business responsibility from Eficode, and my prayers were answered in 2013, when Deveo was spinning off from Eficode as a separate entity. Eficode had been developing Deveo for one and a half years at that time. I think that it was a perfect match for my desires, when I was asked to take charge of Deveo. My passion for business-related challenges made me say "yes" almost instantly. But that's the history.
Deveo's home page describes the service with the following tag lines: "Seamless Software Development. Code management and collaboration platform with Git, Subversion, and Mercurial." People are probably familiar with services like GitHub and Bitbucket; For those who haven't heard about Deveo, how would you describe it?
Deveo produces tools and self-service platforms for software configuration management. The product you see on http://deveo.com is a code hosting and collaboration platform that supports Git, Mercurial, and Subversion version control systems. We distinguish ourselves from Github, which is more focused on the open source community and offer something that supports organizations that have a lot of software projects, many of which include different technologies and even different version control systems. That said, we are focused on the needs of for-profit companies.
Naturally, you can do a feature-by-feature comparison between Deveo and other similar platforms (GitHub, Bitbucket, etc.). We have recently blogged for example about how issue tracking functionalities differ in the aforementioned platforms. Naturally, we also believe that you'll see the difference in a positive light if you try Deveo. An ex-Apple employee once said "Deveo is the best-looking software in this category I have ever seen." So for those of you who would like to try Deveo, we offer a free 45-day trial, which should be plenty of time to try things out.
Looking at the impressive list of features from your relatively small team suggests questions about how you decide which features to implement and what process you follow from idea to production-level feature.
As with any small company that continually receives lists of requirements from both current and potential customers, it's not easy to prioritize features. To be honest, we shouldn't even be talking about features in the first place, but about impacts or the needs of the end users.
I recently guest-blogged on Arctic startup blog about how we do product management in Deveo. To summarize our product development and prioritization, we always pick new features that solve problems for both our current and prospective customers. We also pick tasks that enhance the current user experience, pay a little technical debt, and make sure that there's something cool in every release.
At the moment, we release new versions of Deveo monthly, keeping the release cycle short while maintaining the ability to deliver new stuff. We rely heavily on automation, as you may expect from a small company.
One additional question on how you operate on a daily basis. Do you have remote workers, or is everyone working in the same office? Do you use communication tools other than Deveo?
Deveo is 100% remote company, even though five out of nine in our team lives in Finland. We embrace the remote culture and other values that let people concentrate on the work, rather on the working hours. Because of this, we were nominated as one of the best performing team in Blue Arrow awards. You can find a short coverage of our culture for example from wfh.io - a site specialised in listing remote jobs.
We use Deveo to do most of our daily work, including code hosting, code reviews, issue tracking and documentation. For more in-depth communication we use Flowdock and Google Hangouts. We sometimes also use Google docs, when it comes to collaborating within a single document. Dog-fooding our own product is essential whenever it's possible.
What has been the biggest pain in developing Deveo? Maybe a lesson you have learned the hard way that you can share with the audience.
One particular lesson, which is not directly related to software development, but more related to product management comes to my mind. It happened one year ago, when we had landed an extremely large deal. The deal greatly affected our roadmap and caused us to lose direction for a while. We learned the hard way that we should be focusing on making the end users happy, instead of following a list of specifications handed out by an entity that does not use the product directly.
That is a lesson that we should all keep in mind. Sometimes an entity with money has requirements that have not been created from end users' perspectives, but from regulation, politics, or bureaucracy.
As a final question, what are some of the things (technologies, methodologies, etc.) that you're currently interested in?
Personally, I have been looking forward to do something with Phoenix Framework. At Deveo, we utilize EmberJS, Ruby on Rails, and some Go on some backend components. These technologies allow us to implement efficient solutions with good conventions, and keep our code lean and clean. EmberJS especially is constantly evolving allowing us to do some exquisite stuff quickly. You can look our latest release coverage blog post as an example.
Thank you Ilmari for the interview. Please, be sure to check resources mentioned in the blog post and links below. Until next time!