cbza.org Casa Budista Zapatista-Anarquista

The Next Generation of Programmers are Doomed

Yesterday I reviewed some code and I told the programmer how he could drastically simplify something he wrote and he responded by saying, "No that won't work..." for such and such reason. So I wrote a little test and showed him that what I was suggesting worked just fine.

But he said, "No, you see it won't work..." for this reason and that reason. So I asked him for more details and to show me the actual data he was using, thinking I misunderstood something. But nothing he showed me was problematic in any way but still he said it won't work for the same reasons and that anyway Copilot told him to write it that way.

So I said, "But I just showed you that it does work and plus you can write a test," and this seemed to be a novel suggestion to him.

I learned programming through a lot of trial and error and I didn't come up through the typical college to industry pipeline. What I learned about programming is that you try a lot of things, you poke and prod at things and you figure out how they work. Ideally the documentation is good but even then it's not always correct even in the best systems.

It's a bit like doing physics experiments except that unlike physics, if you don't like how something behaves, you can change it, as if you were changing the physical laws themselves.

But it seems most of the younger programmers I am working with have no sense of this attitude of experimentation. It doesn't occur to many of them and they don't have any practice or skills in doing it. It's worse than ever now with Copilot: they just do what it says.

Without the experiments—figuring out what works, what doesn't and what they don't like—they also won't get to the next stage: learning they can change how things work under the hood which is where all the interesting things happen anyway.

I don't know what they teach anymore in the colleges, are they just going to teach kids how to do what Copilot says?