Quality First: Navigating the Future of AI in Software Development with Atomic’s Co-CEOS

Artificial intelligence (AI) is reshaping how we approach work in many fields, including software development. We’re learning how to wield the power of AI. And, in an era when anyone can use a Large Language Model (LLM) to draft code, the conversation around software engineering quality is becoming increasingly important. Because craftsmanship stands at the core of every project at Atomic Object, I explored the intersection of software development quality and AI with Atomic’s co-CEOs Mike Marsiglia and Shawn Crowley.

The conversation began with a fundamental question.

How do you see the intersection of software quality and AI?

Mike and Shawn underscored the dual nature of AI as both a facilitator for increased productivity and a potential risk to application quality if not properly managed.

Mike emphasized that AI, when leveraged correctly, compliments the development process greatly. It can allow developers to skip the process of using Google and Stack Overflow or looking up a previous project’s solution. Instead, they can use AI’s boilerplate code and tweak it to fit into their application’s context. “It’s a powerful tool and is similar to how code generation tools built into Ruby on Rails made developers more productive.”

However, Mike cautioned, “The danger to quality arises when developers use AI-generated code without fully understanding why the AI tool gave that code, and simply use it.”

Shawn expressed a similar sentiment. “Experienced developers using AI can increase their productivity, but inexperienced developers might make a big mess more quickly.” The idea that developers are building upon code they don’t truly understand is a real risk to the integrity of the code overall. It could create major challenges down the line, such as when a future team must maintain or debug the software.

Can AI meet complex software requirements?

Asked about the capability of AI-generated code to meet complex software requirements, the CEOs shared a consensus on its limitations.

“AI is adept at solving specific, targeted challenges but struggles with overarching, complex problems that require a nuanced understanding of project requirements,” said Mike.

He warned of the risks of taking business requirements at face value without considering edge cases. Then, the implementation process often reveals these outliers. “The real risk to quality lies in relying too much on AI tools and not fully thinking through the solutions, and therefore missing out on crucial edge cases and potential side effects.” This could create various problems such as a worse user experience, security vulnerabilities, and data integrity issues.

Can you become overly reliant on AI?

Both CEOs shared concerns about overreliance on AI and the potential neglect of critical thinking in the development process. Shawn stated, “AI’s current utility is in answering targeted questions and not in addressing high-level requirements or optimizing business cases. The illusion of productivity could be short-lived as business leaders might soon face the reality of compounding quality issues due to poor code architecture and a deviation from test-driven development practices.”

Shawn also noted that AI doesn’t have insights into business case optimization, a critical element of the software development process. “AI isn’t going to ask, “If we combined these transactions at a monthly cadence, we could get paid later but save enough fees to generate more profit. Should we do that?” Not asking these higher-level questions can have compounding consequences. Those could include missed opportunities for cost savings, operational inefficiencies, and less strategic choices.

Mike’s and Shawn’s insights suggest that, while AI certainly can enhance certain aspects of development, the nuanced understanding and strategic oversight of experienced developers remain irreplaceable. Custom software and developers’ time aren’t inexpensive. So, while some might see the appeal in utilizing AI-generated code as much as possible, no technology yet beats the critical thinking and careful decision-making human developers provide.

What is Atomic Object’s approach?

At Atomic Object, we understand that leveraging AI effectively requires balancing its ability to increase developers’ productivity with a rigorous commitment to quality. We achieve this balance using AI as a tool to enhance, not replace, human creativity and problem-solving. Our approach is grounded in the belief that quality comes from the thoughtful application of technology, guided by human-centered design principles and experienced developers who understand the nuances of their craft.

As we look to the future, we’re excited about AI’s possibilities but remain steadfast in our commitment to quality. Our goal is to ensure that every piece of software we deliver is robust, reliable, and reflective of the high standards our clients have come to expect from Atomic Object.

This discourse was sparked by Mike and Shawn’s interview with City Innovations, “Avoiding Pitfalls: Tips for Startups and Corporations in Software Development.” Watch their full interview here.

Conversation

Join the conversation

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