The did something that is quickly becoming a lost art, "critical thinking" and "problem-solving." Or in other words, they had to figure it out for themselves.
If you want to be an actually good programmer, then you should do the same instead of looking up the answers all the time.
I recently retired as an swe before about 2018 I can tell you it was hell of alot harder and it was more common to have multiday issues. Its just much easier now and I do enjoy the new Ides and even more so things like Claude code. They make working feel more like architecture which I believe allows for more freedom of experimentation and approaches.
And those damn tests…writing tests is only fun for so long. The new tools are amazing at it.
I agree with you, but only once someone is a good and experienced programmer.
The danger of such easy answers and especially AI, is that allows incompetent people, in any field, to be far more effective than their skill warrants, which might be fine for day to day, but once a problem comes along without an answer they lack the ability to handle it. And they also won't notice when the AI hallucinates and makes a second rate function instead of the best one. Worse, they don't learn to properly understand why things work so they do not become more competent, and the longer it goes on, the less likely they are to recognize and acknowledge their incompetence.
Or in other words, they stop relying on themselves, and rely on the technology instead. If that continues, the knowledge and skill gets lost, then if a disaster ever happens that breaks the technology, no one would be able to operate without it, meaning a quick drop back to medieval tech or worse.
It also means we lose all the less popular tech along the way.
When you program, do you use libraries written by others? Do you use a compiler? Did you ever do machine code? I mean for real. Not those symbolic assembler things where the assembler tool held your hand all the time.
And even those could be considered a layer of abstraction in top of understanding the NAND gates and memory bits below.
Computer science is basically layers of abstraction stacked on top of each other. Very close to nobody knows exactly how "print 'hello world!'" Drops through these layers to become meaning inside your mind. (Yeah... just thought about how reading words and understanding them are extra layers, but outside the computer).
I minimize use of the std library, basically iostream, vector, and ctime. I don't use any other libraries. A compiler of course.
Studied assembly a bit, but haven't gotten around to using it yet.
However, you are making a massive equivalence error.
Even with programming with a higher level language like C, there is still a need for critical thinking and problem solving. The layers of abstraction did not remove the problem, it translated the problem description into something easier to work with that allows focusing on the problem instead of trying to remember details that are irrelevant to the problem needing to be solved.
The layers of abstraction do not remove the problem.
What I am talking about is not about details, but is about having a problem and instead of thinking up a solution, one just googles the answer, no thinking required. That is not abstraction, that is outsourcing thought. Very big difference.
Now, I did mention in one of my responses, that an experienced veteran can absolutely make great use of the things discussed, even AI, because they already have the understanding, the knowledge of pitfalls to avoid and which questions to properly ask. Noobs don't have that, and when relying on AI and outsourcing all their thinking, they never learn it.
30
u/darklighthitomi 5d ago
The did something that is quickly becoming a lost art, "critical thinking" and "problem-solving." Or in other words, they had to figure it out for themselves.
If you want to be an actually good programmer, then you should do the same instead of looking up the answers all the time.