Ilkka

Early History

I got a Commodore 64 when I was eight and after the mandatory gaming I started to look at (Simon’s) Basic and Assembler. This time also involved lots of programs typed from the magazines. Next computer was Amiga 500 and with that I started getting into the intro/demo scene as I also had a 2400bps modem. I tried my wings as a graphics artist and as a music composer, but wasn’t too good at either, so what was left was coding.

After assembler the first higher level language I used was E (by Wouter van Oortmerssen) and then I used c++ mainly in University. After about year 2000 I used almost exclusively Java until about 2015.

Philosophy as a Programmer

Finding the actual problem from all the crud and solving just that with the simplest and most effective way possible is a skill that’s hard to teach. Having the guts to refactor a solution to best solve a given issue without resorting to countless kludges takes nerve. These are things I strive for. The assembler background also makes you care about performance and efficiency.

I made a promise to myself a long time ago: if someone shows me an easier or better way to do something, I will at least listen. I have seen so many people sticking to very old practices not because they’re the best but because they have never tried anything else. Things evolve all the time and if we’re afraid to evolve with the times we’ll be left behind. This doesn’t mean that we should be on the bleeding edge all the time, but at least be aware of what’s happening around us.

Current Interests

After over 28 years in the industry, I’ve found my way to the intersection of cloud architecture and agentic AI. I’m currently building multi-agent orchestration systems on AWS using Amazon Bedrock and Strands Agents SDK, designing how specialized AI agents collaborate to solve complex problems.

My technology journey has taken me from assembler through Java, JavaScript, Go, and now primarily Python — which has become the lingua franca of the AI agent ecosystem. I still care deeply about the same things I always have: finding the actual problem and solving it with the simplest, most effective approach possible.

On the people side, I continue to invest in coaching and mentoring engineers, increasing communication and feedback loops, and figuring out what makes teams work well — especially as AI agents become part of the team.

Previously I spent years deep in containerization and microservices (you can see the evidence in this blog’s archives), then cloud-native architecture with Kubernetes, Istio, and serverless on AWS. That foundation in distributed systems and service orchestration maps surprisingly well to designing multi-agent AI systems.

I’m always happy to connect — reach out if you’re working on agentic AI, multi-agent systems, or navigating the shift from traditional architecture to AI-native design.