My 2020 Technical Learning Plan
One of my favorite things about working on RelayPad has been the opportunity to seriously write code again for the first time in at least a dozen years. Coming from a design background, all of my technical skills have been self-taught, and I usually learn something when I need it in the service of a specific task.
For the last few months, Iāve started taking a slightly different path, where I start a small project to try and learn a new skill. Itās been a lightweight way to learn about new technologies without having to commit to them in my day-to-day work.
For 2020 Iām picking 12 areas that I want to become more proficient in. Iāll budget a month to learn and complete a project for each skill.
Topics here are listed in the order I plan on tackling them, but it will undoubtedly change during the year as my time and interests shift.
1. Building a Second Brain
This one isnāt exactly a pure tech skill, but Iāve been interested in this course by Tiago Forte for a while, and it feels like a good way to start the year.
2. GraphQL
The more I try GraphQL, the more I like it, especially in small projects that donāt need a full-blown SQL database.
3. TypeScript
Whatās the difference between TypeScript and JavaScript? I donāt really know, but Iām going to find out.
4. CSS in JS
Unlike GraphQL, the more I write CSS in JS, the less I like it. But thatās because I read just enough of the Styled Components or Emotion documentation to get things to appear on the screen, rather than really learning why I should be using them instead of manually writing CSS like we used to.
5. Chrome Developer Tools
Currently, I only use about 1% of the power in Chrome DevTools and have no idea what most of the graphs and charts are trying to show me.
6. React Hooks
There are several interesting features released since React 16 that I havenāt found time or reason to dig into yet.
7. Accessibility
Iāve been lucky to work with some incredible accessibility-minded engineers and designers over the years, so my personal knowledge of best practices has remained pretty basic since I usually had people I could lean on. Iāll most likely start with this course.
8. Testing in JavaScript
Who likes writing tests when they could be writing code? Not me! Thatās probably part of the reason why I break stuff so much.
9. React Native
Iāve always been curious to see how well my web-flavored React skills translate to creating desktop and mobile apps in React Native, but Iāve never had a good excuse to build anything.
10. MDX
Using MDX to bring React components into Markdown files and then rendering them through Gatsby sounds awesome.
11. Publish an open source package on Github and NPM
As an amateur developer, Iāve always struggled with accepting the idea that anyone else would ever want to use code Iāve written. Itās silly and something I want to correct.
12. Wheelbuilding
These wheels, not these wheels. Itās not tech-related at all, but itās a skill Iāve wanted to learn for over 25 years. Ideally, Iāll find an IRL course I can attend in Toronto to learn this dark art.
This should make for a busy and fulfilling year! If you are an expert in any of these areas and want to point me to good resources, let me know on Twitter.
Written by Mark Allen, a product manager and designer currently based in Toronto. Say hello on Twitter.