Tobias Johannson is technical lead developer for Valo.io in London. Tobias has nearly 15 year’s experience developing in .NET and Scala. He has a background in the financial sector as a front-office developer but changed track in 2013 to be part of a team building Valo, a new real-time analytics platform from the ground up. His goal is to outlive the JVM and his tea addiction. His talk ‘Einstürzenden Neudaten: Building an Analytics Engine from Scratch’, at Data Natives Berlin 2016, was his first appearance on the conference scene as a speaker.
Tobias, what is your professional background?
I’m a software developer with nearly 15 years’ experience. The first 10 were as a .NET developer but now I am doing Scala development full time.
When and why did you start learning software development?
At university, and then I was lucky to get a software development job straight after graduating at a Hedge Fund in Madrid. Developing for the financial industry was a great learning ground as it is a very fast moving environment where screw ups could have a direct financial implication. In this environment you learn to build systems in fast iterations without losing focus on correctness and stability.
What is your role at Valo?
I’m technical lead and developer for Valo. We do a distributed analytics system for streams of data. The idea was born out of building P&L and risk systems for banks and hedge funds. It focuses on simplicity from a user perspective without compromising on the analytical powers.
What do you love about your job?
I’m probably one of the few people who look forward to work on a Sunday evening. I love creating things and currently that something is Valo.
You have experience working in the defense industry, in large financial investment banks, in hedge funds, and in startups. What lessons have stuck with you throughout your career?
Each environment teaches you new things, and I always encourage people to try to move around between industries because of that. Investment banks and hedge funds are naturally money driven and it is reflected in the culture and how systems are implemented. People tend to take shortcuts for their own benefit – which is what I dislike the most of those industries.
How has your background influenced your current approach to development?
Many of the developers I work with have the same background as me. In fact, some of us have worked together in the past at different places. This is what creates the foundation of our development team. It is immensely valuable to have a well working core within a team. Without a core it won’t work. This is probably what has been the most important experience in my past career – to find people you like working with and who inspire you.
Which are the fundamental skills that you learned as an aspiring software developer, that have stuck with you throughout your career?
Don’t blame someone else for your own issues. Be humble. Move forward. Have passion.
I feel embarrassed when looking at some code I have done in a rush and it does not look neat or isn’t well tested. It is something which cannot be avoided when you need to move fast but it is always in the back of my head, and whenever I can, I go back to old code and sort it out. Another thing I have realised over the years is that if your unit tests do not look nice (i.e. small and easy to read) then it is most likely to be an issue with the underlying implementation.
What is your favourite technological setup?
Valo of course! But I do miss the .NET platform.
Like this article? Subscribe to our weekly newsletter to never miss out!
Image: Silke Briel.