Ask HN: Self-taught webdev with lots of free time. What should I learn?
Hi fellow self-taught web-dev with (almost) a decade of experience.<p>Since we have no formal education we need&#x2F;want to constantly learn new things in our free time. This is both fun and can be very impactful.<p>Learning for us is a habit, or even kind of an obsession, but we should always look at topics with a pragmatic eye too.<p>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.<p>In the past:<p>- SICP =&gt; fell in love with Lisp and started to &quot;get&quot; what programming is about. Hard to explain.<p>- canvas, SVG =&gt; 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.<p>- Go, programming language =&gt; first I didn&#x27;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.<p>- theoretical computer science, algorithms and data structures =&gt; these concepts are typically taught in CS&#x2F;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.<p>In the more recent past:<p>- Clojure =&gt; I have a strong appreciation for data-driven, functional programming and REPL driven development now. These concepts fit very well into web-dev.<p>- SQL in depth =&gt; 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.<p>- Regex in depth =&gt; a nice data-driven approach to handling strings, ubiquitous and practical.<p>- writing a compiler =&gt; this blew my mind. everything is a compiler...<p>Currently:<p>- Rust (and WASM) =&gt; I wrote a little automation tool with it so far and hope&#x2F;expect that the language will become empowering even in web-dev.<p>On the horizon:<p>- Julia =&gt; 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.<p>- WebRTC, video&#x2F;audio streaming<p>- WebGL =&gt; I want to dive deeper into graphics programming