So you need to learn something new?
So whether you're going the self-taught route to becoming a developer or you're new to the industry, being able to constantly and consistently learn things is a must. The technology and tools we use are ever-evolving. Lib dependencies are breaking or have new vulnerabilities, and sometimes the best tool you've been using has become stagnant, and there's new tech on the block that does it quicker, faster, and better with a smaller bundle size. We, as developers, need to be agile learners.
How we've learned in the past
Let's go back to grade school. In grade school, each year, we took language arts, math, social studies, phis ed, etc. As we learned what we needed in each subject throughout the school year, we'd be assigned classwork and homework to repeat the same concept repeatedly so we could understand it. Once we've replicated the task enough, we'd get tested and make sure we knew everything we needed to graduate that grade and move on to the next grade.
In the next grade, we'd use the same foundation of what we learned before. However, now with more profound complexity, to solve more intricate math problems, spell longer words in language arts, and understand how we evolved throughout civilization in history.
As you can see, we'd be taught a subject by one teacher, then do the homework and classwork to repeat and learn the concepts. Once we were tested, we'd learn more complex things.
Are you on a hamster wheel of learning?
I average around 7-10 coffee chats a week with aspiring developers trying to break into tech. The most common mistake I see amongst everyone is that they're on a hamster wheel of learning and not letting themselves graduate from a concept. People that love learning to code, however, they're spending more time learning instead of doing the classwork, homework, and projects to apply their lessons learned.
So let's think about the above. K-12, thirteen years of our lives, we've been learning math and all the different complexities about the one particular subject. Society then tells us after we're 18, we've learned the basic skills to be functional in the world regarding math with what we've learned in school. However, you can level up and go to college to deepen your learning. Still, we've not learned everything about math as we can go after a doctorate with still a possibility of things to further understand.
What are you trying to learn?
If you're learning to become a front-end developer, build front-ends. If you're learning to be a back-end developer, build back-ends to applications. However, learn what you need to know along the way WHILE you're making it.
Your teacher teaches you a new subject
Take ONE max TWO classes or tutorials. A crash course on youtube on the tech you're trying to use that's under an hour.
You're now doing your classwork:
Code along with the YouTube video or course you're following. You're having guided learning just like you would in a classroom, and the teacher is there to assist you and walk you through how to build what you're making in the video.
You've been assigned homework:
Now build something on your own using the basics and the foundations of what you learned above immediately afterward on the project you're currently building.
How do you know when you've graduated?
Learn as you build. If you're learning redux, take a quick crash course no longer than an hr long, your teacher/classwork, make the store with for a simple counter or todo list, your homework, once you've completed your app/project, you've graduated.
Apply this practice when you need to learn anything in life and development, and you'll be amazed at the results. Don't get caught in paralysis by analysis. You don't have to know everything, just enough to complete the task. How efficient and how clean you write will evolve the more you do it as you gain more time and experience.
Did you find this article valuable?
Support Allan Vila by becoming a sponsor. Any amount is appreciated!