I always want to get better. Not because I think thats the "right" thing to do, but because it is intrinsic to my nature. In this case, specifically, I want to get better at programming, and "up my level" as a developer. My plan to accomplish this is to attack my weaknesses. Here is how I will execute this in practice:
- Identify the weakness
- Write it down
- Explore ways to specifically target what I want to improve on
- Practice, practice, practice
A trap I want to avoid is identifying weaknesses that are not neccessarily important. Such as closures in JavaScript for example. If I google the concept, I will remember what it's all about, but I would not be able to recite how it works off the top of my head. Closures seem to be a common way to gauge ones level of compentance within JS (since they are idiomatic to the language), but are they really that useful? I can't think of many (if any) situations where the knowledge of closures will improve the solutions I create in my day to day work. I learn programming to solve real world problems and to build things. I only want to focus on acquiring skills that make me more a more efficient problem solver, not grind leetcode problems. Closures may be a bad example, and might be very useful, but I digress.
I have therefore attempted to only focus on the weaknesses that I deem currently relevant.
Things I want to get better at in 2022 (in no particular order)
- More advanced TypeScript concepts
- SQL
- Memorize all higher order JS functions on both object and primitve data types
- Get a really good understanding of the event loop
- Basic data structures & some sorting algorithms
- Master Async/Await
- GraphQL WITHOUT abstraction layers
- Grasp the ins-and-outs of Prisma
- More on object-oriented JavaScript
- SOLID design principles
- Clean code
Inspiration
My inspiration for writing this down came from this excellent video by Andy Sterkowitz.
Conclusion
This is more or less a note-to-self to remind myself what I want to focus on. By making this information public I am sharing my process and forcing myself to a greater extent to prioritize this.
I might change focus as I get better. This is a work in progress.