Breaking out of the Developer Shell: My Journey to DevOps and Beyond

Abhishek Attri
7 min readMay 7, 2023

How Switching to DevOps Made Me a Better Developer!

As a computer engineer, I enjoyed the thrill of writing new code and solving difficult challenges. I’m glad I started working before the pandemic. So going to work was as it used to be. It was fascinating to work in an open-plan office with a group of individuals all brainstorming fresh ideas on a whiteboard. As developers, we used to collaborate with top architects to plan the software’s structure. What followed was the best part:

Transform your ideas into a software

We engaged in online forums, meetups, and collaborated during hackathons, among other things! It was always an open conversation in which anyone, regardless of background or team, could participate. This, in my opinion, is critical for the creation of high-quality software. Furthermore, we used to work directly with customers to understand their comments, product experience, and any problem points.

My team at BlueOptima’s annual meetup 2019, Mexico

I am grateful to my teammates, manager, senior executives at BlueOptima for all of the knowledge and skills I have learned from them 🙏🏻 who were always willing to lend a helping hand and share their expertise 🤝 They pushed me to learn new things and take on new challenges, which aided my personal and professional development.

Why did I switch to DevOps if everything was fun?

The impact of Covid

Initial-days-of-working-from-home | Image source: Alexander Spatari @ https://www.gettyimages.in/

Around early 2020, the pandemic hit our happy world. The lockdown across the globe made engineers shift back to their hometowns. I didn’t expect these sudden changes. Oh, man! It was exactly like Thanos snapping half the universe! To share, I went home like any other weekend expecting I’d be back at work in a few days, but I never did!

Okay…. so we are done with the shifting and setting up the home office. It wasn’t cool, but definitely a cozy one! A laptop, some books, a bed to work or lie down, relax, sleep, repeat. It was an infinite loop. I bet you can resonate with me on these things.

Working in a room was the hardest with everything changing. Rest by lying down. Strangely, nobody wants fresh air anymore. No nature exists. The whole idea of colleagues socializing over tea breaks became obsolete. I needed a new outlook as things got worse. Since I spent most of my time working, I decided to channel my urge in this direction.

Exploring new skills and technologies

DevOps-tools-and-technologies | Image source: https://plumlogix.com/

As I advanced in my career in these tough times, I realized that there was more to software development than just writing code. I needed a way out to refresh my brain cells and try something new. This is when I came across this whole new world of Operations in Software Development known as DevOps.

  1. Thanks to their engaging community, I was able to gain a deeper understanding of the DevOps philosophy and how it can be applied to real-world scenarios.
  2. I gained knowledge of a variety of DevOps tools and technologies, such as Jenkins, Docker, Kubernetes, etc. along with the world of cloud computing, primarily the Amazon Web Services (AWS). These things fascinated me a lot!
  3. I studied the practices required to create fault-tolerant, scalable cloud systems as well as how to use cloud-based technologies to automate the software delivery process.
  4. I gained a better understanding of the business requirements driving the development process through DevOps. Certainly making better decisions and contributing more to the project’s success as a result.

And the list is endless….

Breaking out of my comfort zone and Transitioning to a new company

VMware, Inc. | Images source: https://www.vmware.com/

Around six months down the line in mid-2020, I joined VMware as a DevOps Engineer after a series of tough interviews. Phew! It was really hard to make it, given having limited background experience in the DevOps/Cloud industry. I can bet this to be the most impactful and fruitful point in my professional life. This decision changed my life for good.

I have been having a keen interest to have access to innovative technologies and be among the world's tech giants. The size and complexity of these technologies, on the other hand, originally worried me. At times, I felt hopeless and gave up since the world of DevOps seemed to be an infinite variety of obstacles. The matrix includes Jenkins, Docker, Kubernetes, Apache Kafka, AWS, Terraform, Linux, and various other in-house solutions.

Thankfully, my managers and colleagues were always there for me ❤️ They noticed my hardships and encouraged me to put up my best effort regardless of the result. They provided me with plenty of support and chances to concentrate on my foundations while taking on the problems one at a time.

I’ve traveled a long path to better myself and learn the most crucial life lesson: Gratitude 🙏🏻 I strive to give back to my coworkers in the best way I can, and that helped me stay happy throughout. We believe in tackling the challenges with the ‘One-team’ mindset and thriving for success 💪

Perks of being a DevOps Engineer

Image source: Macrovector @ Freepik
  1. Hitting new challenges every day
    As a developer, I used to come to a point where I thought my learning had reached the ceiling. The opportunity to learn new skills, work with new technology, and assume new responsibilities are among the benefits of DevOps. You do need to be on your toes around the clock to become better at the widely accepted tools and technology, plus explore the next big things.
  2. Striking the Dopamine through the constant thrive for innovation and improvement
    DevOps teams are constantly looking for methods to improve the software delivery process, minimize time-to-market, and increase product quality. There is no other field that can bring as much enjoyment and fulfillment to those who enjoy working on exciting new technology and are passionate about improving the software delivery process.
  3. Better work-life balance
    This is not related to a company or an Organisation, but the field in general. DevOps can actually improve your work-life balance by reducing the amount of time you spend on manual, repetitive tasks. This can provide developers more time to focus on higher-level tasks like developing and building new features, optimizing application performance, and resolving difficulties.
  4. Collaboration with other teams
    As a developer, I spent the majority of my time developing code. However, you get to work closely with other teams, such as Developers, Platform engineers, Operations, Testing, etc. This can broaden your viewpoint and help you create deeper relationships with your colleagues.
  5. Taking on more responsibility and ownership
    DevOps professionals are frequently in charge of the full software delivery process. This can create a sense of ownership and accountability.
  6. Getting to know the product inside-out
    This is my favorite part! You actually get to deep-dive into the end-to-end process to understand imperative principles of Site Reliability Engineering, such as:

Where are the majority of the customers located?

Understanding various regions provided by the Cloud provider to host your applications. Choosing the right region(data centers) will highly affect the key characteristics of your service such as latency, availability, infrastructure costs, compliance, etc. hence the overall customer experience.

How can we make sure that the service is highly available?

What do you do if a webpage takes too much time to load or suddenly crashes? You switch to better alternatives. This is no less than a nightmare for the product owners. To avoid such issues and make sure your application runs 24x7, there are some practices followed globally. You get to know about using load balancers, monitoring system health, improving redundancy, and implementing various disaster recovery and backup plans. You get to grill the application to the fullest so that you know how to act during catastrophic failures.

How to scale the applications effectively and do the capacity planning around it?

You are in charge of ensuring that systems can withstand increases in traffic and load. This includes anticipating future capacity requirements, identifying bottlenecks and areas for improvement, and implementing solutions that enable the system to scale up or down as needed.

What are the pros and cons of the monitoring and automation tools available in the market?
There are countless tools available in the market. The number will increase while you try to count them! While some of them are proficient at providing great visibility and improving system reliability, these do come at the cost of higher complexity of configuration, management, and customization.

Infrastructure monitoring and soulutions | Image source: https://e.huawei.com/

The ideas of site reliability engineering discussed above touch on a variety of subjects. I’ll be writing a post exclusively on this topic soon.

I still feel like a lifelong student even after working in the DevOps industry for almost three years. I like every facet of this exciting industry and work hard to stay current on new advances, while also sharing my experiences with the community. You will eventually find your footing and make progress✨ I would be more than pleased to connect and assist in any way I can 🤝

--

--

Abhishek Attri

Animal lover ❤️ DevOps & Cloud enthusiast 🖥️ Always learning and fascinated by technology🕹️. Glad to connect! 🤝👇 https://www.linkedin.com/in/abhishek-attri/