TL;DR suizman > DevOps engineer, gamer and Golang newbie

My name is Martin Evgeniev and I was born in Bulgaria in a relatively small town called Sliven. My passion for computers awoke at the age of eight. Me and my older brother used to visit the local cyber, which was actually a storage room. At the beginning, our only target was to play video games (Doom, Quake…). I’m sure they sound familiar to many of you. After a few months spending a lot of time at the cyber, new games arrived. I’d started asking questions to the owner about how he put the games inside the computer. He explained to us basic stuff about the computers hardware and how to install programs and games. The machines were Pentium I running at 133MHz with Windows 95 installed.

After that moment, we started asking every day to our parents that we wanted a computer at home. Finally, after a few years of useless efforts, our parents agreed to buy us a PC. It was a brand new Pentium II MMX, 64MB RAM,10GB HDD, Voodoo2 GPU, with a kick-ass Sound Blaster sound card. We also bought Windows 95 book to learn about new stuff to do with our computer. It was 1998, the year of StarCraft and Half-Life. As you can expect I played all day and all night long without paying much attention to books… Yeah, sure I had a PC at home and learned how to install software, basic system management, and hardware knowledge good enough to clean and change the components by my own, but it seems I was no longer interested in learning most advanced computer skills, like programming.

A couple of years later at the age of eleven, my family moved to Madrid, Spain. At the beginning. I had no more friends than my own brother, because the language barrier. Both of us started buying specialized magazines about computers and, of course, video games. But this time I’d started to take serious learning how computer hardware works. Our parents managed to buy us a new PC, this time it was Pentium 4 Prescott at 2.8GHz with 512MB RAM. I remember reading the same magazines more than once. 2004 was a great year for gaming. Games like Half-Life 2 and Doom 3 were released, along with new players in the FPS genre (FarCry, Painkiller). That was also a big jump for the hardware scene and Microsoft’s DirectX. I really enjoyed following the gaming industry evolution besides the new hardware innovations. From that moment I’d realized that I wanted to study a computers grade ASAP, but first I’d to finish mid-school studies. Meanwhile, I continued expanding my Hardware and Software knowledge.

Finally, in 2007 I started studying a general-purpose computer degree. Back there, I’d got solid knowledge about how computer hardware works and skills in Windows environments, but man, I sucked at Linux. I’m not lying if I tell you that until that moment I’d only heard or read the word Linux just 5 times or less… Of course, I was there to learn, that’s what people do at school.

The first Linux distribution I ever installed was Fedora 7, at the same time learning how to create a virtual machine using VMware. I’ve learned a lot of new OS and servers related stuff they also teach us some basic HTML + CSS skills and scripting in bash. The one class I’ve really enjoyed was Networks, I still use some tricks learned that days.

The “worst” thing, at least for me was the hardware related part. It didn’t expand much more my knowledge at that time. But hey, it’s not that bad to already know some of the course content, it can save you up some reading.

At the end of the degree to obtain the diploma every student have to complete three months of training in a company. In my case, I ended up templating OS’s and repairing PC’s and Laptops in a Hewlett Packard partner offices. I learned a lot during the practices and meet great people which I’m still in touch. Unfortunately, when the training period finished there was no chance to hire me as an employee. I and a classmate started working together as a freelance doing all kind of computer repairs and servers management for small size companies while doing some active job searching and continuous interviews.

One year after that, march 2011, my journey at bigger companies started with a position in an operations team 24/7 in Banco Santander. During this period I grow-up my global system knowledge. The advantages of working in a bank are that they have very heterogeneous systems, you can see all kind of machines and OS’s and architectures, from IBM Host to distributed systems with Windows, Linux. One year later plus a good understanding of the many environments in my daily functions, I decided to try to move forward in my career. But that was impossible at that moment in my concrete department. So started looking for opportunities in other companies.

Not much later in 2012 I changed to a smaller company which was a provider of another of the most important banks in Spain BBVA. There I made a big step forward joining the rising trend of Cloud Computing. My boss role and also mine was to manage the brand new Continuous Integration services like Hudson/Jenkins, Nexus, Sonar and some other Agile software Jira, Confluence hosted on AWS EC2. Yes, I’m talking about Java + Maven stack. The whole thing was to improve builds, testing and deployment times. Also, make developers life easier. The resources limitation and the fact we were an only two-man army, I and my boss (also doing management part) force us to automate things as much as possible. Self-service to create new projects in our CI platform and project management tools. The builds in Jenkins used the EC2 plugin to dynamically provision agents when needed. Bring up ephemeral machines to test the applications. We also made some steps forward into Continuous Delivery in some of the core pieces which occasionally needed to deploy some critical bug fixes ASAP. I know from good collages that this automation is still serving in daily production, some of them re-written in other languages but the logic remains the same.

For me, this experience resulted very rich from an innovation point of view. Till that moment I was barely familiar with cloud providers like AWS.

Somehow all my CI/CD experience brings me to the innovation team at the same company. In 2014 a had a chance to join the great team for a large scale project which needed a lot of automation skills and dealing with some bleeding-edge tools like Docker, Mesos, and yes, Kubernetes. The whole thing required to acquire a solid knowledge of distributed systems, containers and Event Sourcing pattern. Our mission was to create a highly scalable cloud-agnostic microservices system. At that moment almost every tool was in alpha or beta version, we had issues with the container networking, orchestration, monitoring, and logging. Dealing with all this complexity made our team grow a lot of aspects. We ended up with an overall very stable microservices “platform”. One thing I’m very proud of is that we achieved a local development environment to be the same as our provisioned dev, pre and pro with the only difference of the services endpoints. The whole experience forced us, me, to start acquiring developer skills.

This is how I become a DevOps Engineer and started improving my programming skills.