Software engineering is an established, decades old discipline. Professor Alan Brown FBCS asks whether the current rise of AI means there’s a need to define a new discipline for those who create it.
The rapid adoption of artificial intelligence (AI), particularly generative AI (GenAI) capabilities, has been a key trend in many organisations over the past year. While its effects are being felt in a wide range of domains, it is in software development and delivery where some of the most startling results are being seen. For example, Github’s AI in Software Development 2024 Survey of 2000 software developers found that almost 97% reported using AI tools both in and outside of work. This was underscored by the recent announcement from Google CEO Sundar Pichai that a quarter of all new code at Google is now AI generated.
The reasons that AI is being used in software development are clear. A recent McKinsey review concluded that GenAI can significantly improve software development efficiency and productivity, leading to lower costs and faster time-to-market. It can boost developer productivity by up to 45%, speed up code documentation by 50%, and accelerate code refactoring by up to 30%. This translates to significant cost savings and revenue growth for software companies, enabling them to innovate faster and better meet customer needs.
Furthermore, as AI rapidly transforms from an experimental technology to a core business capability, there is increasing demand for those skilled in designing, building, deploying and evolving AI solutions. This is because, unlike traditional software, AI systems are inherently probabilistic, data-driven and continuously evolving. They cannot be simply coded with deterministic logic and delivered using existing deployment practices. Rather, they must be trained, monitored, and refined through complex interactions with data and real-world environments, adjusting their behaviour as they learn and adapt. In this context, building efficient, secure, dependable AI solutions requires new skills.
As a result of these two trends, organisations are asking whether traditional software engineering practices are sufficient to manage the unique challenges of AI-based systems. Does the emergence of AI as a critical technological frontier demand a fundamentally different approach to software development, deployment and management?
Perhaps this fundamental shift requires us to rethink our entire approach to technology development, moving beyond rigid, predictable software engineering methodologies to a more dynamic, adaptive discipline: a new discipline we can call ‘AI engineering’.
Five key principles of AI engineering
While the concept of ‘AI engineering’ is only just emerging, we can already identify 5 key principles that form its core:
- Data-centricity over code-centricity: traditional software engineering prioritises code quality and architecture. In AI engineering, data becomes the primary asset. The quality, diversity and governance of training data are more critical than the algorithms themselves. Success hinges on robust data management, ethical data collection and comprehensive data lineage tracking.
- Iterative and experimental development: software engineering has traditionally followed linear development models with clear milestones. Agile practices have revised this to include more flexibility in key elements of the process. However, AI engineering is more fundamentally evolutionary in nature. It embraces uncertainty and requires continuous experimentation. Models are never ‘finished’ but are constantly retrained, refined and adapted based on performance metrics, emerging data and changing environmental conditions.
- Probabilistic performance vs. deterministic outcomes: traditional software seeks to produce consistent, predictable results. AI systems generate probabilistic outputs with inherent uncertainty. Based around data science and statistical methods, AI engineers must develop new methodologies for understanding, quantifying and communicating model performance, including comprehensive monitoring of model drift, bias and reliability.
For you
Be part of something bigger, join BCS, The Chartered Institute for IT.
4. Ethical and responsible system design: while software engineering has a clear focus on dependability and security, AI engineering must also embrace a growing collection of deeper ethical considerations. This includes proactive bias detection, transparency in decision-making processes and creating systems that can explain their reasoning. Responsible AI is not an afterthought but a fundamental design principle for AI engineers.
5. Complex resource and infrastructure management: AI systems demand fundamentally different computational resources to traditional software. They require specialised infrastructure for massive parallel processing, sophisticated GPU/TPU architectures and dynamic scaling capabilities. AI engineers must develop new strategies for resource allocation, cost management and performance optimisation.
The enduring principles of engineering excellence
These core principles of AI engineering prioritise a new set of skills for those responsible for software development and delivery. However, despite these differences, the core elements of sound software engineering remain paramount. Rigorous testing, modular architecture, version control, comprehensive documentation and user-centric design are not replaced but adapted in the AI engineering paradigm.
Successful AI engineering will blend the experimental nature of data science with the disciplined approach of traditional software engineering. It demands a holistic view that balances technological innovation with organisational capabilities, ethical considerations and business objectives. Practitioners will need to be able to both use AI tools efficiently in their daily activities and learn new skills to create effective AI systems.
For IT leaders and decision makers, the message is clear: AI is not just another technology upgrade. It represents a fundamental transformation in how we conceive, develop and deploy intelligent systems. Those who recognise the need for a new discipline of AI engineering will be best positioned to harness AI's transformative potential.