paint-brush
Confessions of a DevOps Guru: How I Would Learn Devops If I Could Start Again by@abrahamdahunsi
22,510 reads
22,510 reads

Confessions of a DevOps Guru: How I Would Learn Devops If I Could Start Again

by Abraham Dahunsi October 20th, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

In this article, a seasoned DevOps pro spills the beans on three epic mistakes and how to avoid them: 1. 🛠️ Focusing Too Much on Tools: Don't get tool-happy. Prioritize DevOps principles first, then pick the right gadgets for each project. 2. 👥 Neglecting the Human Side: DevOps isn't just about code. Cultivate a DevOps culture that's all about teamwork, communication, and empathy. 3. 🕰️ Learning Unnecessary Stuff: Skip the outdated and complex tools. Go for the gold – master essential DevOps skills and knowledge. In a nutshell, learn smart, embrace the teamwork, and keep it essential. 🙌😊
featured image - Confessions of a DevOps Guru: How I Would Learn Devops If I Could Start Again
Abraham Dahunsi  HackerNoon profile picture


Hey there, fellow DevOps geeks! I'm yours truly, the DevOps Guru. I've been immersed in the wonderful world of DevOps for a cool 10 years now, helping all kinds of organizations dish out software faster, better, and safer. DevOps is a dynamic duo of software development and IT operations, joining forces to keep that value train chugging to the end users. But hey, it's not just about gadgets and gizmos; it's also a vibe and a way of thinking.


In our previous meeting, I discussed the perils I faced in code deployment and how I learned to adopt Continuous Integration to stop worrying. Today, I'm going to spill the beans on some of my personal mistakes. These are the hiccups and blunders I encountered on my journey through DevOps-land. I'll let you in on how I'd tackle things differently if I could hop in a time machine and start fresh. My hope is that you'll pick up a few tricks from my bloopers, find that motivation to level up your DevOps game, and maybe even have a few laughs along the way. Let's dive in! 🚀💡



Confession 1 - Principles Trump Tools




One of the major blunders I made on my DevOps journey was getting too starry-eyed about tools and not giving principles their due. I mean, who could blame me? The DevOps toolbox is like a treasure trove of goodies – Docker, Kubernetes, Jenkins, Ansible, you name it. I wanted to be the master of them all, thinking that wielding these tools would instantly make me a DevOps wizard.


But guess what? Reality check time! It turned out that this approach was a bit like getting behind the wheel of a car without a clue about the rules of the road. I could use those tools, sure, but I couldn't apply DevOps effectively in different situations. Problems? Oh, I had my fair share, and those tools alone couldn't always bail me out. Plus, I missed out on the golden opportunities that DevOps was ready to serve up – things like quicker feedback, higher quality, cheaper costs, and happier customers.


Hindsight is 20/20, right? Looking back, I wish I had cozied up to DevOps principles first, then hand-picked the tools based on each project's needs and goals. Those principles are like the DevOps compass, guiding the way. Some of the MVP principles are:


Continuous integration: It's the art of regularly and automatically merging code changes from different devs into a shared treasure chest to keep code quality in check and avoid messy integration hiccups.


Continuous delivery: This one's all about feeding your software to production in bite-sized portions, keeping the feedback loop tight and risks low.


Infrastructure as code: It's like sculpting infrastructure (servers, networks, storage, etc.) with code and config files, ensuring uniformity and reliability.


Automation: Who doesn't love when software tools tackle the boring, repetitive stuff, like testing, deployment, and monitoring? It's like having a trusty sidekick, making work more efficient and error-free.


Collaboration: Teamwork makes the dream work. DevOps is all about playing nice with folks from different squads (devs, testers, operators, customers) to swap knowledge, feedback, and responsibilities.


Learning: It's a never-ending story of growth and innovation – measure, crunch the data, try new stuff, and learn from your slip-ups.


If I could turn back time, I'd cozy up to these principles first and really grasp why DevOps rocks. Armed with that wisdom, I'd pick and use the right tools for the job, whether it's Docker for containers, Kubernetes for orchestration, Jenkins for code juggling, Ansible for config magic, and so on. Flexibility would be my middle name, adapting my toolset as projects morphed and grew.


So, if you're diving into the DevOps ocean, kindly do yourself a favor: don't get too tool-happy. Principles are what makes DevOps sizzle.



Confession 2: Overlooking the Human Side of DevOps


Now, here's another goof-up I made on my DevOps journey. I totally brushed off the whole "people" and "culture" thing in DevOps. You know, all that warm and fuzzy stuff like teamwork, talking, feedback, trust, and empathy. I was all about the tech wizardry and thought I could just handle everything solo. People and relationships? It's not really my jam.


But surprise, surprise – that was a big no-no. Ignoring the human and cultural side of DevOps just led to problems galore. Think silos, conflicts, misunderstandings, and delays. Picture this:


- Developers and operators doing their own thing, like they're on different planets, not sharing a word or cooperating.

- Customers and users left out in the cold, missing from feedback and testing loops.

- Managers and bosses setting impossible deadlines or demands, having zero clue about the tech hurdles and trade-offs.

- Team members pointed fingers when stuff went south, but no one stepped up to take responsibility or learn from the hiccups.


All this jazz put the brakes on quality, speed, and everyone's happiness in the software delivery game. It hit me like a ton of bricks – DevOps isn't just about coding and gadgets; it's a human and cultural puzzle, too.


If I could rewind time, I'd be all about building a DevOps culture that champions teamwork, transparency, learning, and all the warm and fuzzies. A DevOps culture is like a secret sauce of shared values and behaviors that make folks play nice and talk to each other. Here's how:


- Smash those silos, put together teams that do everything together, and chase a common goal.

- Set up chit-chat lines between different teams and peeps, so they can grab and share stuff, whether it's through chat, email, or carrier pigeons. 😉



Confession 3: Learning Stuff I'll Never Use



Okay, here's the final fumble in my DevOps Rumble (Feel the rhyme 😂…..NVM) – I spent a bunch of time learning things that are about as useful to me as a chocolate teapot in the desert. Think of it as taking a crash course in cooking when your job's taste-testing ice cream. Silly, right?


Let me lay it out. I dove headfirst into learning some tools and tricks that are now fossils or just don't vibe with my DevOps gig. Case in point: I busted my hump learning Chef, a config tool that had its moment in the sun a while back. But, oops, most of my projects rock with Ansible, a simpler and newer cousin that does the same job. Oh, and I went all in on Ruby, a language that's like Chef's BFF, but Ansible's like, "Nah, I'm good."


Then there's the whole Terraform saga. It's all about creating and bossing around infrastructure with code. But, plot twist: most of the places I work at swear by Azure, and they've got their own cool toys for that job, like Azure Resource Manager and Azure DevOps. I even spent hours learning advanced Terraform stuff, like modules, variables, and state files. But, in the real world? Crickets. I never got to use those skills. What a waste!


All this jazz had me doing somersaults to adapt, dealing with tech incompatibilities, and going through the "unlearn and relearn" dance. I also missed out on the real game – mastering essential DevOps skills and knowledge, the stuff that's like gold for my career. I'm talking:


- The DevOps Basics: Like the holy grail of DevOps principles and practices. Think continuous integration, continuous delivery, automation, and all that good stuff.


- Coding Know-How: Understanding the ABCs of software development – programming languages, algorithms, testing, and debugging.


- Ops Insights: The lowdown on IT ops – networking, security, monitoring, and all that IT wizardry.


- Must-Have Tools: Using the rockstars of the DevOps world, like Docker, Kubernetes, Jenkins, Ansible, and good old Git.


- Staying Current: Keeping an eye on the latest trends, like cloud computing, microservices, and all that futuristic jazz.


If I could rewind the clock, I'd have gone straight for the good stuff – those essential skills and knowledge that set the stage for a killer DevOps career. With those in my toolkit, I could easily pick up new skills as they popped up, and I'd be an all-around DevOps champ, no matter what twist the job threw at me. So, learn smart, friends – it's the name of the game. 🚀💡


In a nutshell


So, there you have it, folks! I've spilled the beans on my DevOps blunders and how I'd tackle 'em differently if I could hit the rewind button. I hope my little confessions have been a light bulb moment for you, helping you sidestep the same traps and giving you that oomph to supercharge your DevOps game.


To wrap it all up, here's the crib notes:


Confession 1: I got all starry-eyed over tools and left the principles behind. Basically, I went on a tech tool shopping spree without understanding the DevOps core principles. Big mistake! My tip? Learn the principles first, then pick the tools that match your project's needs.


Confession 2: I ghosted the human side of DevOps. Yup, I treated it like a solo mission and ignored the whole teamwork, communication, and empathy bit. That led to drama, silos, and delays. I should've been all about building a DevOps culture that's all about transparency and learning together.


Confession 3: I wasted time learning stuff that's about as useful as a screen door on a submarine. Think of outdated tools and skills I'd never use. Instead, I should've been all about the essentials that rock in the DevOps world.


So, that's the wrap on my DevOps confessions. Thanks for hanging out, and if you enjoy reading my ramblings, share this article with your friends and Mayes, too!




If you've got your own DevOps stories or some feedback to drop, hit me up in the comments below. 🚀🙌😊