Martin Fowler is one of the most influential people within software architecture, and the broader tech industry. He is the Chief Scientist at Thoughtworks and the author of Refactoring and Patterns of Enterprise Application Architecture, and several other books. He has spent decades shaping how engineers think about design, architecture, and process, and regularly publishes on his blog, MartinFowler.com. In this episode, we discuss how AI is changing software development: the shift from deterministic to non-deterministic coding;
But ultimately, this is all the result of bad software, ridden with vulnerabilities. "We don't have a cybersecurity problem. We have a software quality problem," she said. The main reason for this was software vendors' prioritization of speed to market and reducing cost over safety. AI is making attackers more capable, helping them create stealthier malware and "hyper-personalized phishing," and also to spot and surface vulnerabilities and flaws more quickly.
When it comes to software, we like to pretend that quality is a number. Dashboards stand in for judgment, A/B tests stand in for taste, and leaders try to will excellence into existence with reviews and mandates. But in today's software market, confusing a KPI with quality isn't just naive; it's fatal. Consumers' attention spans are short, but their expectations are higher than ever; if your product fails to solve a real problem in an elegant way, you don't get a second chance.