<story><title>Athletes and musicians pursue virtuosity in fundamental skills</title><url>https://notes.andymatuschak.org/zBmSSpM1WfFDehxNCBcqSZp?stackedNotes=zMX9Lfuz8sGfDUivWZcyWT</url></story><parent_chain><item><author>ilaksh</author><text>If you want to look at something specific like software engineering, it is not even a little bit similar to being an athlete or musician.&lt;p&gt;Athletes and musicians are performers. They are repeating a set sequence of movements over and over. They are reacting to the same situation with minor variations over and over.&lt;p&gt;If your knowledge work is in any way similar to that, then it should have already been automated. Probably by you, if not someone else before.&lt;p&gt;And there is no live requirement for doing programming while someone watches in a particular time frame. In fact, it&amp;#x27;s better to take your time. That will allow you to solve more difficult problems more robustly.&lt;p&gt;I would almost say that programming is just about the opposite of something performative like a sport or playing music.&lt;p&gt;You can get better at reading and solving problems by practicing that. But I don&amp;#x27;t see how toy exercises are usually important at all for professional programmers. Much less something like reading for the sake of practice.</text></item></parent_chain><comment><author>jameshart</author><text>This is the fundamental distinction yes.&lt;p&gt;Performance is about doing something exactly right the first time on the night. Concert musicians, sportspeople, firefighters, surgeons, airline pilots, and military personnel all operate to a greater extent under this kind of constraint. When you are called upon to perform, you need to get it right. So you train and practice and drill to make sure you have all the basics down, and you rehearse and prepare for the specific performance you expect to do next.&lt;p&gt;Knowledge work is specifically work that is not like that. It’s work that will involve evaluating information and making decisions and incorporating novel insights and it doesn’t have to be right first time - there’s room for iteration and experimentation and bouncing ideas around.&lt;p&gt;Now, there are parts of some of those performance oriented jobs that require improvisation and creativity and evaluation on the fly - and there are parts of more knowledge-work jobs that require well drilled fundamentals (think about incident response in software operations). So the reality is these jobs all fall on a spectrum between structured performance and freewheeling discovery.&lt;p&gt;But asking ‘why don’t we rehearse how to do knowledge work?’ is nonsensical, knowledge work is precisely that work that &lt;i&gt;involves incorporating and applying knowledge to do&lt;/i&gt; - the only way learn how to do it is by doing it.</text></comment>
<story><title>Athletes and musicians pursue virtuosity in fundamental skills</title><url>https://notes.andymatuschak.org/zBmSSpM1WfFDehxNCBcqSZp?stackedNotes=zMX9Lfuz8sGfDUivWZcyWT</url></story><parent_chain><item><author>ilaksh</author><text>If you want to look at something specific like software engineering, it is not even a little bit similar to being an athlete or musician.&lt;p&gt;Athletes and musicians are performers. They are repeating a set sequence of movements over and over. They are reacting to the same situation with minor variations over and over.&lt;p&gt;If your knowledge work is in any way similar to that, then it should have already been automated. Probably by you, if not someone else before.&lt;p&gt;And there is no live requirement for doing programming while someone watches in a particular time frame. In fact, it&amp;#x27;s better to take your time. That will allow you to solve more difficult problems more robustly.&lt;p&gt;I would almost say that programming is just about the opposite of something performative like a sport or playing music.&lt;p&gt;You can get better at reading and solving problems by practicing that. But I don&amp;#x27;t see how toy exercises are usually important at all for professional programmers. Much less something like reading for the sake of practice.</text></item></parent_chain><comment><author>danielvf</author><text>Programming is a fractal of tasks. There&amp;#x27;s big stuff like how you architect a program, then down to how you write functions, and then down even further into grit below that.&lt;p&gt;And one of the joys of programing is that at each level, there&amp;#x27;s not one right answer. But even with there being different things you can optimize for, there&amp;#x27;s also a ton of poor choices that could be made as well.&lt;p&gt;Practice lets you focus on one aspect at one level, and improves your ability there. If you were to practice writing a function focused on correctness, another time on readability, and lastly writing the function based on performance optimization, you would almost certainly be able to write a better function later. You&amp;#x27;ve expanded your tools, you&amp;#x27;ve learned new techniques, and you&amp;#x27;ve consciously evaluated your work from different perspectives.</text></comment>