Comment by sashank_1509
1 day ago
In the past this book was interesting since getting good at it did somewhat help you become a better programmer. At the very least, your typing and ability to write a first implementation with fewer bugs improved as you practiced competitive programming, to some extent even your ability to problem solve and come up with good architectures improved.
That’s all out of the window now. If we are really in “do we even read the code?” territory, then this is just a hobby to do for fun, and doesn’t matter for any real world work. But even if we read the code, but most code is written by prompting and iterating with agents, I don’t know if this will be helpful at all.
People tend to underestimate to what extent pre-LLM programming experience contributes to their ability to steer LLMs in the right direction and produce decent results.
In 5 to 10 years, we'll see what kind of engineer is produced from pure LLM steering without years of hand coding experience. Even many of the more experienced ones would have some of this skill atrophied.
I see this sort of thing as a mind gym, and staying sharp will help your critical faculties as a programmer. Of course, the specific problems are nothing like the problems most of us solve day to day, but it still has many benefits.
Let's take a hypothetical where we really do all stop reading or writing code, because the models and tooling get good enough. In that scenario I would still argue for this of thing. Studying algorithms gives you a lot of insight and a powerful way of thinking. This class of problems is ultimately about how aspects of software work, so having some familiarity with famous algorithms is part of computer literacy. I'm not saying that you need to be an expert, but struggling to solve a few hard algorithm problems teaches a lot.
As a totally mundane way of looking at this, I treated leetcode the same way for years, where I'd do it for fun and because there was a strange satisfaction in solving some of the harder problems, even though it very rarely had relevance in my SWE day job. Except for very rare occasions where I had to write simple graph algorithms.
In the past few months, all of the technical interviews I had involved some form of live coding exercises. Some with hard leetcode level problems even though the positions I interview for are backend/fullstack web engineering, not some kind of high performance algorithms enhancements and implementation jobs (like HFT trading or low level libraries). I encountered this so often nowadays that I am now allocating a few hours per week for algo problem solving to keep my coding skills polished because the AI is writing my code in my day to day job also