About

I’m a Software Engineer with a strong background in Systems Engineering.

Some titles and areas of work I favor:

  • Distributed Systems Engineer
  • Site Reliability Engineer, Systems Engineering
  • Infrastructure Engineer

In a broad sense, I am very proficient in networking and various *Nix operating systems but since 2017 I have been focusing mostly on software engineering and how it pertains to distributed systems.

Software Engineering

My favorite languages (and by no means are a comprehensive list of languages I have experience in) are:

  1. Go
  2. Python
  3. Bash

The number of languages I’d like to learn in the future grows every day, but I’m mostly interested in languages that aid in my ability to build more robust distributed systems. I’m also increasingly interested in learning more C++ or Erlang.

Systems Engineering

As a Systems Engineer I am fairly unbiased in terms of platforms. I have built automation, troubleshot, and developed in baremetal, virtual machine, and containerized environments. I do believe the key to any platforms success is natural, engineer driven iteration.

Most of the work I do is currently around automation and tooling, however, I am interested in deep diving the Linux kernel as I grow.

Philosophies

In my every day life I subscribe to many, if not most, extreme programming philosophies as well as the ideals behind the Agile Manifesto.

I’m a fan of Trunk Based Development and Test Driven Development for their impact on software delivery. One area I would like to improve in is Domain Driven Design as I believe it adds a lot of contextual value to code repositories.

As the world of Infrastructure as Code has evolved I’ve also taken a great liking to applying software philosophies to infrastructure code.

I consider myself adept (but always growing) in general operations theory, principle, and culture though I have thoroughly enjoyed the tasks of a Reliability Engineer.

Spare time

In my spare time I like building devices, contributing to FOSS, and working on home automation. Traveling is something I like to do, but rarely make time for. I also happen to have a very engergetic pup named Peach that you can probably find me around town with.

If you’re interested in having me teach a workshop, here are some subjects I’m interested in:

  • decreasing feedback loop run time
  • building tools in Golang
  • automating distributed systems
  • instrumenting distributed systems

FAQ

What’s the format?

  • blog+wiki (Bliki) articles. A bliki is blog posts that receive updates and stay relevant over time. The power of RSS keeps their dissemination fresh.
  • Opinions. I write these sometimes, but not as much as I intend to contribute to bliki articles.

I do not enable comments on purpose. Articles in a bliki are meant to be updated over time and thus are long-lived by nature. This is contradictory to the concept of comments. Additionally, comments on articles are a very narrow bandwidth medium and leave much to be desired. Plainly, they just start fights.

What does deprecated mean? I formerly posted tutorials to this site, but no longer do. Those are the most common deprecations, however, a deprecated article is one I do not see a point in maintaining anymore.