Don't dig up the beach
In last week's post I wrote about how goals equip you with a "what should I learn" detector. I want to expand on that a bit to discuss how it's used in practice, through the analogy of a metal detector.
If you're looking for buried treasure on a beach, what's the best way to find it? Do you randomly just start digging? No, you use a metal detector. You walk around the surface until you hear it go off and then you start digging. When do you stop digging? When you've either found the treasure or you've dug deep enough to decide that it was a false alarm and it's time to find another place to dig.
As an example, let's say your goal is getting a job as a software developer when you have no experience. Cool, now you have your detector. Some ways to start exploring your beach might be joining programming discords and reading random chats, listening to podcasts, subscribing to newsletters, browsing reddit, going to local meetups, asking ChatGPT to help brainstorm ideas, etc... Anything that will expose you to the way industry people talk, the kinds of things they focus on, their values, what questions they ask, and how they are generally choosing to spend their time and energy.
Now that you've been tuning into the industry a bit, you notice something. A lot of people are using this site called "GitHub" to contribute to existing software projects as a way to hone their own skills within an established framework while enjoying the feeling of creating something real, and also getting real feedback from others! You even see someone post a specific repository that is very friendly for beginner contributions. That sounds like a super valuable use of your time. So you start to dig.
Now that you've started to dig, you don't need that metal detector anymore. You know what treasure looks like. So intentionally put that sucker away. Pull back from the discord chats, the browsing reddit. You are laser focused on the treasure that's directly under you and you're not going to get distracted by other possible places to dig. 1 hole where you reach treasure is worth 10 holes where you gave up before you got deep enough.
So now that you're digging you're learning so many programming fundamentals. You're learning how to use git, you're learning how to set up your coding environment, and you're writing real code. And most of all you're creating something real - your code is going into a real codebase. This artifact is the treasure. Learning basic skills is nice, but you can do that through any random youtube video. Learning them as a step on the journey to creating something real, where your code is being seen by others and you're getting real feedback on it - you are firmly cementing your skills in the context of reality. You're learning that the doubts you had along the way were all bs and that if you keep digging you'll get there. You're learning how to handle it when other people give you negative feedback. You also might learn that often the last 20% of the work to get to the finish line takes 80% of the time. These are the skills that make you truly unstoppable and are the difference between being a low level contributor to a powerful leader at your future company.
Digging could take a month of hard work, and that's great! If it's something directly relevant to your goal then there is no more effective way you could have spent that time. But once you've gotten to the treasure, move onto the next hole. It can be easy to forget what got you to the treasure in the first place and to fall in love with the process of digging, so having the discipline to get the value and then move on will pay off enormously. And the more you iterate on this process the better your detector gets, the better your digging skill gets, and the better your ability to find the treasure gets.
And remember, learning something complex is difficult and time consuming. You can't get around that. This process isn't to make it easy, it's to make it worth it.