Urgent.News

What's breaking now, across thousands of outlets.

Tech

What QA Taught Me About DevOps

When I started moving from QA and validation toward Cloud and DevOps, I initially thought I had to leave my QA background behind. I was wrong. The more I worked with AWS, Terraform, Kubernetes and CI/CD, the more I realized that many habits I developed as a QA engineer were still useful — sometimes even more than I expected. Here are the lessons from QA that I now carry into my Cloud and DevOps…

During my shift from QA and validation to Cloud and DevOps, I was initially concerned about leaving my QA background behind. However, I soon discovered that many habits developed as a QA engineer proved to be valuable in the new roles. Here are the lessons I've learned from QA that now guide my work in Cloud and DevOps.

1. Anticipating failure: QA training emphasizes considering potential failures beyond just whether a service works. This mindset proved useful when working with Kubernetes and AWS. For instance, while building my LibraryCorner project on Amazon EKS, I didn't just validate that the application was running. Instead, I examined scaling, health checks, database availability, monitoring, and recovery. The focus shifted from "Can I deploy it?" to "How does it behave when something goes wrong?"

2. Automation goes beyond time-saving: As part of my QA work, I had already implemented automation in the form of tests, validation processes, and repetitive checks. When transitioning to DevOps, automation became even more crucial. Infrastructure can be automated using Terraform, application delivery through CI/CD, Kubernetes maintains desired states, and monitoring continuously checks system behavior. The goal isn't merely to eliminate manual work; it's to make processes repeatable, predictable, and trustworthy.

3. The importance of reproducibility: In testing, the frustration of "It worked on my machine" is all too familiar. A reliable test environment should be reproducible. Similarly, infrastructure can be managed using Terraform to describe configurations as code, avoiding manual creation of resources in AWS. Kubernetes manifests and Kustomize allow for consistent application configurations across environments.

This shift in thinking about infrastructure has made the question "Can I reproduce this configuration?" more valuable than "How did I configure this?"

4. Observability as part of validation: QA professionals spend considerable time analyzing evidence - logs, test results, error messages, and system behavior - to answer what actually happened. Observability follows the same principle. During my work on LibraryCorner, I implemented Prometheus and Grafana monitoring for the EKS environment.

Metrics, which extend beyond mere dashboards, provide valuable evidence about system behavior. CPU usage, pod count, resource consumption, and application performance can help explain system behavior. Observability is thus closely related to validation: you can't validate what you cannot see.

5. Testing remains integral in DevOps: Initially, I associated DevOps with infrastructure, pipelines, and deployments. However, I now see it differently. Testing is still present, but it becomes part of a larger feedback loop. Code changes lead to tests, builds, deployments, monitoring, and feedback. The objective is to detect issues early and shorten the time between a change and reliable feedback. This aligns well with my QA background, where testing was a continuous part of the development process.

6. Mindset shift over tool adoption: The most significant takeaway from this transition is that moving from QA to DevOps isn't solely about learning new technologies. While I did have to learn AWS, Terraform, Kubernetes, Linux, networking, and CI/CD, the most valuable aspect I brought with me wasn't a specific tool. It was a mindset - challenging assumptions, seeking failure scenarios, automating repetitive tasks, ensuring reproducibility, collecting evidence, and monitoring system behavior.

These principles remain relevant, whether the system is a test environment, a Kubernetes cluster, or an AWS architecture.

In conclusion, my transition from QA/validation to Cloud and DevOps has been a natural progression. It built upon my existing knowledge, allowing me to leverage the valuable skills and mindset developed through my QA career. The shift has revealed that these two perspectives complement each other more than I initially anticipated, highlighting the importance of a well-rounded approach to system development and operation.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

RobotOps: Keeping Robot Fleets Ready for Real Work

Introduction A robot does not finish its job when it leaves the test bench. It still needs care once people start using it.

  • RobotOps manages entire robot fleets, handling monitoring, maintenance, and troubleshooting.
  • Software updates require testing in simulations to avoid safety concerns and physical issues.

pytrends keeps failing with 429 Too Many Requests? Here's a drop-in fix

If you use pytrends for Google Trends data, you have probably seen this more and more often: pytrends.exceptions.TooManyRequestsError: The request failed: Google returned a response with code 429 Two…

  • pytrends archived in April 2025, causing 429 Too Many Requests error
  • Google Trends rate-limiting stricter, especially from cloud servers
  • Drop-in replacement library using Apify's free plan for keyword data

I Got a Signed Job Offer Letter for a Job that Never Existed

I passed a 48-hour technical challenge, received an offer letter, and then lost the job because I had to enter and upload my ID number and make a payment on a page to complete a background check.

  • Author passed 48-hour technical challenge for WeatherAI job
  • Suspected scam after background check with payment request
  • Author created FastAPI gateway, warned about fraudulent process

A practical guide to List Comprehensions in Python

Introduction In my journey of learning Python, one of the things I considered hard a couple of weeks ago was list comprehensions.

  • List comprehensions create new lists from existing iterables in concise syntax.
  • Syntax [expression for item in iterable] breaks into expression, item, and iterable components.

More from Tuesday 29 September →