Sprinkles of tips don't cut it
I finally did it — at the end of 2024, I got myself a trombone!
Learning it as my second instrument had always been a goal of mine. When I came home from the shop, I immediately started trying it out. Unsurprisingly, it sounded mostly cranky and wrong. But I didn’t expect anything else — I know it takes years of practice.
My first lesson with my teacher was still a few weeks away. So I used my initial motivation and searched YouTube for beginner lessons and tips. How hard could it be to fix my embouchure and improve the sound? Even with all the information available on the internet — really hard.
I didn’t expect a full course on how to learn the trombone for free on YouTube. But all of these videos only scratched the surface. Quick fixes and ideas, but none of them gave me the foundation I needed to truly improve. Eventually, I had my first lesson and finally started to understand how to breathe in and out properly. Or how it needs to feel and sound when buzzing through the instrument.
You might wonder how is this relevant on an engineer’s blog? Well, while scrolling through YouTube today, I saw a video with a title like “5 Things Senior Engineers Do When Changing Code.” There are likely thousands of videos and blog posts with “X Tips” about what engineers do. Multiply that by every framework, programming language, company, and engineering level that exists.
As great as dense information sometimes can be, learning doesn’t work like that. When I started learning drums, I spent years just on the snare drum to learn the basics of stick control. When I learned programming, I spent years failing while figuring out how to build anything at all. When I started learning what software engineering is really about (TODO: create a blog post with “10 Things Software Engineering Is Really About”), it took years of trial, error, and learning from others.
I recently learned about the term “tutorial hell”, which refers to endlessly consuming tutorials without ever progressing. It perfectly captures what I’m describing here: the hope and illusion of learning without real growth.
LLMs make this even worse as they can take away a good chunk of the learning experience. That’s why I disable any LLM completion when learning a new programming language. Sprinkles of tips and tricks just don’t cut it. They won’t make you better. Go deep into a topic, fail, and repeat 🎺.
PS: Yes, I know that the emoji is a trumpet. Trombone emoji is not a thing yet but is coming soon.