When I’m not working I like to travel. The state of travelling is my true Zen. I read when I travel. I listen to books and podcasts. I also meditate. When I travel is also when I bring my camera and take pictures. Which is something that I love doing, but I mostly don’t do otherwise.
Growing up I was fascinated by the impact a traditional commercial bank would have on people, particularly during turbulent times like the early 90s were in Bulgaria. I learned everything about banking from my grandfather, who was a CEO of a bank. My father being an accountant, and my mother spending most of her professional career in corporate finance at various local banks was pretty helpful as well. So it should be no surprise that as kids we used to play bank or merchant, instead of doctor…
Later, when I started looking for work my dream job would have been in web design for banks. That’s a tough job market though. I ended up in computational photography. It turned out great. I learned process and delivery in the context of software engineering. I got hired by a small team, outsourced and managed by Nokia - back when Nokia was a company building the future of communications and multimedia. I learned about estimation, iteration, technical documentation, even code review. All of this was new to me. But to be honest to most of the industry as I knew it at that time.
Somehow everybody around me was working with Ruby on Rails. I liked Ruby, but I was introduced to Python prior, and it already sued my needs at that time, so I didn’t really pay much attention to the world of Ruby (and Rails). There is a very good reason for that. I was working mainly on test firmware and automated QA for pre-production ARM-based systems. We had plenty of room for experimentation. Everything was C++ and supporting different environments was hell, having to pre-compile every time you make a change, or switch to a different chip, or different kernel, or board configuration. Most of my projects were powered by some standard-ish Linux distribution, either
.rpm based. And that’s how I got to Python – I didn’t have to compile anything, and utilizing the interactive shell provided me with a functional user interface, so I didn’t have to write my own in order to operate the hardware in real time. It was a complete game changer to be able to quickly prototype, using
gstreamer, full end-to-end multimedia pipeline and operate the complete stack in real time from the Python interactive shell. This meant I was also comfortable using Python for all the small utility needs I have, while other people around me were using Ruby for that. So it wasn’t until much later, when I was fed up with my job, when I turned to my friends for professional advice, and they pushed me to Ruby on Rails.
I was lucky to join a real fin-tech company in Germany with a full banking licence and an end-to-end Ruby on Rails stack that was already live. It felt like the absolutely perfect place for me, with Rails, true online banking, and a pretty flexible organization that allowed for fast iteration and experimentation.
During my time there I learned that a well defined organizational structure is a much needed key to success. The right organization can unlock flexibility and provide a framework for growth. It is very tricky to get it right though. And we did go through a few iterations. Starting with a flat organization first, quickly realizing democratization doesn’t work (that way). The hard part ended up getting the culture right, and keep the talent in. You simply need a culture that nourishes creativity and innovation once you’ve grown out of proportion. We didn’t have it.
It’s interesting how your teams understanding of quality shapes your process and even you pace… …
You can contact me by sending an email to something at vpetkov.com.
This website is made with GitHub Pages.
(2005 – 2018) Sofia, Bulgaria.