The Programmer's Paradox: Finding Joy in Manual Code Amidst the AI Revolution
A software developer's honest question, "Am I old?", after finding immense satisfaction in writing simple utility functions by hand without AI, resonated deeply within the Hacker News community. The original poster (OP) expressed a love for "craft and form," contrasting it with the perceived rush towards AI-driven development, and wondered if this made them irrelevant despite also using AI for speed at work. This opened up a rich discussion on the evolving role of developers, the nature of programming, and the place of craftsmanship in an increasingly automated world.
The Core Tension: Craftsmanship vs. AI-Driven Efficiency
The central theme revolves around the joy of manual coding versus the perceived necessity and benefits of AI tools. The OP's sentiment of finding pleasure in the meticulous process of writing code, understanding its every line, and the satisfaction of creating something from scratch was echoed by many. Andrei_says_ noted, "Craftsmanship brings joy different from the one of productivity," preferring to sometimes switch to a simpler editor for a "quieter process."
A Resounding "Why Not Both?": Integrating AI Strategically
The most prevalent advice was to embrace both manual coding and AI tools. As user runjake, in his mid-50s, put it, "Being into one doesn't negate the other." He urged fostering resilience and adaptability, shunning "back in my day-ism." This sentiment was shared by many who see AI as another tool in the developer's arsenal.
Productive strategies for this integration include:
- Work vs. Personal Projects: Ferg_uess_k uses AI extensively at work but restricts its use in side projects to enjoy the process of figuring things out.
- Tackling Tedium: Matthewwolfe uses AI and deterministic code generators to "skip past the boring part," like creating UI forms for the 1000th time, reserving manual effort for novel tasks.
- Overcoming Blocks and Scaffolding: Cableshaft uses AI when stuck or for writing scaffolding for unit tests, but not when in a flow state.
- Learning and Exploration: Mikewarot, a 61-year-old programmer, is using GitHub Copilot to implement a complex language, intending to then manually understand and debug every line of code, underscoring the desire to "grok everything you write."
The Indispensable Human: Why Experience and Deep Understanding Matter
A strong consensus emerged that experienced developers can leverage AI more effectively. Rxliuli argued that AI is "more friendly to experienced developers because you can have AI help you complete some tasks and then review them yourself," while inexperienced developers might struggle to pinpoint issues. Al_borland shared a similar view, stating that those who can code well manually can guide AI towards more elegant and understandable solutions.
Cableshaft warned against over-reliance, comparing it to solely copy-pasting from Stack Overflow: "If you use it too much the coding muscle gets weak." This weakening could impair the ability to identify incorrect or suboptimal code. Psyklic drew an analogy to mathematics: "those with a deep understanding will be able to do it by hand. Everyone else will take the easy route -- higher immediate productivity but overall capable of less."
Age, Adaptability, and Identity
The OP's question about being "old" was met with reassurance from developers across various age groups. Many older programmers, like runjake (mid-50s) and mikewarot (61), shared that they actively engage with new technologies like AI while still valuing traditional skills. Jamesgill advised the OP, "You're not irrelevant... Don't make it your identity." The discussion suggested that adaptability, rather than age, is the critical factor.
Debating "Speed" and the Future of Craftsmanship
While AI is often touted for increasing coding speed, some questioned if this is always the primary bottleneck or goal. Dakiol argued, "In work based environments, the bottleneck is not writing code is human interaction (understanding requirements, making trade offs and communicating them, listening to feedback, etc.)." This led to a sub-discussion on Agile principles, with skydhash pointing out that the Agile Manifesto prioritizes working software and responding to change over merely "pumping code out as fast as you can." Gcheong countered by citing the Agile principle of "early and continuous delivery of valuable software."
The future of "craftsmen" also saw debate. While dcminter believed there will always be room for them, unsupp0rted offered a more stark view: room exists only as long as craftsmen make things better than machines, suggesting this might be a historical blip. However, sky2224 noted that often AI handles 90% of a task, but the remaining 10% can constitute 70% of the actual work, requiring deep human expertise.
Conclusion: Finding Fulfillment and Relevance
The overarching sentiment is that the joy of manual coding and the utility of AI are not mutually exclusive. Developers can find a fulfilling path by strategically using AI to enhance productivity and tackle tedium, while reserving manual coding for tasks that require deep understanding, creativity, and provide personal satisfaction. The ability to understand, review, and guide AI-generated code, rooted in strong fundamental skills, appears to be an increasingly valuable asset. As the OP (zwilderrr) realized, they weren't alone in their "existential state," finding confirmation and camaraderie in shared experiences.