Software Developer Graduates 2031 - Anne M. V. Bosch - NDC Oslo 2026
Summary
The talk addresses the crisis in computer science education, noting plummeting student applications and the challenge posed by Generative AI (GenAI) and Large Language Models (LLMs) generating code. The speaker argues that the definition of 'programming' must shift from merely producing a software artifact to mastering 'domain translation'—the ability to translate complex, often tacit, business requirements into functional systems. To adapt, education must overhaul traditional assessments, moving from grading codebases to process-oriented methods like code interviews, and adopting a curriculum that starts at a high abstraction level rather than low-level programming fundamentals.
Key takeaways
-
The CS Education Crisis
19:10
The field faces declining student numbers and graduates struggle to find entry-level jobs because job requirements differ from academic output. This trend is exacerbated by the increasing use of LLMs, which challenge the traditional assessment of competence.
-
Programming is Domain Translation
25:50
Drawing on Peter Nauer's 1985 theory, the speaker asserts that 'programming' is not writing code; it is the essential process of taking domain insights (tacit knowledge) and translating them into an automated system. The software product is merely an 'auxiliary output' of this process.
-
Reforming Assessment Methods
34:10
To validate competence, the speaker proposes moving away from grading the final codebase. Instead, 'code interviews' (15-minute conversations with a TA) are used to quiz students on design choices, alternatives, testing strategies, and system implications, thus improving the validity of the assessment.
-
Future Curriculum Design
43:20
The educational model should flip from bottom-up (starting with C programming and low-level data structures) to top-down. Students should start by building real-world products at a high abstraction level, forcing them to learn the underlying technical skills only when the system breaks.
More digests on Software Engineering
Technical details
-
Assessment Validity and Reliability
1800s
The speaker discusses the need for assessments to have high validity (measuring what they intend to measure) and reliability (different assessors reaching the same conclusion). Traditional code grading is criticized for low validity because LLMs and copy-pasting can produce functional but unoriginal code.
-
Software Development Process
1650s
The core of software development is identified as the process of understanding conflicting business requirements, decomposing functional components, and debugging—not the final artifact. This emphasizes the need for systemic thinking.
-
Generative AI Impact
2800s
The speaker discusses the uncertainty surrounding the future of AI in development, noting that while some predict that writing and reading code will become obsolete, others predict a 'bubble burst' in AI dependency.
Mentioned resources
- Peter Nauer's essay 'Programming as Theory Building'
Channel & topics
Watch on YouTube · Back to latest
This independent, AI-assisted summary is provided for commentary and informational purposes. It may contain errors or omit important context. Please watch the original video for the creator's complete presentation. Video, thumbnail, and related copyrights belong to their respective owners.