Core Evolution Engineering Teams and how they work: ProdOps and SRE pt. 2
This blog post is the promised and well-awaited continuation of “Core Evolution Engineering Teams and how they work: ProdOps and SRE.” If you haven’t read it yet, make sure to check it out here.
In this blog post, we will provide you with some useful hints on growing into a good SRE/Systems Engineer based on our speakers’ background. We will uncover their professional path to understand how it helped them to succeed in their positions.
So if you see your future in SRE, you made the right choice to read what’s written below.
The personal and professional development path of Dmitry or how a hobby grows into a successful career
Starting from school, I have been very enthusiastic about computer science. It was my hobby — digging into how Linux servers, services and computer networks work. I also was passionate about learning how to write simple applications like arcade games, e.g., Snake. That old yet gold game from the past.
After finishing school, I went to a professional college and signed up for the Programming Technician specialization. This education gave me fundamental knowledge about computer systems and programming languages. In parallel, I took up my first IT job as an IT Support Engineer. I was responsible for configuring and managing customer Linux/Windows servers, spread all over the city, and their local network administration. This job gave me an excellent practical knowledge base about operating live IT systems. But moreover, it was a good start to my IT career.
After finishing college, I went to the university to study Computer Science and started working in a rapidly growing Internet Server Provider in Riga, Latvia. I joined this company as a Network Engineer and left after 8 years of service as a Lead System Administrator. During these 8 years, I worked with various network vendors and more than 5000 L2/L3 network devices. The company also had its own Datacenter and provided physical, virtual and WEB hosting services, managed by my teammate and me. My next position was in a small startup company, where I worked as a CI/CD Engineer. This job gave me a practical understanding of Cloud providers and techniques of building infrastructure in the cloud.
Now about my current working place — Evolution! I joined EVO 3 years ago as an SRE Engineer. After working for 1 year and completing a major project, I was promoted to the SRE Team Lead position. Now I’m managing 3 SRE Engineering teams, Data SRE Engineers and CI/CD Engineers. Work in Evolution is the most complicated and challenging in my career. Thanks to the knowledge and experience I gained previously, I can handle it confidently and keep growing.
The personal and professional development path of Renars or the role of the first PC in your life
I acknowledge a deep personal interest in computers arising from the very childhood. My father brought the first PC home when I was in 3rd grade. Since then, I have been experimenting with various OS and scripting/programming languages. I was always fascinated by the Internet and the technologies behind it, curious about how it all works.
My first IT position was a Systems Administrator, where I was looking after an uncomplicated office network and a couple of Linux-based file servers. After that, I worked as a Web Developer for several years until I joined Evolution.
In Evolution, I started as a Support Engineer, and thanks to my deep interest in how things work and visible enthusiasm, I was offered the position of Systems Engineer. Later, I was promoted to the SRE Team Lead position. In this position, I had the opportunity to work on such projects as introducing Kafka infrastructure, application stack containerization and Kubernetes deployments. Currently, I work as an Infrastructure Architect.
For me, one of the primary sources of information is documentation of various open-source projects, such as Kubernetes. I read lots of blog articles in the tech field, for example — Hacker News, which I often read while commuting. A person must have a genuine interest in the area, and relevant knowledge gets accumulated over time effortlessly, just by loving what you do.
The personal and professional development path of Nikita or why having a game console as a kid is not always wrong
I realized that I’ve got a passion for IT right after getting my first video console as a kid; at that point, I realized that I want to become an IT Engineer. During my school years, I actively participated in programming competitions, but I was still more interested in experimenting with Linux and systems engineering activities. In any way, everything I did during secondary school was not only about fun but about bringing me one step closer to the future occupation.
My first full-time job was as a Full Stack Web Developer. It is a very good position for the freshman since you can work with many tasks and technologies. Then I switched to configuration management. In this field, you are responsible for building and delivering applications. What I loved the most about it is acting as a “glue” between all the departments. However, this field seemed too narrow for my taste, so I switched to Systems Engineering within the same company. At that point, I needed to fill knowledge gaps related to this field: how do networks really work, how to manage infrastructure, how to automate operations, etc.
Then I joined an extensive social network as a systems engineer. Precious experience, since you work with literally thousands of physical servers. In this position, I’ve learned that infrastructure changes that seemed unimportant before, can have a significant production impact on a large scale. And also — a lot of things just cannot be done without automation.
At some point, I was promoted to Team Lead. The first lesson learned is that you can’t radically change people; you can’t do the job instead of them — but you should and can help and motivate them.
Then Evolution offered me to join and build a solid production Systems Engineering Department. It was a noticeable career shift from on-hands to technical management. I accepted readily. From year to year in Evolution, my areas of responsibility expanded, forcing me to grow continuously. And I enjoy it a lot. For me, the trickiest part was to find a way to maintain the connection with technology while being entirely occupied with managerial activities. What do I do to achieve that? I write small pieces of utility software, which not only is fun, but makes you an on-hand user of the production platform that you’re responsible for. It gives you healthy insights into the state of things.
Nikita’s, Dmitry’s, and Renars recipe on how to become a good Systems/SRE Engineer Vol 1
It’s all about knowledge. Have a rock-solid foundation in the Systems Engineering field. Understanding and hunting for experience with operating systems, virtualization, container platforms, networking, cloud technologies, monitoring approaches, etc. Get acquainted with different languages and technologies. Understanding development practices and involved principles such as the testing pyramid is also fundamental.
Automation and coding. Do put a strong emphasis on automation and coding. The direction of modern systems engineering is to be more and more aligned with development practices. Automate all manual actions as much as possible, save up your time for learning and exploring.
Approaching problems and blockers. One must systematically approach problems and use technology to solve problems, not as the whole platform of reasoning (“if all you have is a hammer, everything looks like a nail”). If a problem occurs — always dig deeper until you find the root cause. Don’t hesitate to read the source code to dig deeper when needed.
Communicate wisely. A lot of problems should be addressed by communication with other parties. Avoid technical workarounds in order to dodge communication.
Think outside of the box. Thinking outside of the box often helps to find the best solution for problems or requirements, but a solid set of tools and established technologies helps keep track of things. Another critical component of a good SRE Engineer’s mindset is understanding the benefits of healthy Engineering Culture and practicing it daily.
I am a beginner. What’s next?
The first and the foremost — learn to code first, keep coding and coding. Python is a good first language. Then learn how to manage Linux with automation tooling. Then try to understand how networks work, build at least a small virtual network lab. After covering this, proceed with learning how Kubernetes (de-facto standard container orchestration platform) works from inside.
https://github.com/kelseyhightower/kubernetes-the-hard-way may be a good starting point. After getting acquainted with Kubernitization, proceed with managing cloud deployment. Spend some small amount of money to play around and test it live on one of the major cloud platforms; there is nothing better than practice after theory. Get familiar with SQL databases, check out a popular no-SQL database. Finally, make sure you join a company where you can apply most of it in practice. Here, in EVO, we always support our employees’ willingness to learn and grow, offering them everything needed.
Sounds interesting, inspiring, and maybe even challenging? Then come and join us
We’re always open to talented Systems Engineers with production experience. Traits that we value — the ability to dig through to the root of the problem, automate, be interested in developing profound expertise within an area, ability to negotiate to make changes happen. We’ve grown to the state when Systems Engineers are getting specialization areas — e.g., Cassandra and Kafka because everyone can not know everything. However, it’s still an “end-to-end” Systems Engineering job. Engineers invest more time in each area to get more knowledge, experiment and follow changelogs, figure out, and automate ways to scale systems. We have plans of putting pretty much everything on Kubernetes. If that sounds like something you would like to take part in, don’t hesitate to get in touch.
Find more about EVO Engineering, our culture, and open positions here— https://www.evolution.com/careers/engineering/
Follow us on Social Media:
Facebook — https://www.facebook.com/evoneering
Instagram — https://www.instagram.com/evoneering/
Twitter — https://twitter.com/evoneering
Evolution on LinkedIn — https://www.linkedin.com/company/evolution-global