Highlights
Senior full-stack developer with nearly three decades of making web platforms work. Started in the Netscape era when frames seemed like a good idea (they weren’t), survived the browser wars, and still shipping code.
I build features end-to-end, debug the production mysteries that make other developers suddenly remember they have meetings, and keep systems running at 2am when I’d really rather not be awake.
What I'm good at
- Full-stack ownership: Taking features from vague requirements through UI, API, database, deployment, and monitoring—the whole stack (yes, even the parts nobody wants to own)
- Platform engineering: Building CI/CD pipelines, containerization, observability, and infrastructure that developers don’t have to think about (until it breaks, then they definitely think about it)
- Production debugging: Finding and fixing the gnarly issues—race conditions, memory leaks, integration failures, performance bottlenecks (usually at 2am, usually not voluntarily)
- Legacy code archaeology: Reading unfamiliar codebases, understanding what previous developers were attempting, and improving it without breaking everything (success rate: surprisingly high)
- Technical leadership: Code reviews, architecture decisions, mentoring developers, and knowing when to push back on bad ideas (the trick is doing it tactfully enough that people still talk to you)
How I work
- Requirements clarification: Turn vague asks into working software by asking “but what should happen if…” until we’ve thought it through (or until people start avoiding my Slack messages)
- Test coverage: Write tests so future-me doesn’t have to debug mysteries at 2am (past-me didn’t always do this, which is why present-me knows it matters)
- Thoughtful code reviews: Balance being helpful with being thorough—catch bugs without being pedantic about tab width (okay, sometimes I’m pedantic about tab width)
- Pragmatic problem-solving: Fix production issues with appropriate urgency, focus on impact over perfection, and know when “good enough” actually is (hint: usually before the fourth refactor)
- Documentation: Write the docs I wish existed when I started, because six months from now nobody will remember why we did it this way (including me)
Tech stack
The tools I use to make the internet do tricks.
- Languages: Java · C#/.NET · TypeScript/JavaScript · SQL · PHP · Springboot
- Front end: React · Vanilla JS · HTML · jQuery · Bootstrap · Accessibility · Tailwind
- Back end: REST APIs · Integrations · Background jobs · Auth · DB Migrations
- Ops: Docker · CI/CD · Observability · Performance · Debugging
Origin story
Got a Commodore 64 at age ten, monopolized the family TV, spent my teens on BBSes and early Swedish internet gateways building HTML for Lynx browsers. Been doing this professionally since 1998 when Framfab hired me to make things for IE4. Still recovering.
Selected links
Places to learn more about what I've been up to.