Getting back into JavaScript after a break (and dealing with change)
Tags: javascript, productivity, react, career
Published: 2020-02-15 11:44:13

Digital moves. Fast. You accept that in this industry. I took some time off and came back, and while some things have changed, to my surprise a lot remained the same too. I came back in January with renewed curiosity. But I was also anxious. Taking time off in this industry is dangerous, because for every month you take off could mean a new API to learn, a new library to scour through because the one you used is now considered 'old' coupled with comments like 'who even uses that anymore?', etc, etc. It's like you can't switch off because if you do you will fall behind and will be playing catch up on YouTube at 2am watching JavaScript conferences. So I was anxious this would be me. How outdated were the skills I had? Just _how_ many egghead courses would I have to sit through? It turns out, not a lot.

React, Redux, Express, Styled Components, they're all still there and thriving. There's emerging technologies such as the brilliant <a href="https://github.com/davidkpiano/xstate" target="_blank">XState</a>, <a href="https://github.com/tailwindcss/tailwindcss" target="_blank">Tailwind</a> and <a href="https://github.com/sveltejs/svelte" target="_blank">Svelte</a>, but these have either not matured enough yet or the community is still figuring them out, because I have yet to find any of them in a job spec. It is still React, Angular, and Vue that remain dominant in that area. I'm grateful for that, because if the paradigm had shifted I would have a lot of catching up to do. This calmed me massively and really secured me mentally for any other surprise changes as these were the core technology choices and what my previous experience was built around.

Still, I had work to do. And I didn't know where to start.

Every programmer in their career will have that moment when suddenly everything just 'clicks' and you understand things you never thought you would. You look at code and you can skim read it better and quicker than a book. Once you progress and move towards senior roles this becomes a natural ability, because you don't have time to sit through 12 PRs a day you develop this ability to notice critical or moving parts that could potentially be a problem. You learn. You develop. But it's something we take for granted. You never think you could then lose that ability, much like you wouldn't lose the ability to read a book. It seems absurd. But we learn to read from a very early age. Coding is something we pick up most of the time in our late teens. Coming back from a complete blackout of any sort of code, I simply had lost the ability to do simple things.

Going through the MDN docs and playing around with some React and XState earlier this week made me realise just how much I had forgotten. To give a bit of perspective and clarity, I couldn't write an arrow function - that piece of muscle memory for those key combinations just wasn't there any more. More nuanced syntax, such as rest parameters, were even harder because I'd actually forgotten what they did and their use cases. It all came back, but it goes to show how much we take for granted when we are exposed to these things day in day out. We subconsciously log them. Our mind reaches out and connects to those things we find interesting. Lose that stimuli though, and the connection fades.

Five years ago this would have been a different story. I remember when I worked at Sky and there were new libraries coming out every other week. New testing frameworks, state management libraries, new patterns for people to try, it was chaos but it was also a load of fun. If that happened now though it would make that transition back into the web world a lot more difficult. As of yet, it's been anything but. It's reminded me to keep up with things though. Read those Medium blogs. Check Twitter for major library updates (core devs usually post them there). Check the job market and track trends. Watch a recent YouTube talk that expands your horizons.

So what have I used to get myself back to where I was previously? I've mentioned a few of them already, but I'll add them here for clarity:

- Udemy/Pluralsight/Egghead
- YouTube
- Interviews
- Medium
- MDN
- Package docs
- And finally... a crap ton of coding, including this blog.

That last one is obviously the most important, but supplement it with the others to make sure you're doing the correct thing.

A spare few minutes a day is all you need. But it keeps you in that loop. **And staying in that loop is crucial.**