Skip to main content

AI in software engineering

Embracing a holistic and changing future

By Julene Marr & Everett Toews

The software engineering landscape is undergoing a seismic shift with the advent of Artificial Intelligence (AI). Engineers are experiencing disruptions and opportunities that are redefining their roles and the industry's future. AI isn't just another tool - it augments capabilities and aligns engineering practices with broader organisational goals like financial operations (FinOps) and sustainability, directly integrating coding practices with company policies that were previously abstract afterthoughts.

The intersection of engineering, FinOps, and sustainability

Consider Sarah, a software engineer at a tech company aiming to optimise cloud infrastructure costs while reducing its environmental footprint. Traditionally, Sarah focused on delivering projects that met specific requirements within set timelines. Now, her role is expanding. She's expected to consider how her code impacts the organisation's financial efficiency and environmental sustainability. This is where FinOps and sustainable coding come into play:

  • FinOps is the practice of bringing financial accountability to the variable spend model of cloud computing, encouraging collaboration between engineering and finance teams to optimise costs.
  • Sustainable coding involves writing efficient code that reduces energy consumption and environmental impact.

By integrating FinOps and sustainability into her engineering practices, Sarah isn't just coding for functionality - she's coding for efficiency, cost-effectiveness, and a greener future, with her efforts clearly communicated and measured.

AI augmenting engineering practices

AI becomes a powerful ally in this endeavour. Here's how it assists Sarah:

Real-time feedback and optimisation

While coding, Sarah uses an AI-powered development tool that provides immediate feedback on code efficiency. As she writes a new function, the AI analyses it in real time, suggesting optimisations to reduce computational resources and energy consumption. For instance, it might highlight a more efficient algorithm or point out redundant code that could inflate cloud costs. The AI can even calculate the cost commitment at the point of deployment, providing her with real-time feedback and ownership over financial implications.

Plain language insights

These AI tools communicate in accessible language, making it easier for Sarah to understand the broader impact of her code and to communicate benefits to stakeholders. Instead of technical jargon, the AI might say, "Right, sizing this cloud infrastructure could reduce costs by 15% and decrease energy usage, contributing to our sustainability goals." This helps Sarah to communicate with business stakeholders so they can understand the value for the effort invested.

Transforming the engineer's journey

Evolution of Sarah's role:

Enhanced decision-making

With AI's support, she's making more informed decisions. Understanding the financial and environmental impact of her code empowers her to choose solutions that are efficient and responsible as well as aligned to organisational standards.

Accelerated learning and effectiveness

AI accelerates her growth by highlighting best practices and offering real-time guidance. New engineers like Sarah become effective team members faster, as AI tools bridge knowledge gaps and reinforce learning, applying organisational standards consistently. These feedback loops also bring best practices directly to engineering design, supporting leadership teams in distributing and reinforcing knowledge.

Addressing the challenge of fundamental understanding

However, one challenge arises: the basic functions engineers would previously have been trained on are now executed by AI. How does Sarah or the next new intern achieve a fundamental understanding of these engineering concepts, and is it important?

Importance of foundational knowledge

While AI can handle routine coding tasks, a deep understanding of fundamental principles remains essential. Sarah needs to grasp the "why" behind the code to debug complex issues, innovate new solutions, and ensure code quality beyond AI's capabilities.

Bridging the learning gap

Training programs should balance the use of AI tools with education on core programming concepts. Hands-on projects requiring manual coding can reinforce foundational skills, ensuring engineers aren't overly reliant on AI.

Critical thinking and oversight

Engineers must develop the ability to critically assess AI-generated code, understanding potential pitfalls, security vulnerabilities, and optimisation opportunities that AI might overlook. The challenge has changed, previously when a system did not know the answer, it would respond with an error, with AI it will hallucinate an answer. Skilled engineers such as Sarah must be able to evaluate the response and approve the output as correct.

The road ahead

The holistic integration of AI, FinOps, and sustainable coding is shaping the future of software development can how it can better contribute to wider organisational goals such as cost reduction and commitment to sustainability targets. By acknowledging and addressing challenges in training and skill development, we can ensure engineers like Sarah can become more effective, augmented by this capability. Embracing these changes and grasping the opportunities AI provides will allow engineering contributions to be elevated, cost effective and promote a more sustainable world.