Reflections on software engineering in the age of AI
Advances in large language models are transforming day-to-day software development, but engineers are sharply divided over whether this marks a true “age of AI” or just a hype cycle. Many report dramatic productivity gains by offloading boilerplate, refactoring, and testing to AI, while others find the tools unreliable, cognitively draining to supervise, or inadequate for complex, novel problems. Underneath the tooling debate are deeper concerns about the future of the profession: the erosion of junior career ladders, a shift toward roles that orchestrate and audit AI-generated code, and the enduring value of human architecture, domain expertise, and personal craft.
AI-Accelerated Workflows and Productivity
- Several developers describe end-to-end workflows where LLMs help with requirements drafting, design choices, schemas, mockups, tests, coding, and refactoring.
- Reported benefits: solo-building products that would previously require a team, compressing weeks of work into days, and using AI for large-scale refactors and bug-hunting in huge codebases.
- Others limit AI to prototyping, bug detection, or documentation, then rewrite by hand for quality and maintainability.
Quality of AI-Generated Code
- Strong disagreement: some say LLMs are “terrible programmers” and should be used mainly as analyzers or rubber ducks; others claim AI-written code is fast, solid, and already dominates their production code with human review.
- Many note AI gets ~90–95% to their quality bar; polishing the last 5–10% (edge cases, style, coherence) is mentally taxing and can negate speed gains.
- There is consensus that AI output must be reviewed and that models forget constraints, misinterpret feedback, and can propose dangerous fixes.
Scope Limits and Hard Problems
- Several comments highlight domains where current LLMs struggle: game engines (e.g., advanced occlusion mapping), complex simulations, cutting-edge algorithms, and architecture choices not well represented in training data.
- AI tends to pick “average” or popular stacks and patterns (e.g., common web frameworks) even when suboptimal.
Roles, Careers, and Skill Erosion
- One view: most traditional “feature-implementing” software engineers become obsolete; remaining roles cluster into:
- A small elite creating libraries, tools, and open source that feed training data.
- Practitioners who “channel” and constrain AI-generated code within organizations.
- QA-like roles verifying and probing AI output.
- Others argue good architecture, maintainability, and design remain essential in commercial software and can’t be replaced by code generators.
- Ongoing concern about junior developers losing implementation “reps” and long-term skill atrophy.
Experience, Enjoyment, and Craft
- Some find working with LLMs frustrating: models hallucinate, ignore instructions, and behave like forgetful, overconfident collaborators.
- Others feel liberated from boring tasks and enjoy focusing on architecture, problem definition, and higher-level design.
- Multiple commenters emphasize programming as personal mental-model construction and a craft, predicting a future where humans increasingly “shape” vast streams of AI code—more like bonsai cultivation than from-scratch construction.
Economic and Societal Debates
- Disagreement over whether we’re truly in an “Age of AI”:
- Pro-AI side: huge productivity gains, analogy to tractors and assembly lines.
- Skeptical side: hype, limited societal benefit so far, ethical issues with training data, and a shift from open, democratized learning to paywalled, centralized AI tooling.