1. 7

  2. 4

    While I agree with the premise, I take issue with the proposed solution of practicing puzzle exercises. The problem space is agreed “Sav-Mart needs the ‘repeat previous order’ button on their B2B site by next Tuesday.”

    You can do day-to-day work without ever really understanding a deficiency because a lot of the gaps don’t show up immediately. They show up when you need to modify or debug your code in a year, and without external feedback you may never understand that your class might have been better if you’d structured it differently. It’s entirely possible to continue to get paid, year after year, for sub-par work.

    So what they are saying here is that specifically modifying or fixing code a year later (maintenance) is where deficiencies show up. Then the left turn i.e. puzzle exercises help with that. I don’t agree at all with this. At best, puzzle exercises are fun for some (not me) and make you excel at puzzle exercises. At worst you propagate puzzle exercise type programming into problem spaces that don’t warrant that and increase the difficulty of maintenance.

    1. 2

      I don’t usually comment on my own posts, but I did want to say that exercises are one part of the proposed solution. Reading and review are also part of it. Doing an exercise can help teach you about new data structures, algorithms, and entire approaches to problems. It’s one aspect of an overall approach.