Meet Inkef’s Senior Advisors series Part III — Mats Jonsson
As part of the “Meet Inkef’s Senior Advisors” series, I sat down with Mats Jonsson, a true mastermind with more than 3 decades of experience in Software Engineering and Technology. From submarines to fighter jets, Mats is on an everlasting mission to figure out elegant and simple solutions to really hard problems.
Let’s just dive straight into it!
With more than 3 decades of experience in technology and engineering, from developer to chief engineer, we would love to know more about your impressive background and passion for the field!
I can’t tell you what I did and for whom, but I can tell you how I did it and the things that really intrigued me throughout the years. And I think this is also the best story to tell — it is so interesting to know and understand how things get done. And this for me is a life-long theme. I’ve always been attracted by things that are too complicated to be understood initially, I’ve always been drawn to these challenges. I am 51 and I cannot stop, I’ve always been a curious person, I still am and will probably always be — to the point that my friends believe I am the main character from the book “The hundred-year-old man who climbed out of the window and disappeared”. Curiosity is what I admire the most in people, to be curious and to listen and try to figure out how things work as opposed to saying no to what is new or different just because “we have always done it this way”.
I started at a very young age. I was born in the 70s and computers came about when I was around 10 and at that point in time, they were cheap enough to get my hands on them. And I think this is the story for most of us at that time: Lego, Meccano and computers. Your parents would never stop you, kids were sent out and left to experiment and told to do something with their time. It was always an endless experiment, especially during the summer holidays — lots of mischiefs, pranks and blowing things up! Things that if I would let my kids do today, the authorities would probably come and pick either me or them up, or probably both! Back then it was normal. The computers have always fascinated me, but they really absorbed me when I was a teenager when they got sophisticated and fast enough to do fun things with them. I started programming demos (yes, that was the cool thing to do in the 80s!), pushing the hardware to the absolute limit by low level programming, that was endless fun. At some point I even almost flunked school because my group of friends and I did programming throughout days and nights. And then I made of this passion my job.
And it suddenly got more serious, the challenge grew in parallel. I started with industrial control systems and telecommunication, things that had to work all the time and be very reliable and high performance: again, pushing the hardware to the limits. This aspect sort of went away in the 90s or early 2000 as computers had gotten fast enough. But now this problem is back again with cloud computing, because the efficiency of a data center is directly connected to the revenue of the data center, so the major cloud providers are very keen to finding optimizations and accepting additional workload. And this is how I taught myself into the inner working of Google Cloud, by optimizing things they did, tweaking them to optimize them by 6–7%, but on the Google scale that is several billions of dollars. You could say I am tinkering with bigger things, on a larger scale, but still tinkering.
And I got here by making thousands of mistakes. Quite often breaking things or getting them to a point where they could not be saved anymore, and the hardware needed to be replaced. And that is the cost of pushing things, everything has a breaking point. But it is very good to know what the breaking point is, if you want to operate things in a safe manner. You can design products to avoid the hard limits. In early 2000 I became obsessed with measuring tools, and this has been a passion ever since: profilers, tuning, cache levels, CPU pipelines, is there additional performance to be gained by tweaking the software in a certain manner? And that became all the more important when machine learning came about, because loading huge datasets and running training sessions on those networks tended to take a long time, until about 2006/2008 when we started being able to accelerate GPUs, we were already on it — we had to, there was no other way to get it done. Iterating stuff, finding the limits, the point where things break, it means you need to have a lot of tools to catch whatever goes wrong, and the more precisely you can do this, the easiest it is to fix it. And it is all about drilling it down to a level of details that humans can understand and fix. And this just grows as software is such a malleable resource that can be used to do pretty much everything, and the more tools exists the more different types of software you get to work on.
Can you tell me more about your work with Inkef and what motivated you to become an Advisor?
I really enjoy the idea to have early access to incredibly smart people. If you support these brilliant engineers with wild ideas, it might very well be that they don’t end up doing what they initially thought they would do because as they progress along, they learn more and the idea turns into something else, and that’s fine. But I really think is great to be part of this European ecosystem that picks up these talents and nurtures and supports them. And this is a very long-term journey but surely an exciting one.
I also love to be exposed to such great ideas and the cases I have worked on with Inkef most of the times really intrigued me and left me with a lot of curiosity for the team and the idea they were trying to implement. This is why I really like doing this, I love when founders pick my brain, and I am left thinking about the solutions they are implementing for days. I really enjoy getting to know these brilliant people and I hope the insights I can provide from a technical perspective can help them with the problems they are trying to tackle.
The world of Software is ever evolving and changing at a very rapid pace — how do you keep up with this?
I would say it is a combination of curiosity, discipline and time. It is a matter of dedicating a few hours a day to reading resources and papers. I always wake up at 5am — I have no idea why. I never had an alarm clock since I was a teenager! No one was awake at that time, so I needed to find something to do during those mornings, and I started reading. And this got really systematic over time.
I tend to focus on an interesting topic at a time and I read everything about it. And this can be about new pieces of software, computer science, hardware research or anything really.
For the past 15 years I kept browsing the major conferences until I identified a few professors who typically work on topics that really fascinate me, and the work that they publish is interesting to read. I also enjoy the work published by smaller organizations within larger enterprises, for example I really like the research published by Microsoft research and IBM research, Google, Facebook. But at the end of the day, it always come down to an individual. And typically, these individuals have a twitter feed — so my twitter feed became a very carefully designed filter bubble. And when something new is published, I add it to my reading list and every morning at 5 o’clock I pick the top five and read them and sometimes I’m so drawn into this that I read 5 more.
The best part of this is that if something really intriguing comes up and it is software related, then I need to try it myself. And another great aspect of this is that oftentimes the people who publish their work do need help, and if you reach out to them because you admire their work and figured out an approach that they can consider or figured out something that they haven’t, you really help them progress forward in some way. And this is usually very much appreciated.
You could say that that kid who started experimenting with computers when he was 10 never really stopped.
“The man with the hat” — please tell us more!
I am a really introverted person and quite a shy guy as well so “The Hat” is a persona I created, he is a guy that can go out in the world and be social, stand on stage presenting his work, generally getting involved. But when I get home, I take off the hat, and I am me. I usually prefer being on my own, tinkering with my devices, but this persona allows me to be comfortable being out there and expose my work and ideas. This started when I read about David Bowie: he was super scared of standing on stage in front of thousands of people, so he created Ziggy Stardust and all the other personalities because then it wasn’t David Bowie performing on the stage, it was one of the other characters. It’s all an act. And it worked so well for me during the years. It all started about 20 years ago and since then it accompanied me onto many interesting stages — it brought me to Stanford, in front of a crowd of few thousand people!
How has the industry changed since you started? And where do you see the industry going in the future?
I would say that it tends to run in waves, and I still don’t really know why. I think it has to do with the fact as an engineering practice and as a field of research, Software is still quite young. It still goes from one extreme to the other, causing several waves of disruption because something new and better comes along. What I think is missing is the basic engineering principles, most likely in terms of restrictions around how you can design things. The other engineering disciplines tend to work with some constraints or restrictions, for example we have fixed rules when it comes to designing physical objects or how to designs molecules, there is nothing random about it. There is much more freedom when it comes to software: you can do whatever you want, you can build your software however you like it. Software is still looking for those constraints that will allow us to build systems that are predictable, reliable and maintainable. Software should become a bit more like trains are these days, it is hard for trains nowadays to just break. Or civil aviation, this is so reliable. If software manages to become something like that, it will soon enough become something in the background, something that we assume has always been there, like electricity or running water.
—