2019-12-31

2020 Goals

My tech skill development goals for 2020:
  • Build something useful in Rust, with Rust proficiency as a side-effect
  • Develop competence with low-level optimization
    • tooling: nonius, perf, flame graphs, some dtrace/strace
    • assembly: casual familiarity reading x86, comfort with SSE/AVX and associated libraries
    • hardware: learn recent microarchitectures (Haswell–) for Intel and AMD, gain empirical expertise with contemporary memory hierarchies including NVMe
    • libraries: add a few C++ libraries to my trusted working set beyond Boost, focused on addressing particular performance issues (e.g., replacements for std::unordered_map, B-trees, a trie, a Bloom filter lib, etc.)
  • Do everything with some set of Docker, CloudFormation, Vagrant, and Terraform
  • Apply some data science/machine learning techniques to real problems
  • Become dangerously inept with ReactJS and Django as a frontend/backend webapp platform
With the exception of learning how to use ReactJS with Django in order to build a simple webapp, these goals are focused on developing working expertise, building off my strengths in batch processing/backend/systems development. None of these goals involve surface-level reading about new technologies in order to gain conceptual familiarity. I've read about a lot of these technologies for years. It's high time to incorporate them into my daily development activities.