ABOUT ME

BREADTH OF EXPERIENCE

I've been a full stack developer since the very beginning of my career. My experience has run the gamut of designing and implementing solutions end-to-end across multiple domains front-to-back.

CONSCIENTIOUS

I seek challenging and meaningful work with opportunities that advance socially positive objectives. I care about craft, discipline, process, and doing things well with an eye toward long-term sustainability, but I am also flexible, anti-dogmatic, mission-driven, and results-oriented.

SELF-SUFFICIENT

I have primarily worked in solo-developer and small-team environments with high degrees of flexibility and autonomy, with plenty of experience working in both newly-formed and remote teams. I value independence, am highly self-motivated, and am comfortable with taking the initiative when empowered to do so.

WHERE I'M FROM

Native Texan born-and-raised.

WHERE I'VE BEEN

The US, Canada, Australia, Taiwan, Japan, Italy, Austria, Germany, and Iceland.

PHILOSOPHY

Existentialist, empiricist, skeptic (crypto and AI included), centre-left, non-social media enjoyer.

INTERESTS

Science, mathematics, philosophy, international geopolitics, cinema, the outdoors, various things gustatory and culinary. I enjoy the exploratory: that which is simultaneously experimental, yet grounded.

DUMB PERSONALITY STUFF

INTP, Aquarius, Fire Rabbit (火兔), Ravenclaw.


DEVELOPER PHILOSOPHY

MINIMALIST SENSIBILITY

I believe that economy of expression, in the spirit of 成語 (chengyu) or 俳句 (haiku), can often be a virtue. Minimal implementation surfaces reflect minimized cost, risk, and maintenance. I enjoy refactoring and eliminating large swaths of code.

MINDFUL APPROACH

I think about both solutions to problems and problems to solutions as risks should be acknowledged, not ignored. In experimentation, failure should be approached with risk mitigation: sometimes that involves failing quickly, but at all times it should be with minimal impact. In discovery, the focus should be on building confidence that you're pursuing the right direction rather than committing to an arbitrary one. Slow is smooth, smooth is fast. Proponent of the Boring Technology Club.

COMMUNICATION-FOCUSED

Conciseness, clarity, and referability are important to me. Explicitly written forms of communication are an important part of that, and I believe that all findings and determinations from face-to-face communications that impact others should be documented and published in writing. These are good habits even in exclusively in-person environments, but are vital for remote work. I've seen work being thrown away time and again due to misunderstandings and misalignments. I also actually enjoy writing documentation.

SPECIFICATION-DRIVEN

If you design your requirements and specifications first, this naturally leads to testable statements. I try to focus on how it's supposed to work first, then worry about how it can fail. It's best to leverage static analysis as much as possible, as it allows you to catch potential errors before they become a problem (not to mention potential performance optimizations).

AUTOMATION-LEVERAGED

Automated styling, linting, and testing should all be parts of a multilayered developer safety net. Taking the time to establish automated environments and processes, even down to the local machine level, is not merely for convenience; in cases of fires and other destructive events, rapidly repeatable reconstructions and verifications can be incredibly important for both recovery and implementing solutions.