Learning queue
·2 mins
Reminder:
- Don’t learn in advance. For a new technology, only get an overview. (Clear out basics though.)
- Don’t do many things at once. Actually, just pick up 1 in addition to work.
- Why even learn? Build something instead.
Learning candidates #
Check this on why the following list is so lean now.
Technical books that will help me learn new skills (something I am not too keen on doing right now):
- Crafting Interpreters.
- Rust programming language.
- Fundamentals of Software Architecture: An Engineering Approach. Might be good if and when I change companies at principal/staff level.
- MIT 6.824 Distributed Systems (Spring 2020) - hopefully, it makes me implement the core algorithms.
- Teach Yourself Computer Science.
- Database Internals.
- Google SRE.
- Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale.
Note that O’Reilly books are available here for free.
Books on leadership:
- Thinking in Systems.
Discarded ideas #
- https://www.nand2tetris.org. (Best way to go through this seems to be through Coursera - 1 and 2.)
- This might be a cool course but don’t think how it aligns with my goals.
- Streaming SQL - some hands on stuff.
- Create a programming language.
- Photo-editing.
- Quantum physics - probably not a good idea unless there is a way to apply this knowledge.
- Statistics:
- Distributed systems: I’ll go through this when I need to for a specific problem.
- Services wiki inside Amazon.
- https://github.com/donnemartin/system-design-primer/blob/master/README.md
- A functional programming language. Haskell is a pure one, so might be a good idea. Clojure is another.
- Courses:
- Kotlin in more details. (This will be beneficial for external company interviews. I don’t have to go crazy though - I can selectively choose what to learn based on what my current gaps are and what I may be asked in the interviews.)
- Artificial Intelligence.
- Spanish language.
- Scuba diving.
- Java Concurrency in Practice book.