About
An expert generalist. I’ve been programming one way or another for the past 20+ years. While I officially got my start with BASIC on consoles like the Atari 400 it wasn’t until I started programming in x86 Assembly that it started to feel powerful and super interesting. That low level CPU access was fascinating. It wasn’t long before I moved on to C and then a bit later C++. I spent a large portion of my career programming C++ with a couple of short interludes in C#. When I finally made it to a job that allowed me to use Linux and program on Linux or Linux derivatives I vowed never to go back to the “other side”.
I also recently spent over a year being a full stack developer at a start-up that was lacking that resource. Originally hired to be a C++ embedded Linux developer I volunteered to pause that and spend over a year on our nascent cloud team to help drive the build out of that part of our offering.
I later returned to our embedded Linux team and lead a transition from C++ to Go for 80-90% of our code base on a new platform, namely Ubuntu Core (from classic). At the same time I created our next generation device web interface using a React + Vite SPA to replace a bespoke PHP based application driven in a mostly server-side rendered fashion with a little mixture of jQuery.
I have also played a large role in each organization I’ve been in as it relates to continuous integration and devops, often times leading the organization toward better practices and new tools to make us more productive. I’ve used Gitlab CI extensively over the last 5 years with a recent mix in of Github Actions and also run a private Gitea instance with bot Drone and Woodpecker setup to drive my CI.
I am currently seeking a job in either Go or Rust. I am very proficient in Go having spent the last 3 years as a full time Go developer. I love the language and have a hard time finding another one that is as good a mixture of speed (both runtime and compile time), safety (relative) and productivity as Go. It’s not without its faults (have we fixed the loop assignments yet?) but on the whole I find it be a pleasurable experience.
On the other hand Rust is inviting because it has memory safety by default (excluding unsafe code of course) and offers features that help reason about the correctness of code like pattern matching. The borrow checker, while frustrating at times helps make your code easier to keep correct and makes refactoring essentially risk-free*.
I’m looking for a job that is 100% remote or depending on the opportunity one that is in office or hybrid in the Denver Metro area. I’ve worked remotely on and off since around 2014. It’s always been an extremely productive way for me to work.
* nothing is risk free