Hi fellow self-taught web-dev with (almost) a decade of experience.
Since we have no formal education we need/want to constantly learn new things in our free time. This is both fun and can be very impactful.
Learning for us is a habit, or even kind of an obsession, but we should always look at topics with a pragmatic eye too.
All of the things I list here helped me do a better job (qualitatively) in some way or another. This is an incomplete list but hopefully you find something useful in here.
In the past:
- SICP => fell in love with Lisp and started to "get" what programming is about. Hard to explain.
- canvas, SVG => out of necessity at the time, pushed me down a rabbit hole of linear algebra. If you touch GUIs then a solid understanding of these concepts is multiplying your productivity and ability.
- Go, programming language => first I didn't have a use-case for it. Glad I learned it because it sparked a strong interest in learning languages. Every next language was incrementally easier to learn.
- theoretical computer science, algorithms and data structures => these concepts are typically taught in CS/IT courses. They are incredibly powerful, important and timeless. Some of the most practical and powerful concepts for web-dev: complexity analysis, graph data structures, FSMs.
In the more recent past:
- Clojure => I have a strong appreciation for data-driven, functional programming and REPL driven development now. These concepts fit very well into web-dev.
- SQL in depth => especially temporal data-modeling. I started asking questions like: Can I do this in pure SQL instead? The result is a much higher appreciation for the language and a more productive approach for both backend design and programming.
- Regex in depth => a nice data-driven approach to handling strings, ubiquitous and practical.
- writing a compiler => this blew my mind. everything is a compiler...
Currently:
- Rust (and WASM) => I wrote a little automation tool with it so far and hope/expect that the language will become empowering even in web-dev.
On the horizon:
- Julia => I hope to dive deeper into math and linear algebra specifically in a practical way, also I assume that some data-science (specifically analysis) concepts help me to develop better solutions and broaden my horizon. I my goal is to use Julia as a vehicle for this.
- WebRTC, video/audio streaming
- WebGL => I want to dive deeper into graphics programming