Tuesday

15-04-2025 Vol 19

DevOps Engineer = ‘Problem Solver’

Recently, someone from another area of tech asked me, “What qualities and skills do you look for in a new team member?”

Junior Engineer exasperated over a problem

Without hesitation, I replied:

“Enthusiasm for technology, self-learner, and problem solver (literally the job).”

That last part made me chuckle because, in DevOps, problem-solving isn’t just part of the job—it is the job.

Take, for example, what should have been a simple task:

Task: Install Azure CLI on a Self-Hosted ADO Agent

We needed the Azure CLI installed so our pipeline could run some az commands. Nothing groundbreaking. A one-liner should do it:

steps:
  - script: |
      curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    displayName: "Install Azure CLI"

  - script: |
      az --version
    displayName: "Do Azure CLI work in next script"

Seems straightforward, right? But of course, DevOps laughs in the face of “straightforward.”

The second step (az –version) failed.

Oddly enough, when we moved it into the first step, it worked. How can that be?

Welcome to DevOps Puzzles 101

If you’re a junior engineer, this kind of issue can be incredibly frustrating. If you’re more experienced, you might already know what’s happening here.

But I remember the pre-AI days when troubleshooting something like this meant deep dives into Stack Overflow rabbit holes. The key back then (and still today) was not just searching but asking the right question.

In this case, we could ask AI:

“I installed the Azure CLI in the first step and confirmed it’s working, so why does it fail in the second step?”

ChatGPT’s Answer:

“Ensure that the installation path for Azure CLI is persisted across steps. Modify the first step as follows:”

steps:
  - script: |
      curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
      echo "##vso[task.setvariable variable=AZ_PATH]$(which az)"
      az --version
    displayName: "Install Azure CLI"

  - script: |
      export PATH=$AZ_PATH:$PATH
      az --version
    displayName: "Verify Azure CLI in Next Task"

The Takeaway

If you’re just starting out in DevOps, you’ll quickly learn that even the simplest tasks can turn into sanity-testing puzzles.

The key to survival?

• Learn to ask the right questions (whether to Google, Stack Overflow, or AI).

• Expect the unexpected—because even one-line installs can turn into debugging marathons.

• And most importantly, never trust “it should just work.”

Welcome to DevOps. Where problem-solving isn’t just a skill—it’s the whole job.

DevOpsGuy

Leave a Reply

Your email address will not be published. Required fields are marked *