Software Engineering in the Age of AI
What changes when software engineering becomes the design of a system of people, machines, and feedback?
In this essay
Reflections from an unconference about software engineering in the age of AI held in Melbourne, Australia
Will AI Change How We Build Software?
When thirty practitioners, researchers, and engineering leaders convened, the fundamental question had shifted. Rather than debating whether AI would transform software development, the group focused on something more urgent: "How fast can we redesign the entire socio-technical system so humans, machines, and metrics co-evolve responsibly?"
Vasa frames engineering as an ecosystem requiring three dimensions of value: feasibility (technical soundness), viability (business alignment), and sustainability (financial, technical, ethical, and environmental durability). AI doesn't eliminate this triad—it stretches it significantly while introducing constraints at unprecedented speed and scale.
Hiring: The Collapsing Signal Problem
LLMs now generate resumes, optimize cover letters, and simulate interview preparation. This capability has eroded traditional competency signals. The core challenge emerges clearly: "When every part of the pipeline can be delegated to an LLM, the observable output is no longer a proxy for the latent capability we're trying to measure."
The proposed solutions focus on deeper assessment:
- Evaluate prompt literacy and critical thinking alongside programming competence
- Request candidates critique AI-generated code fragments to reveal judgment
- Treat AI fluency positively while anchoring it in understanding of risk, bias, and constraints
Juniors and the Lost Apprenticeship
Engineering traditionally develops through "exposure to pain"—wrestling with stack traces, debugging failures, rearchitecting collapsed systems. AI shortcuts this struggle, risking a cohort whose intuition never fully develops.
The deeper concern: each time cognitive challenges are outsourced to models, tacit knowledge accumulation slows. Addressing this requires:
- Shadow prompts: juniors attempt tasks before comparing their approach with the model's solution
- Mentor review of AI output: treating the LLM as a noisy junior, humans as editors
- Deliberate friction zones: areas where AI suggestions are disabled, forcing human engagement with design tradeoffs
Redefining the "Good Engineer"
Speed has become automated. What remains scarce is sense-making. Emerging core skills converge around:
- Asking better questions (problem framing)
- Filtering signal from noise (critique and synthesis)
- Composing systems, not snippets (architectural reasoning)
The paradox: if engineers don't generate sufficient code themselves, they lose the critical ability to build tacit knowledge through practice. The best engineers may function as "AI conductors"—orchestrating models and agents while maintaining deep technical judgment about system robustness, maintainability, and value.
Speed, Metrics, and the Illusion of Progress
AI can artificially inflate vanity metrics—commits, lines changed, tokens consumed. Organizations risk creating misleading leaderboards around agent productivity without measuring actual value creation. "If a number can be gamed (which is ever so easier with AI tools), it probably wasn't measuring value in the first place."
Better metrics focus on human-centric outcomes:
- Design delta: how changes improve modularity or reduce cognitive load
- Decision traceability: clarity of tradeoffs and risk assumptions captured with code
- Collaborative impact: frequency and quality of knowledge transferred across teams
Culture Is the Hardest Interface
Tool adoption races ahead of cultural adaptation. Teams show mixed responses: juniors defaulting to ChatGPT for every query, seniors resisting automation on principle, staff engineers running quiet experiments.
Effective interventions leverage shared rituals: brown-bag demos, prompt libraries, "failure-file" talks where teams discuss what went wrong with AI-assisted development. Culture serves as the error-tolerance buffer for any system.
The integration challenge remains: different experience levels interact with AI differently, creating new knowledge gaps and potential friction.
Closing Reflections
Software engineering has always balanced creativity with engineering reliable structures, accumulating tacit knowledge while navigating complex tradeoffs. Large language models represent significant disruption, but the core nature of the field persists unchanged.
The path forward involves architecting feedback loops where humans and machines co-create and co-mature. Tools, processes, systems, and culture for integrating this capability continue developing. The engineering community has demonstrated remarkable adaptability, and the workshop inspired confidence that the field can steward this craft responsibly.
Key Recommendations
- Re-instrument hiring: Move from resume artifacts to evidence of systemic thinking and AI stewardship
- Redesign learning loops: Embed friction and reflection so tacit craft survives in AI-accelerated workflows
- Codify cultural scaffolds: Normalize experimentation, critique, and collective sense-making
- Align with sustainability: Factor human, political, and cultural energy costs into definitions of completion
"The path forward isn't about choosing between human creativity and machine capability; it is about designing systems where both can flourish."