Project-based Learning
What is continuous learning?
It's more than just a buzzword. Reading documentation, studying books and papers, and discussing ideas with colleagues and friends can all help expand our understanding of new concepts or technologies. For me, actually doing or building something is critical to real understanding of how things work. More importantly, I learn what doesn't work. This sort of grounded understanding comes from a chaotic and messy process. I make mistakes. I hit blockers/friction. I stare at the screen and try to understand what went wrong or why it didn't work. Worse yet, I stare at the screen and try to understand why it did work.
This is the learning process.
Tangible goals
For this project, I set a few simple goals:
Recommended by LinkedIn
These are all skills that are adjacent to my current skills. Before starting this project, I didn't really know how to do any of them. What I did understand was how to research, how to try things out, and how to keep trying when the first (second, third...) attempt failed.
For example, while I initially imagined fetching data from the external API endpoint as part of the original render, this was a slow process that involved paginated requests. Since the data don't change often, I refactored the code to run data queries through a separate component that dumps the results into json files. When those files returned too many responses, I added another component to remove duplicate entries.
Expanding the foothold
Now that the application has basic functionality, I have options. Do I continue to build functionality to make a useful and meaningful application? Do I focus on features that will challenge my technical growth? Do I switch to other applications that are better suited to learning new languages and libraries? This is where practical application is ideal for continuous learning. Each new skill opens paths to continue developing breadth and depth.
What new skills are you trying to learn? What projects will challenge you to learn them?