Back to Blog

The Simple-Minded Girl Who Could Sew on Buttons


I used to think programming was a pretty difficult skill. When I first encountered C at university, it might as well have been written in an alien language. I thought my English was decent. These were the same letters, with a few symbols thrown in, yet I could breeze through the CET-4 and CET-6 English exams while the thought of my C final made me break out in a sweat. The header files were a particular headache. I kept writing things twice or forgetting what belonged in a .c file and what went in a .h file. I could barely make sense of printf either. Why did I need an &? When did I use single quotes, and when did I use double quotes? Formatted output was such a pain.

And that VC++ editor was bloody awful. Once I figured out how to get the compiler and runtime set up quickly at the start of each lab, I became very popular with the students sitting nearby. At least I had one useful skill.

When I finally made it through the introductory C course, I remember feeling an enormous sense of relief. After passing the final, my roommates and I went out for Chongqing chicken hot pot, then spent the night at an internet café playing League of Legends as a five-person team. We all had computers, but the dorm just didn’t have the same atmosphere.

What I hadn’t seen coming was that my later embedded systems courses would use C too. Stranger still, code that had worked in the editor no longer did. Now it had to run on a development board. I had to connect serial cables, cross-compile, read chip manuals, and install all sorts of .a and .so files. God knows what those were for. Whenever the board disapproved of my code, it would start babbling things like “锟斤拷、烫烫烫烫、屯屯屯屯屯.” All I could do was cut the power and reboot to break the spell…

Those rough early encounters left me with a lasting respect for programming. After a few years of stumbling around in the industry, I came to see it differently. It’s difficult, but it’s also a basic skill. In a complete application or system, programming is one part of the engineering work, one stage in the software development cycle. Knowing how to code doesn’t mean you know how to do software engineering well.

Software engineering

Lately, I’ve been seeing plenty of creators on WeChat and Xiaohongshu who, with AI’s help, have picked up programming in no time. Or rather, AI-assisted programming. Maybe they’ve learned a few other things along the way; I couldn’t say. What they do seem comfortable with is getting AI to write code. Browse their profiles and every post or two you’ll find another shout of “Everyone’s a programmer now!”, “Software engineering is so easy!”, or “Programmers are dead!” I have a fair idea of what they’re after: they want me to learn AI coding from them. Buy their course. I’m not interested, for two reasons. First, I can already code. Second, programming isn’t the same as software engineering, and what they’ve built with AI is pretty rough. Ready-made SaaS templates look better than their one-click websites.

They’ve found a key and opened a back door into software development, without realizing they’ve stepped onto a factory floor. Beneath the production line are all sorts of molds they’ve never seen. The line keeps turning out “new products,” things they recognize but never knew how to make. They’re thrilled. They feel they’ve mastered artificial intelligence, the cutting-edge technology at the frontier of the world. Compared with that, what the assembly line and the molds actually are hardly seems to matter.

Still, I don’t think “everyone’s a programmer” is a bad thing. Bringing people from outside the profession into programming could help software engineering develop further. Programmers have spent quite a while building things among themselves. More people from other fields might shake up the usual ways of doing things. Maybe we’ll get a few fresh products that really catch on.

But I suspect most people aren’t all that interested in where software engineering is going. What interests them is that something they couldn’t do before is suddenly within reach. Can they make more of it? Can they turn it into something valuable for themselves, which is to say, money? After all, a chance to catch a boom and take off with it doesn’t come along every day.