I thought I’d use this week’s post to spend some time thinking about the skills and topics important in this pursuit:
Design: theory of design, use of color and creating color palettes, typography, UI/UX design and refactoring, etc.
Frontend technologies: HTML elements and attributes, Web APIs, CSS layout and positioning, animations, typography, basics of authoring and using SVG in webpages, CSS-in-JS frameworks (Emotion and Styled Components), all there is to know about React.
Backend technologies: Node.js, web protocols (HTTP…), linked data and semantic web, REST APIs, GraphQL, database technologies.
Tools and development workflows: version control with git, command line (git commands, fish shell, tmux, nnn…) code editors (VS Code, Emacs, Vim), browser developer tools, debugging, graphics and design tools (Inkscape, Figma…), testing, deployment and continuous integration (Jest, CircleCI, Webpack and Parcel, Now, Neflify…)
That’s a bunch of stuff, and just off the top of my head. If I’ve missed something big, be sure to let me know.
Every week I discover a new thing I want to learn and master. I won’t be able to get to everything, but keeping in mind a rough picture of the area I want to master in mind can be quite helpful in choosing what learning project to go for next.