Thursday, August 17, 2017

Meet the Bitnami Team: Marko Mikulicic

The Bitnami team is a diverse group of talented people distributed all over the world. Get to know them better through this series of blog posts.

Marko Mikulicic is a Senior Engineer on Bitnami’s Toolchain team, and works remotely from Italy.

A brief bio

As a kid I liked to take everything apart to see how it works. But computers were different. When I was 8, putting my hands on one wasn't easy, given my track record. But once opened, the mystery just deepened.

Marko enjoying some time with his son

That machine, which allowed my father to stop keeping the neighbours awake with the clickety-clack of his old typewriter, was able to surprise me with its seemingly never ending amount of things it could do. Yet, all I could see was a bunch of quiet plastic bricks, not humming, not glowing, but nevertheless launching my 8-bit cannonballs over rasterized mountains hitting simulated walls of imaginary castles. Every game or application I saw triggered that instinct: take it apart and see how it works!

Like physicists discover how nature works, I was discovering the laws of this marvellous machine. I say discover, because while the knowledge was definitely out there, I first had to make sense of it: as a Croatian immigrant in the Italian-speaking part of Switzerland, I could only put my hands on the tech books from the country majority language. Thus, I co-learned German and C from the same book.

But C did no good. Non only it did not quench the thirst (too high level; what does the machine actually do!?), but the toolchain didn't fit in a single floppy drive. While forever flipping floppies on my shiny Amiga 500, I found a book about assembler and was happily programming in mc6800 assembly hereafter until hard drives finally came into town.

From there, I worked my way through a bit of everything: from academia to the industry, from applications to development tools, from writing compilers and interpreters to operating systems, from micro-optimizations to large scale design, from embedded development and hardware to working on the largest machine learning system on earth at Google.

Other than that, I lived in Switzerland, Croatia, Ireland and Italy. I have forgotten a lot of languages.

I have a 1 y/o son who makes me dream of sleeping.

Why you joined Bitnami and what excites you about working here?

I really like working on tools that make software engineers more productive, which is part of Bitnami’s overall mission. Software engineers love their tools and often have to build their own, either for fun or out of frustration. But there is not enough time to struggle with the same things over and over.

Nowadays most people don't assemble their own PCs and often they don't even install their OSs anymore; we can see how the same pattern can be applied further down on whole development and production environments, leaving you more time to actually focus on your own software and the many more interesting challenges you can face.

I believe Bitnami can make the difference here and give a lot of people that kickstart in productivity they need to build amazing things.

Plus, it's a fun place to work! I have worked in both small and large companies, so I know the pros and cons of both. Bitnami caught my attention because it is an interesting size, in an interesting moment, and has plenty of potential for solid foundations.

Bitnami is also full of people that come from very different experiences. Something that's new for you was well explored by someone else, and vice versa; this offers a lot of opportunities to stay curious and learn a lot of things.

Also, I had to relocate back to Italy for family reasons and I found that Bitnami had built a solid remote working culture that was compatible with my time zone.

What are you working on?

While Bitnami is sharing and contributing to lot of open source projects, like Helm, Kubeless and Cabin, the main thing is still the application catalog, packaged in many ways: VMs you can run on premises, cloud images readily available at your cloud provider of choice and containers you can run just everywhere.

These applications and infrastructure components which you can use to build your systems on are curated by skilled humans who try hard to make things just work so you can worry only about things that matter.

But then, we have hordes of little (software-based) Elves that do the grunt work of building, packaging, updating, testing, publishing, notifying, monitoring so that you can enjoy your click-to-deploy Mongodb cluster.

My job is to program those little subordinate clauses, telling them what to do and how to interact with each other, so that we can free up some valuable for humans to do what they (I mean, we) do better: be creative and apply judgement calls.

Building complex and dependable automation is fun and challenging. It's hard to draw the line between what should be automated and what not, and it's easy to fall in the trap of turning humans to log and graph watchers and mindless button pushers just because you cannot really trust the amazingly complex automation you just built. So much fun, much reward.

What do you like to do for fun?

I work for fun and live for a living.

Not work work, I mean, somehow I got dragged into this whole thing about farming and growing food, making my own olive oil etc; it's serious work! I even had to ferry donkeys across europe, twice.

Not wasting money on gyms; doing useful work as Joule intended instead!

I don't dismantle things anymore. Entropy does it for me.

When I had time, I used to be a musician. I also liked words.

When I grow up I want to be taller.

Interested in working with Bitnami and Marko? Apply for one of our open positions!