The Joy of Hand-Coding

AI has taken off over the past two years, and these days it is hard to build software or write programs without AI assistance. It is not hard to predict that, in the future, AI will write the code for almost all software. I see this as an unstoppable trend: compared with traditional hand coding, AI-assisted programming offers a dramatic increase in efficiency. It is like cars replacing horse-drawn carriages. Whether you like it or not, technological progress cannot be stopped.

I support the development and adoption of AI. If it can improve efficiency and productivity, why wouldn’t I? Yet AI’s rapid growth has brought a recurring debate over the past two years: Will AI replace programmers? Are programmers all going to lose their jobs? I have no answer, and I do not care that much about it. What concerns me more, or perhaps what I feel more deeply, is this: the joy of writing code by hand is about to disappear.

Yes, writing code can be great fun. You abstract things from the real world, weave the corresponding structures and logic in your mind, then put your fingers to the keyboard to write line after line of code, file after file. You debug, revise, refactor, and polish it until the program finally runs successfully. Throughout the process, you are immersed in it and happily absorbed. It is the joy of intellectual creation and solving difficult problems. And for people with obsessive-compulsive tendencies and perfectionist streaks–myself included–seeing code you wrote that is tidy, consistent, and elegant brings a deep sense of satisfaction and accomplishment.

Yet as AI-assisted programming becomes commonplace, programmers gradually stop writing code by hand. Instead, they think through a task, write prompts, interact with an AI again and again, and inspect and test its generated code until it meets their needs. Efficiency has undoubtedly increased enormously. Building software is no longer such a formidable barrier, and the sense of achievement from completion and output is greater too: in a short time, you can build complex features. It feels great! But the pleasure of AI-assisted programming is very different from the joy of hand coding as I knew it. Many discussions say that programmers now resemble “prompt engineers” (Prompt Engineer). I personally feel that programmers in the AI era are indeed very different from those of the past. In fact, I think they are two distinct professions, and perhaps we should stop calling them programmers altogether; a different occupational title might be more appropriate.

After spending some time becoming familiar and comfortable with AI-assisted programming, I have personally found that I no longer like being a programmer as much as I used to. Writing code used to be one of my interests, but that interest now seems to have faded away. Part of me finds that regrettable; another part feels fortunate. We were fortunate to live through an era when hand coding was still the mainstream. Software development only has a history of several decades, and it has accelerated rapidly over the last decade or two, with programming languages, development tools, and methodologies constantly emerging. Our generation has been lucky enough to witness all of it firsthand. Looked at from another angle, there may be no programmers who code by hand in the future. We are the last generation of programmers to experience the joy of hand coding. How fortunate we are, haha.

While writing this piece, I wondered whether other programmers felt the same way. So I looked it up, and it turns out they do. There have been quite a few discussions on Reddit, along with some blog posts. Here are a few links:

Some of them say that they still prefer the old way of programming, and express doubts about, or difficulty adapting to, AI-assisted programming. I think some programmers have not realized that the work they are doing is no longer the work they used to do. The reason they feel ill at ease or unhappy, and may even develop resistance to AI, may be that they do not enjoy this new job and instead miss the pleasure they found in coding by hand.