👋 I'm a full stack developer, an engineering manager, a
technical writer and an instructor.
for roles like:
Developer Success Engineer
I've got over two decades of experience building software,
managing teams and educating the curious.
full-stack web development using modern languages and tooling.
managed humans (as many as two dozen), focusing on individual
growth and team collaboration.
based on the web development course I created.
wrote a book
taught hundreds of students, ranging from senior engineers
to complete novices.
In a nutshell, I enable teams and end-users to
do their best work.
firstname.lastname@example.org - Email is still 🆒, right?
if this site is the director's commentary, the resume is the movie.
GitHub - a few goodies here, but somewhat unused in favor of self-hosting my repos.
Mastodon - make 🐘 not war
Professionally, I have:
Shipped production systems in TypeScript, React, Node.js, Express.js, GraphQL, Apollo, Python, Django, MySQL, PostgresQL and Redis
Written tests with Jest, pytest, and WebdriverIO.
Used Jenkins as a CI/CD pipeline.
Deployed Docker-ized microservices to AWS.
Manually provisioned Linux servers.
Debugged production errors across multiple services with Splunk.
Written tech specs, reviewed code and mentored other engineers.
Worked closely with Product and Design to scope high-level features and plan development in phases.
I'm actively learning Go.
I use Linux (NixOS) and OpenBSD on my personal machines and for hosting.
I've taught Redux and used it for personal projects.
This isn't my entire work history, just assorted tidbits and anecdata from recent roles.
It's intended to supplement my
resume, not replace it.
Momentive.ai (a.k.a. SurveyMonkey): 2022-2023
Senior Software Engineer II
Back in the saddle, working from home as a dev
After being away from a "tech job" for 4 years, I was hired by
as a Senior Software Engineer.
I worked on a
React front-end and a Python backend with a thin layer of
GraphQL in between.
My team was small (4 engineers) and we moved quickly. We did a lot of
A/B testing and
met weekly with Product and Design to plan and discuss features.
I debugged and triaged production errors in prod during on call rotations.
I helped instigate the
adoption of TypeScript within my team.
I joined two guilds: TypeScript and Education.
For the TypeScript guild, I helped create and present a talk on migrating
to TypeScript for the company's annual engineering conference.
For the Education guild, I helped formulate better ways of doing
internal training for busy engineers.
Lead Instructor & Director of Education
I'm the blurry one, presenting during my students' graduation ceremony
I spent the first 3 years
teaching full stack web development.
I racked up hundreds of hours of public speaking experience and can break
down complex technical topics for the layperson. (My drawing skills, however,
did not improve.)
During my last year, I
managed the creation
and launch of two new programs: UX Design and Cybersecurity.
I hired engineers and taught them how to teach. I hired instructors
and taught them how to write.
Big Nerd Ranch: 2012-2017
Developer, Manager & Director of Web Engineering
The label on the trophy: "You wrote a book"
hired me as the first member of the web development team.
interviewed and hired 4 more engineers.
We merged with a smaller company that was backend focused (Ruby on Rails).
After some shuffling around, my little web team turned into a department
15 direct reports.
I reduced my total number of direct reports by mentoring a couple of
web app development for startups and enterprise customers.
(Some of this was during the jQuery days. We did amazing and terrible things.)
I created Big Nerd Ranch's Front-End Web Development bootcamp.
After a couple of years, I
based on it.
wrote a book
The bootcamp was offered in two flavors. We did on-site corporate training
for companies small and large. (For examples of large companies, you probably
have one company's fruit-themed products or spent time on another
company's site pressing the 👍 button.)
Nearly all of these are content managed websites built with
Python, Django & PostgreSQL - then deployed to a Linux VPS.
Synchronicity Theatre, my version of these sites are no longer up.
Synchronicity Theatre, theater company in Atlanta, GA
Chattahoochee Riverlands Project, historical site in Atlanta, GA
Interactive web-based map, backed by Wordpress
Created in conjunction with
Good Thinking, a non-profit headquartered in Atlanta
Ah-ha moment: figuring out how to use Wordpress as a JSON API
Souper Jenny, restaurant in Atlanta, GA
Mailing list functionality (management and sending) created and integrated into CMS
never to write an email blast tool ever again.
Function, design firm in Decatur, GA
Brick Store Pub, gastropub in Decatur, GA
Nerdery (🤓 🤖 ⚡ projects)
One of my contraptions: the USB footswitch
Here are some things I've hacked on in the last few years:
Wii Nunchuck MIDI Controller (work in progress) - it basically sounds like a theremin right now My (long neglected)
Gemini capsule hosted at gemini://tsqrl.xyz/
Raspberry Pi powered temperature regulation system for my BBQ smoker ThinkPad running
pfSense, replacing my ISP's router Another ThinkPad running
Proxmox, which in turn runs things like Home Assistant and Syncthing My two hand-soldered, farm-to-table, 3D printed
USB footswitches Raspberry Pi USB MIDI Host - it's a like chat room for synths and MIDI controllers
Git server running
OpenBSD, manually installed to an SBC
My tiny modular synth setup
A few more tidbits about me:
, an obsessive tinkerer and a good listener.
I think engineering, teaching, writing and managing are the
same skill exercised through different media, at different speeds.
I appreciate it when something "just works" but prefer understanding it from
I play a bit of guitar, have
modular synthesis and am finally learning music
theory thanks to alternative keyboard layouts.
Like many devs, I've got
TAOCP and other books that I'll
eventually ( *cough cough* never) get through. In the more immediate future, I'm working through these: