Tech I'm Learning This Summer

As of April 28th, 2019, I finished my third year at University! 🎉

While I am going back to work full time, I should still have some more time on evenings and weekends. In true student fashion, I'm planning to fill some of this time learning and sharpening my tech skills. I've got a few technologies in particular that I would like to get to know a little better.

Things I Want To Learn

  1. React Hooks : While I realize that the traditional component model isn't leaving react anytime soon, I still feel like learning hooks is a good step forward and could benefit my overall understanding of react. Overall, from what I have seen anyways, Hooks likes like a pretty fundamental shift in structure so it should be interesting to see how I adapt to that.
  2. Typescript : This one has been on the backburner for me forever. I work primarily with heavily typed OOP languages in University (Mostly Java) and am interested in how javascript will feel within a more strongly typed environment with interfaces & generics etc. I'll also be interested to see how typescript will end up fitting into React (especially with hooks).
  3. Integration Testing : I've tried to pick up testing libraries over and over again over the last year but just haven't been able to commit to putting the time in and learning what I need to make testing natural for me. I'm particularly interested in integration testing with jest but I feel that I should probably try and pick something up to test node apps as well.
  4. VIM : VIM is the tech I'm most nervous to attempt to learn but also the most excited by because it requires so much buy in. From what I've heard, to really get the speed gains you need to make vim worth it, you really need to immerse yourself in it. That said, until I get the proficiency I'll need to be faster in VIM, I'll probably be slow and inaccurate which will drive me insane. I'm also concerned about losing my snippets and prettier support that I have in VScode so. I'm not 100% sure on that level either. Maybe there is some way I can get all of those things into VIM but I'm so uneducated at this point I'll just have to see.
  5. CSS Grid : I feel really behind the curve on this one. I've seen how easy it is to get some really awesome layouts together with CSS grid once you put the time in but I'm really having trouble finding the motivation when I've been using flexbox for so long. however, I hope that I will be able to finally start with grid this summer.

Strategies For Learning

I learn best by doing so I have a few resources and strategies that I'll be using to make sure I learn this tech the best I can.

  1. Tutorials & Talks : I usually use tutorials or tech talks as an intro into a subject and go from there. In the past, I've used tutorials from Wes Bos (which are usually more comprehensive and long-form. Good for going in-depth) or Scott Tolinski (Most tutorials can be completed in a day or two and give you a really strong understanding of concepts overall). Scott has some courses on Typescript, Testing and React Hooks that I will most likely be taking on weekends to get a good basic understanding.
  2. Building Things : As i said, I always learn best by building things so I will probably end up building some sort of basic application using a mixture of the tech listed above (maybe a simple budgeting app? a style guide for my website/projects? either way I'm sure I will post about it here). Honestly, this strategy will probably account for most of my learning; it usually does anyway.

Hopefully, between the tutorials and whatever little project I decide to put together, I should be able to master this tech over the summer. I'll probably do a few updates here throughout the next 4 months to keep track of my progress and be a little bit more accountable for it.