Ask HN: What Are the “Shoes and Socks” of Software?

4 points by implicit_none 9 years ago | 0 comments
I often read bits about how particular design styles or need-to-know algorithms/data structures are the "fundamentals of learning software." But just as often I wonder if there is something even more fundamental to the practice.

In basketball we like to say that things like "dribbing", the "three-point-stance", and "keeping your eye on the ball" are good examples of fundamentals that all good players have, but then there's the example of John Wooden[1] (championship winning UCLA basketball coach) who stressed to all new players that "putting on shoes and socks correctly" was a core fundamental.

This got me wondering; what are the "shoes and socks" of software development? Is it algorithms/data structures, writing clean code, etc.; or is it something even more basic, like holding your hands correctly over the keyboard?

[1]: http://newsroom.ucla.edu/stories/wooden-shoes-and-socks-84177