This doodle is my professional development plan for the last half of 2018. The odds that I stick precisely to the script are slim, but it was fun to write this out.
The three big topics:
- Networking
- UNIX
- Algorithmic twiddling
For networking, I've been getting back to fundamentals by reading Stevens' TCP/IP Illustrated Volume 1. It has mostly been a great refresher, but much of the IPv6-related content is new to me. My other goal is to significantly improve my tcpdump and Wireshark kung fu.
For UNIX, I want to work through both Stevens' Advanced Programming in the UNIX Environment and Kerrisk's The Linux Programming Interface. I don't own the books yet, but the table of contents for each of these looks excellent. My hypothesis is that I can gel together things I've learned in isolation over the years into a much more coherent whole.
For algorithmic twiddling, I want to get in a habit of doing "coding challenge" style problems on a regular basis. They are actually fun and good practice, but more importantly they are (incorrectly) used as a gating function in interviews. I want to make sure that is always a non-issue for me.
The biggest thing I had to cut from my plan was digging in to low-level coding. So maybe 2019 will be the year I tackle Assembly Language Step-by-Step and Learning Linux Binary Analysis.