Yeah “just actually have large swaths of code memorized/chunked/tokenized in a way that’s easy to skim and reason about” seems clearly helpful, (and seems related to stuff @RobertM was saying)
It doesn’t seem immediately useful as an action-prompt on it’s own for a junior developer. But, I guess, I’ve probably spent a similar number of hours as Robert at least glancing at terminal logs,
(Unless you think you have a skill of memorizing new things quickly that you expect to help a junior developer?)
The things that seem relevant here are, like, “try at all to memorize swaths of code in some kind of comprehensive way”, and presumably there are subskills that make that easier, which may not help immediately but probably changes one’s trajectory.
This is something that came naturally to me, so much that in the beginning I was surprised at people saying that they can’t remember code they wrote previously.
One actionable thing here would probably be “remember abstractions/patterns” rather than “remember code”. Sort of like how grandmasters remember generic patterns of chess pieces rather than where each one is (I could be very mistaken here). The first level of this is remembering which folders do what, then which file, then which functions etc. Then you don’t need to remember what the exact code does, as you can treat it as abstract units.
This is the flip side of what @RobertM was saying about code quality—this makes remembering where things are massively simpler, as you can expect things to conform to the same approach everywhere. Reading (and understanding) a badly written piece of code is much harder than doing the same with a well written piece of code, because you have to keep much more working parts in your active memory. This is also part of where the heuristics to keep code snippets short and use lots of functions comes from.
Yeah “just actually have large swaths of code memorized/chunked/tokenized in a way that’s easy to skim and reason about” seems clearly helpful, (and seems related to stuff @RobertM was saying)
It doesn’t seem immediately useful as an action-prompt on it’s own for a junior developer. But, I guess, I’ve probably spent a similar number of hours as Robert at least glancing at terminal logs,
(Unless you think you have a skill of memorizing new things quickly that you expect to help a junior developer?)
The things that seem relevant here are, like, “try at all to memorize swaths of code in some kind of comprehensive way”, and presumably there are subskills that make that easier, which may not help immediately but probably changes one’s trajectory.
This is something that came naturally to me, so much that in the beginning I was surprised at people saying that they can’t remember code they wrote previously.
One actionable thing here would probably be “remember abstractions/patterns” rather than “remember code”. Sort of like how grandmasters remember generic patterns of chess pieces rather than where each one is (I could be very mistaken here). The first level of this is remembering which folders do what, then which file, then which functions etc. Then you don’t need to remember what the exact code does, as you can treat it as abstract units.
This is the flip side of what @RobertM was saying about code quality—this makes remembering where things are massively simpler, as you can expect things to conform to the same approach everywhere. Reading (and understanding) a badly written piece of code is much harder than doing the same with a well written piece of code, because you have to keep much more working parts in your active memory. This is also part of where the heuristics to keep code snippets short and use lots of functions comes from.