2020 Q1 Tech Radar Update
Hard to believe but we're already three months into 2020 and it's time for a quick retrospective on my 2020 Tech Radar goals.
-
Exploring: TLA+
No significant progress to update on this. I've read through the first chapter of Practical TLA+ but didn't go beyond that. -
Deep Dive: Rust
Started reading The Rust Programming Language book. I'm two chapters in and so far it's still pretty standard language stuff. -
Deep Dive: Reason
No progress. -
Adopting: Linux
This goal had the most significant progress so far. In December, I had switched to Ubuntu running on a Dell 5520 laptop for work and adjusted to a new tool chain. For years, I've leaned on Mac specific tools, like Alfred, Tower and Dash, out of habit. While comparable tools do exist for Linux, I've found that I don't really use Dash, most OS versions offer launcher functionality like Alfred and it was well past the time to actually learn how to use git from the command line. I would have to say that the most difficult part of the switch has been the device driver support. The Broadcom wifi chipset on my 5520 has a pretty flaky driver that I've been troubleshooting for some time. I had success using an unofficial firmware release I've found through some discussion forums but the firmware change is always undone when an official update comes through. -
Adopting: Generative Testing
No progress.
Not bad progress but not a ton. I'm pretty happy with the results given that I also switched employers during this time. New job also means that I'll be making some changes to these goals.
-
Exploring: TLA+
Verification of complex algorithms and systems is always going to be necessary and so I'm still interested in putting in the exploring effort to see how this might impact my development process. -
Deep Dive: Rust
After having done some AWS lambda work in node.js, I can see the need for predictable performance, small overhead and fast execution. This is one I'm still very interested in. -
Deep Dive: Generative Testing
This is going to change to learning the generative testing landscape in scala and how to apply it. -
Adopting: Scala
My new job will be building out back end systems with scala and I'm excited to actually have a type system again. This is going to be a large focus for me over the next year. I'm finding that the functional approaches and design patterns are not a huge change from Clojure but there are some interesting constructs, like traits and implicits, that I haven't given much thought about recently.
The notable changes here are dropping Linux and Reason and moving generative testing to deep dive. The focus for the remainder of this year are really going to be getting up to speed on scala and its ecosystem. Adding another programming language will spread me too thin. Additioanlly, I'm not sure how my new team and company feel about generative testing or Linux on the desktop. I need some time to navigate the organization and feel out those before committing to adopting them.