Discussion
Should QA exist
shallbenameless: Dumbest thing I ever read
TJ_FLEET: not really . but distill his knowledge into an OpenClaw.
andrewstuart: Hard to believe people are asking this question in 2026.Quality is something that takes dedicated focus and lots of work. Therefore it’s a job, not an afterthought or latest priority for someone whose primary focus is not quality.
sz4kerto: "Before I weigh in further, I’d like to make sure you’re familiar with the testing pyramid."The testing pyramid is a par excellance SWE kool-aid. Someone wrote a logically-sounding blogpost about it many years ago and then people started regurgitating it without any empirical evidence behind it.Many of us have realised that you need a "testing hourglass", not a "testing pyramid". Unit tests are universally considered useful, there's not much debate about it (also they're cheap). Integration tests are expensive and, in most cases, have very limited use. UI and API tests are extremely useful because they are testing whether the system behaves as we expect it to behave.E.g. for a specific system of ours we have ~30k unit tests and ~10k UI/API tests. UI and API tests are effectively the living, valid documentation of how the system behaves. Those tests are what prevent the system becoming 'legacy'. UI and API tests are what enable large-scale refactors without breaking stuff.Isolated QA should not exist because anything a QA engineer can do manually can be automated.
Juliate: If you care about: the consistency of your output, what you're selling to your customers, you have not much of a choice (than to control what you are shipping).Not even mentioning the potential regulatory/market and legal consequences if you don't.
weinzierl: The testing pyramid comes from a time of desktop apps with no API and when UI tests were extremely expensive. I made 100% sense in that context, it never did in other contexts. Despite its omnipresence it had not made any sense for the vast majority of us in the past 25 years.
darkerside: So why would you outsource it to another team that isn't doing the actual work?
Ekaros: Team doing the work should do QA so they only produce quality.But on other hand those people can not often be trusted. As such you need a team that does checks again. Or alternatively they might have misunderstood something and thus produced incorrect system. Or there is some other fault in their thought process or reality. And system operates differently in more real scenario.
fhd2: > Isolated QA should not exist because anything a QA engineer can do manually can be automated.Well, sort of maybe, but it's not always economical. For a normal web app - yeah I guess. Depends on the complexity of the software and the environment / inputs it deals with.And then there's explorative testing, where I always found a good QA invaluable. Sure, you can also automate that to some degree. But someone who knows the software well and tries to find ways to get it to behave in unexpected ways, also valuable.I would agree that solid development practices can handle 80% of the overall QA though, mainly regression testing. But those last 20%, well I think about those differently.
somewhereoutth: If your product is used by humans, then it needs to be tested by humans - this cannot be automated. Those humans can be your QA people, or your customers. Perhaps your customers are happy to be testers, perhaps not.Unit tests are very expensive and return little value. Conversely, a (manual?) 'smoke test' is very cheap and returns great value - the first thing you do when updating a server for example is to check it still responds (and nothing has gone wrong in the deployment process), takes 2 seconds to do, prevents highly embarrassing downtime due to a misconfigured docker pull or whatever.
liampulles: I work with someone who does great QA work. They know how to rip something apart, they understand the user's non-technical perspective and approach, and they understand what edge cases to look out and they have the actual equipment to test on different physical devices (and so on).Most importantly, they have the diligence and patience to methodically test subtly different cases, which I frankly don't have.On the question of whether QA slows things down, I have to ask: slows down what? Slows down releasing something broken? Why is that something to optimize for? We should always be asking how long it takes to release the right thing (indeed I'm most productive when I can close a ticket after concluding nothing is needed).
donatj: Yes. Without a doubt.I worked with a QA team for the last fifteen years until last year when they laid them all off.QA is a discrete skill in and of itself. I have never met a dev truly qualified to do QA. If you don't think this you have never worked with a good QA person. A good QA persons super power is finding weird broken interactions between features and layers where they meet. Things you would never think of in a million years. Any dingbat can test input validation, but it takes a truly talented person to ask "what if I did X in one tab, Y in another, and then Z, all with this exact timing so events overlap". I have been truly stunned at some of the issues QA has found in the past.As for time, they saved us so much time! Unless your goal is to not test at all and push slop, they are taking so much work off your plate!Beyond feature testing, when a customer defect would come in they would use their expertise to validate it, reproduce it, document the parameters and boundaries of the issue before it ever got passed on to dev. Now all that work is on us.
returnInfinity: I think social media companies don't need thatEnterprise software companies selling definitely need it. Customers ask was this tested? where is the test report?
sz4kerto: > And then there's explorative testing, where I always found a good QA invaluable.Yes, I agree. We do this too. Findings are followed by a post-mortem-like process: - fix the problem - produce an automated test - evaluate why the feature wasn't autotested properly
baal80spam: > "what if I did X in one tab, Y in another, and then Z, all with this exact timing so events overlap"As a QA: this bug will get downprioritised by PM to oblivion.
0x696C6961: If all/most QA people were like this then no one would be complaining.
almostdeadguy: I think the unstated (but highly prevalent) view among executives in large swathes of this industry is that they don't really care to spend any time or money on user testing or quality assurance, and if this role exists at companies it is usually under-compensated and straddles both these functions to have some party be accountable. It is sometimes a check on product teams and vision-driven executive teams who don't prototype/test their ideas (or empower their teams to do so), and sometimes a check on engineers and engineering managers who don't want to be accountable to gaps in quality.
pluc: In the age of AI of course not, AI is your QA
9wzYQbTYsAIc: > Have engineering own qualityThe moment that happens it will either be re-outsourced to QA anyways or quality will become a question of licensing and bonding of professional engineers
Juliate: QA is actual work. Building the thing is actual work. Each is not "the" work, which is the task of the whole company.QA perspective and focus is just different from the one of the team building the thing. It's precisely because of their detached perspective that they can do their work properly.
itmitica: Is this the real life? Is this just fantasy?If engineering owns quality, then engineering own all, up the chain. No need for anything and anybody.Which is the AI pipe dream, really.
ottoflux: 100% and I’m a software developer and have been for ~30 years. Good QA people know how to find regression and bugs _that you didn’t think about_ which is the whole reason why it shouldn’t be under “engineering” and that it should exist. One of the QA people I work with currently is one of my favorite people. They don’t always make me happy (in the moment) with their bugs or with how they decide to break the software, but in the end it makes a better, more resilient product.
stingraycharles: > Good QA people know how to find regression and bugs _that you didn’t think about_ which is the whole reason why it shouldn’t be under “engineering”I don’t understand the reasoning here why QA shouldn’t be engineering.
baal80spam: > Unit tests are very expensive and return little valueWhy are unit tests very expensive? This goes against everything I know.
LatencyKills: Exactly. I spent 20 years split between MS and Apple. Some of the best people I ever worked with were in QA. One guy in particular was an extremely talented engineer who simply didn't enjoy the canonical "coding" role; what he did enjoy was finding bugs and breaking things. ;-)
stingraycharles: It’s not even optional as soon as you’re getting close to any type of standards or compliance framework like SOC2 and the likes.
darkwater: "Engineers sometimes exhibit an arrogance that they can do everyone else’s job,"This rings so many bells that it feels like some Buddhist festival. Apply the same approach to QA, Operations, and anything outside the actual product development: when this arrogance was shared between bosses and developers, all good on their side. Now with the AI, the arrogance is staying only on the bosses' side, and we have developers freaking out.
9wzYQbTYsAIc: If engineering owns quality, it ought to also own the liability, too.That would put the damper on the pipe dream pretty quick. Probably more healthily than any data center ban could ever do.If engineers were licensed, bonded, and liable, things would go very differently.* speaking as having been a practicing software “engineer” for a decade
itmitica: Applies to making bread or brain surgery. Sometimes things go wrong and people are accounted for.But since CEOs, or any other bosses, need to make a living, they will eat the liability in exchange for wealth, and leave engineering in the dust.
donatj: If anyone should not exist, it's PMs.I kid a little, I worked with some very good PMs when we did client work who made my life much easier. Working on a SaaS though, I find them generally less than useful.
bluGill: Not anyplace that cares about quality.where I work it is normally easier to fix things than deprioritize to oblivion. I can fix an issue, but priority puts a dozen people in a meeting.
liampulles: Frankly, calling software development engineering is quite debatable. We should be calling less things engineering that aren't actually engineering qualifications.
brazzy: Depends on what happens in that case, no?If it messes up the UI until you refresh, yeah, I understand deprioritizing that.If it causes catastrophic data corruption or leaks admin credentials, any sane PM would want that fixed ASAP.
ivan_gammel: There are two very important ideas in this article, which I fully agree with: QA are not the only people responsible for quality - entire team is. QA act as experts and drivers of quality management process, but they should not and are not acting alone. They should have adversarial approach which is helpful on every stage of SDLC. Thus, few more items from my list why QA is useful in every engineering organization and why every team I hire has at least one QA starting from 4-5 people:1. Quality management is a continuous process that starts with product discovery and business requirements. Developers often assume that requirements are clear and move on to building the happy path. QA often explore requirements in depth and ask a lot of good questions.2. QA usually have the best knowledge of the product and help product managers to understand its current behavior, when new requirements suggest to change it.3. The same applies to product design. Good designer never leaves the team with a few annotated screens, supporting developers until the product is shipped. Design QA - the verification of conformance of implementation to design specs - can be done with QA team, which can assist with automation of design-specific tests.4. Customer support - QA people are natural partners of customer support organization, with their knowledge of the product, existing bugs and workarounds.And just a story: on one of my previous jobs recently hired QA engineer spotted number error in an All Hands presentation. That was an immediate buy-in from founders. :)
sublinear: > it's not always economical. For a normal web app - yeah I guessWhat do you define as "normal"? I can't think of anything harder to test than a web app.Even a seemingly trivial static HTML site with some CSS on it will already have inconsistencies across every browser and device. Even if you fix all of that (unlikely), you still haven't done your WCAG compliance, SEO, etc.The web is probably the best example case for needing a QA team.
canpan: Yes, QA is important. My code will always "work" in that everything I tested is bug free. But having someone other test, especially someone who knows the service is gold.But there is also bad QA: The most worthless QA I was forced to work with, was an external company, where I, as developer, had to write the test sheet and they just tested that. Obviously they could not find bugs as I tested everything on the sheet.My most impressive QA experience where when I helped out a famous Japanese gaming company. They tested things like press multiple buttons in the same frame and see my code crash.
Ekaros: I do think the type of testing where QA just follows pre-generated script has place. But it is about long term regression. The first round absolutely should not find anything. But with complex system it also should find nothing in a year or three or five years... Offloading this to dedicate resource could be useful in certain industries.
canpan: I did not think of that. Maybe for some industries, it might make sense. But if I want a regression test, I would probably set it up as automated test. In the case I mentioned above it was the only test beside my own for a new service.
sys_64738: Developers are liars. Why would I trust them to test their software?
Ekaros: Has there been enough times it doesn't even compile on their machine? Which might be the absolute bare minimum...
jeremyjh: Agreed. QA specialists are there to think about what the engineer didn't think about. Unless the engineer is incompetent or the organization is broken, the engineer has already written tests for everything they could think of, but they can't think of everything.More importantly, it is almost impossible for engineers to be as well incentivized to spend extra time exploring edge cases in something they already believe to work than to ship a feature on time.Like everything else though, its contextual. Complexity of domain, surface area and age of product, depth of experience on team and consequences of failure are all so variable that there cannot be only one answer.I have done it both ways for many years. I have worked on teams where QA is a frustrating nuisance, and teams where they were critical to success. I have worked on teams that did pretty good without them, and probably those were the highest throughput, most productive teams because the engineers were forced to own all the consequences - every bug they shipped was a production issue they were immediately forced to track down and resolve.But those were very small teams, and eventually I was the only founding engineer left on the team and far too many mistakes by other people made it to my desk because I was the only person who could find them in review or track them down quickly in production. That was when I started hiring QA people.
9wzYQbTYsAIc: > I don’t understand the reasoning here why QA shouldn’t be engineering.Who watches the watcher, right?That aside, the core idea is the same as the principles of independent audit, peer review, or even simply just specialization.Red team / Blue team?
stingraycharles: Yes but both the red team and blue team would still be engineering.
9wzYQbTYsAIc: Yes, but police and military are both law enforcement, on one level, but each are very different from the other.Even the military have police, right?edit: ultimately, it comes down to the importance of independent audit, the builders and the breaker/fixers are very different groups in engineering.
9wzYQbTYsAIc: > More importantly, it is almost impossible for engineers to be as well incentivized to spend extra time exploring edge cases in something they already believe to work than to ship a feature on time.Personal liability and professional insurance works for all the actual “professions” in the US, to some extent, right?It might be time to start the considerations for professional licensing for platform scale or commercially published software.
ivan_gammel: Automated tests are no longer expensive to write and nowadays less expensive to execute.
jagged-chisel: But, as someone who’s agile and adaptable, I can do any job. That doesn’t mean I can do them all simultaneously. It doesn’t mean I can be the full-time loan officer and the full-time app developer.Can I do your job? Yep. Can I also, at the same time, be the engineer that optimizes the IT systems? No - one of these jobs will suffer.Give me the chance to understand your job, and I’ll replace as much of it as possible with code to do the same thing. But what it won’t do is have good judgement. It will make decisions on actual data - accurate data, erroneous data, it doesn’t care.I think this is an interesting place to put “AI” - can it take input in the form of data and historical decisions, and come to a new decision from recent data? The same decision a human would?
ivan_gammel: > because anything a QA engineer can do manually can be automated.Looks like you never worked with a decent QA team and do not understand the full scope of quality management. They have plenty of creative tasks not aligned with other roles.