Hargett recalls starting in QA at McAfee in 1997, when one developer kept source code on a hard drive and testers worked through printed test plans. He describes how estimation practices later shifted from days and hours toward T-shirt sizes and story points, though teams still often tried to turn them back into schedules.
When Coding Gets Faster, What Breaks Next?
Speakers
Matt Hargett, a veteran software engineer and consultant, talks about how AI is changing the software development life cycle with host Łukasz Łodziński on Callstack’s React Universe On Air.
Shipping on time does not guarantee a successful product: Hargett recalls a buggy release that created such a heavy support load that it undermined the launch. For live services, shipping begins the product’s economic life, so teams should test for failures, operating costs, and scale before success brings more users than the system can handle.
Hargett says he gives agents the problem, its purpose, and the risks to avoid, much as he would delegate to a junior engineer. He explains coverage-driven fuzzing, where a fuzzer prioritizes inputs that reach new code paths; agents can use that feedback to find and fix bugs, but experienced people still need to decide what matters and verify the work.
Hargett asks whether teams still need tickets for every task when agents can work directly, while recognizing that regulated work may require traceability. He argues that teams should examine what each process step is for instead of keeping Jira boards or other practices by habit, and adapt changes to what their organization needs.
Hargett recommends identifying the current bottleneck before adding agents across the life cycle, since speeding up coding may create a testing or release pileup. He uses app store review as an example: incremental delivery options such as over-the-air updates, delta bundles, server-driven UI, or server-side rendering can help teams get feedback without bundling every change into one submission. Teams should make changes incrementally and track observable outcomes such as support calls or uptime.
Takeaways
- Measure the cost of operating and supporting a product, not just whether it shipped on time.
- Give agents the goal and constraints, then check their work with runtime feedback and relevant tests.
- Before accelerating one stage, identify where work is piling up and where it may pile up next.
- Keep tickets and process steps when they serve a clear need, such as traceability, rather than by habit.
- Change the process incrementally and keep changes that produce measurable improvements.
Mentioned in this talk
Search inside this talk
What was claimed 9
- featureNativeScript: JavaScript bundles can be delivered using delta bundles and over-the-air updates
“Technologies like over-the-air updates, delta bundles for your JavaScript bundles if you're using React Native or NativeScript.”
YouTube Unverified1 source· Talk
- featureReact Native: JavaScript bundles can be delivered using delta bundles and over-the-air updates
“Technologies like over-the-air updates, delta bundles for your JavaScript bundles if you're using React Native or NativeScript.”
YouTube Unverified1 source· Talk
- featureReact Universe on Air: Podcast about cross-platform development
“your go-to podcast for all things cross-platform.”
YouTube Unverified1 source· Talk
- role atMatt Hargett is quality assurance engineer at McAfee
“I started out as a quality assurance engineer at a company called McAfee.”
YouTube Unverified1 source· Talk
- usesMatt Hargett uses
Codex
“In Claude and Codex, because of the memory function, they know the kinds of things I follow up on and ask about.”
YouTube Unverified1 source· Talk
- usesMatt Hargett uses
Claude
“In Claude and Codex, because of the memory function, they know the kinds of things I follow up on and ask about.”
YouTube Unverified1 source· Talk
- uses
“It's got a lot of my preferences baked in, like coverage-driven fuzzing and making sure the branch coverage of the unit test is very high.”
YouTube Unverified1 source· Talk
- featureMatt Hargett: uses code coverage to select inputs that exercise previously unvisited branchesuses code coverage to select inputs that exercise previously unvisited branches
“When it finds a fuzzed or fault-injected input that makes the program take a branch it has never taken before, it says, 'Aha, that's a really good one.'”
YouTube Unverified1 source· Talk











