provocationofmind.com

Understanding the Programming Landscape for DevOps Professionals

Written on

Chapter 1: My Unexpected Journey into DevOps

Three years ago, I embarked on my first job in the tech industry, albeit not in the position I had initially aspired to. I was determined to become a developer, convinced that coding was my strongest skill. However, I found myself stepping into a DevOps role instead.

Initially, I felt disheartened and attempted to shift my position, but the company was resolute. They offered a supportive work environment and assured me that after three years, I could transition to my desired role, which encouraged me to stay.

After about six months of training, the only DevOps expert who had been mentoring me departed, leaving me to oversee an entire department responsible for managing a large data environment. The beginning was challenging, but gradually, I adapted and improved. Now, I believe I'm managing my responsibilities effectively.

I’ve noticed that many of you engage in programming as part of your DevOps duties, which prompted me to reflect on my own experience. My programming work mainly consists of writing small scripts or crafting an Ansible playbook occasionally.

Section 1.1: My Programming Contributions in DevOps

Here are some of the programming tasks I have undertaken in my DevOps position:

  1. Developing Lambda Functions in Go: I created Lambda functions to build more user-friendly APIs for our cloud infrastructure, particularly when the existing APIs were either too open or lacked the necessary flexibility.
  2. Collaboration with Development Teams: I worked alongside development teams to implement Prometheus in our codebases, ensuring scalability while preventing cardinality issues.
  3. Creating a Kubernetes Operator: I developed a Kubernetes Operator to manage the lifecycle of our applications on the Kubernetes platform.
  4. Scripting for Continuous Integration: I contributed additional features to our CI system using Python.

Subsection 1.1.1: The Role of Automation in My Work

We frequently utilize Ansible for automating various tasks. However, I’ve realized that there are scenarios where employing a full-fledged programming language is far more suitable. For example, Python enables me to achieve tasks without having to stretch Ansible beyond its intended use. Yet, when Ansible proves convenient—especially when a pre-built module meets my needs—I opt for it.

As a side note, I’ve actively advocated for integrating more programming into my role, and my voice has largely been acknowledged. Some colleagues prefer sticking with Ansible, which is perfectly acceptable. This simply means we tackle different challenges while remaining satisfied with our respective projects.

Section 1.2: Tools of the Trade

In my current role, I frequently work with Terraform, Ansible, Bash, and Python. Writing CI/CD pipelines in YAML is also a significant aspect of my responsibilities. The variety of tools and languages at our disposal keeps the work dynamic.

Chapter 2: The Broader Perspective on DevOps

The greatest hurdle in our field is the misinterpretation of the term "DevOps," which has often been reduced to merely an Ops professional who possesses some coding skills. Originally, it was intended to signify a collaborative approach among teams, with an emphasis on continuous enhancement.

As for my current focus, I spend a lot of time coding in Python, but I have also worked with Go, Ruby, Ansible, Terraform, Groovy, Chef, Bash, and a plethora of YAML.

This encapsulates my journey and the programming I've engaged in within DevOps. What about you? What programming languages do you use in your DevOps role?

Join me on my DevOps and Cloud adventure!

To be part of this journey:

  • Follow me on Medium @thecloudarchitect.
  • Share your insights in the comments and give a round of applause if you enjoyed this post.
  • Subscribe for email notifications for future updates.

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

# Rethinking Email List Segmentation: A Time Sink for Marketers?

An exploration of why segmenting email lists may not be as beneficial as commonly believed.

Unlocking the Potential of AI for Small Business Growth

Discover how AI can transform small businesses through innovative applications and tools, enhancing efficiency and customer engagement.

The Significance of 420: A Cultural Deep Dive into Cannabis

Discover the roots and cultural implications of 420, a significant date for cannabis enthusiasts, and understand both its benefits and risks.

Understanding the 6 Traits of Genuine Spiritual Individuals

Explore the key traits that define authentic spiritual individuals and learn how to embrace a more fulfilling life.

Harnessing Data Collection to Elevate Your Business Growth

Discover how effective data collection can enhance your business strategy and customer engagement, driving growth and innovation.

Unearthing the Secrets of the Mayan Calendar: Insights and Discoveries

Explore the fascinating discoveries surrounding the Mayan calendar's intricate time calculation methods.

Exploring the Enigma of Null Island: The Data Mirage

Discover the intriguing story behind Null Island, a non-existent location, and the data mishaps that created it.

A Call for Human Connection in a Digital Age

This article argues for maintaining human interaction amidst increasing automation and technology.