I’ve been thinking about how software development will evolve with the introduction of AI and AI tools. Change is nothing new in the world of software development. For example, in our parents’ day, programmers used punch cards to write code. However, the impact of AI and AI-driven development will be much greater. These developments will fundamentally change the way we write, structure and organize code.
There’s a compelling analogy to consider: Henry Ford’s Highland Park factory. This factory has truly revolutionized industrial production – not in the superficial way that influencers might claim when they say they are “revolutionizing the mushroom tea supplement market.” Ford returned to first principles, examining the production and the tools available at the time to redesign everything from the ground up. He built a new factory in which electricity was central. It is notable because industrial electricity existed for almost forty years before it was effectively used to increase productivity.
Before the invention of electricity, factories were structured around a central boiler, with heavy machinery powered by steam. The equipment that required the most power was located closest to the boiler, while the equipment that required less energy was located further away. The entire design of the factory focused on the power source rather than efficient production.
However, When Henry Ford began work on the Model T, he worked with Thomas Edison to rethink this layout. Edison convinced Ford that power plants could provide consistent, high levels of power to any appliance, regardless of distance from the generator. This breakthrough allowed Ford to implement its manufacturing principles and design the first assembly line.
It took forty years – think about that – forty years from the proliferation of industrial electricity for the way the world functioned to change in any meaningful way. For more than forty years, there were no productivity gains from electricity. It’s insane.
How does this relate to AI and software development, you may ask? Understanding the importance of people in both software and AI is crucial. Man is the driving force; we act as the central power source behind every structure and design pattern in software development. Human maintainability is essential to the principles often called “clean code.”.‘We have created patterns And wrote countless articles about software development with people in mind. In fact, we’ve designed entire programming languages to be easy to use. Code must be readable, maintainable, and manageable by humans as they need to modify it. Just as a steam plant is organized around a single energy source, we structure our systems with the understanding that when that energy source changes, the entire system may need to be reorganized.
As AI becomes more integrated into software development, it is emerging as a powerful new tool. AI has the ability to read, write, and modify code in ways that are beyond human capabilities
assets. However, certain patterns – such as naming conventions and the principle of one responsibility – can complicate the process for AI, making it difficult to effectively analyze and reason about code.
As AI plays a more central role in development, there will be a growing demand for faster code generation. This could mean that instead of using JavaScript or TypeScript and then minifying the code, we could instruct an AI to make behavioral changes, allowing it to update already minified code directly. Furthermore, code duplication could become a useful feature that improves software efficiency, as AI would be able to instantly modify all instances of the duplicated logic.
This shift in thinking will take time. People will have to adapt, and for now, AI’s role in software development will mainly provide incremental improvements. But companies and individuals embracing AI and fundamental software development principles are starting to rethink, including Conway’s Law, will revolutionize the way we build software and, consequently, the way the world works.