as you know advent of code is coming up:
now i did a few of the puzzles and thought they were great fun, but i was A LOT slower, than those guys and gals who made it to the leaderboard. but you know, so far, in due time, i was able to figure them all out, - eventually -.
…anyway, this advent of code business got me thinking, got me thinking about the preface of HTDP:
No, this book won’t turn anyone into a master painter. But, we would not have spent fifteen years writing this edition if we didn’t believe that
everyone can design programs
everyone can experience the satisfaction that comes with creative design.
Indeed, we go even further and argue that
program design—but not programming—deserves the same role in a liberal-arts education as mathematics and language skills.
now personally i couldn’t agree more!
but also i would like to point out, that often when we think about the practical skills involved in / needed for solid programming, perhaps we do tend to ( erroneously? ) have those kinds of puzzles in mind too much?
now if one thinks about it, to solve such a puzzle takes only a few minutes, perhaps a few hours, but it certainly is not gonna be relevant to you for years and decades to come, right?
now compare this to what you find in real world programming projects! if you go with a quick and dirty solution, it may work for right now, but you are going to have deal with that ( accumulating ) technical debt somewhere down the road. ( or the people who come after you will )
( then again:
anyway, the point is, that often times i feel like we underestimate the importance of diligence and such qualities in programmers. For example, think about the importance of tests and documentation. those things do matter a great deal over the long haul, yet, and let’s be honest here, they ain’t exactly fun!
coming back to the advent of code type of puzzle, because they are such small and short lived problems, it really doesn’t matter too much how you solve them, right? still, i hear it is not uncommon for such things to be used in job-interviews. maybe they will ask you to take part in a pair-programming thing?.. solving a number of those problems…
again, personally i do have sort of mixed feelings about that logic, ( i suppose subconsciously i might be drawn to that attitude / conclusion since, and again, i tend to perform rather poorly at these - fortunately i got my job regardless - ) for would it not make more sense to focus on the work that people have done on larger projects in the past? something that they worked on for a substantial amount of time?
hmm… idk… anyway… what do you think about those kinds of finger exercises?