Hacker News new | past | comments | ask | show | jobs | submit login

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.

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.

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.

And there is no live requirement for doing programming while someone watches in a particular time frame. In fact, it's better to take your time. That will allow you to solve more difficult problems more robustly.

I would almost say that programming is just about the opposite of something performative like a sport or playing music.

You can get better at reading and solving problems by practicing that. But I don't see how toy exercises are usually important at all for professional programmers. Much less something like reading for the sake of practice.




This is the fundamental distinction yes.

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.

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.

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.

But asking ‘why don’t we rehearse how to do knowledge work?’ is nonsensical, knowledge work is precisely that work that involves incorporating and applying knowledge to do - the only way learn how to do it is by doing it.


Programming is a fractal of tasks. There'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.

And one of the joys of programing is that at each level, there's not one right answer. But even with there being different things you can optimize for, there's also a ton of poor choices that could be made as well.

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've expanded your tools, you've learned new techniques, and you've consciously evaluated your work from different perspectives.


Wow, this comment sounds like it's written by someone who's never interacted with "musicians" or thinks a musician is a person who goes on stage and plays the same song over and over. And further thinks that engineering or being an "athelete" or "musician" is a very narrowly scoped job.

Musicians, like any other "professional" have a broad range of functions from arrangers, composers to song writers, performing musicians, session musicians, touring musicians and so on.

A jazz musician (who might be performing live on stage) will likely not play the same song the same way twice. Is a jazz musician then not a musician because they aren't "repeating a set of movements over and over?"

If anything writing a CRUD type application IS something that could be automated because the patterns and the goals are largely the same but to take this example and apply to what atheletes do is pretty misguided.

Most atheletes are dynamically reacting to their environment or situation, taking into account the newest data and formulating a plan "on the fly" to meet their goals (scoring a goal, landing punches, etc).

My own credentials including multiple engineering degrees, experience designing equipment for "musicians" and "atheletes" so I don't think I'm talking out my ass here.


Another key difference is that music and athletics are physical activities where reaction times have to be faster than the time required for conscious thought. If your hands aren't already moving to do the right thing before you have time to think about it, you'll never make it as a top-level musician or athlete. There's nothing really like this in programming.


I think knowledge work perhaps is more similar to being a composer rather than a musician.

Musicians performing existing pieces add touches of nuance but are penalized if deviating too much from the original.

A composer on the other hand should be adding significantly new components to the existing body of works and is measured on how much they are deviating from the existing body of works.

A sports analogy (although a bit weaker) would be Olympic/NBA/NFL/MLB/FIFA sports which have known rules and limits versus X-game/RedBull type sports which are pushing boundaries of non-existent rules.

Tech activities more similar to athletes/musicians that benefit from repetition would probably be like timed competitive leetcode or competitive Excel tournaments[1].

[1] Financial Modeling Worldcup https://fmworldcup.com/excel-esports/


Healthcare is at least somewhat similar to sports and music, in the sense of performing complex tasks under tight time constraints. Certain aspects of healthcare have been automated but it's still mostly humans performing hands-on procedures.


> 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.

This is peak hacker news.


My grandparent was a big organist, he practiced the same movements over and over on new organs before big performances. How do you think musicians learn to play every note close to perfectly?

If you mean a musician working with a DAW, then yeah it is much closer, but such musicians works much more like a knowledge worker and doesn't need to focus on the fundamentals that much, just like programmers, at least not more than the equivalent of an undergrad that programmers gets.


Not all musicians consider "close to perfect" a virtue. I suspect that outside of western classical and pop music it's quite rare. Certainly the music I listen to isn't anything like that.


Musicians who play in orchestra may play the difficult sequence a lot, but they do not get to play whole concert again and again. They also need to be able to react to other sections, because otherwise whole orchestra desynchronized. Sometimes play unexpectedly something different.

The big groups of musicians are massive chaos.


Extra points if they can compare to bridge engineering too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: