With over a decade of professional software development experience, I've led development teams
of up to eight people, and have taken novel projects from architecture through production.
My areas of expertise are systems programming, blockchain infrastructure, IT administration,
and full-stack work.
My approach to software architecture and development is rooted in the first principal that
software is simply a mechanism to transform data, and that reliable and efficient software
requires knowing what the underlying data actually is and how it's structured. As a result, I
can work closest to where things actually happen, whether it includes memory layouts, network
packets, compiler output, deployment pipelines, novel database types and schemas, or anywhere
else need and curiosity takes me.
This holistic philosophy applies to the systems I design. My workflow begins with understanding
the boundaries and responsibilities of all components of a system first. Whether it's front-end
to back-end, back-end to back-end, or anytime any software system has to interact with another.
By understanding how the parts form the whole, I can work towards building systems with fewer
surprises when things go wrong, and stay reliable as they grow.
Following the belief of understanding the systems I depend on, I've been self-hosting my own
infrastructure since 2014.