I heard this recently on the 6 Figure Dev podcast and just had to share notes from the great KCD:
- Software is very hard. If you're struggling, its because it's not easy. Ignore the people who tell you it's easy. It's constantly changing, and it is normal to struggle to ramp up and keep up.
- Do motivation-based learning. You don't have to learn ALL the fundamentals first. Learn what you need to get the thing you want to build built. It's the motivation that will push you through when things get hard. Dive in later when you are curious about framework source code and so on.
- You will learn new things through building - teach them. Don't worry if something's been said before. The stuff you learn won't be new to the world, but it will be new to you and I guarantee you there will be others in the world to whom it will be new too. Learn by teaching through a blogpost or a meetup talk. YOU can reach people who the current content isn't reaching. For example, non-English-speaking audiences, or more recent beginners (senior engineers are often afflicted by the "curse of knowledge", and can't effectively explain things to beginners anymore).
If you want more of the story of how he supercharged his own career, I recommend this talk: Zero to 60 in Software Development: How to Jumpstart Your Career - Forward 4 Web Summit
That's it. Just had to share. Go do it.