Hire me

I'm currently working on a year of independent research over at Internotes. I'm not looking for work, but could always be tempted by a very strong offer at a mission-driven startup.

What I can offer

I am a true full-stack developer, equally comfortable whipping together an accessible, progessively-enhanced front-end, or diving into a database. With a background in QA, you can rest assured that I will deliver high-quality products.

While code is an important part of the job, my key strength is helping others to succeed. That might be mentoring, reviewing, or line managing. I've also been known to step into a product management role from time to time.

What I am looking for

I want my work to have a real impact. Ideally we would be tackling one of the big problems in the world. I feel passionately about tackling the climate emergency and reducing barriers to universal education.

I've spent most of my career working in start-ups and scale-ups, and that's where I feel most comfortable. My ideal working environment is at a company with around 20 people. I really value high levels of autonomy, and appreciate an environment where folks are willing to roll up their sleeves to get something out the door quickly.

The role would likely be "Staff Software Engineer" or "Engineering Manager", but the work itself is far more important than the job title. I want to collaborate to solve interesting real-world problems. I want to do work that serves others.

The Tech Stack

The tech stack is not that important to me. I get more excited about solving product problems rather than technical ones. (That's not to say I don't enjoy a good technical challenge - I do!)

I've built products in many different languages and frameworks over the years. Picking up something new is part of the job. I hear good things about SolidJS, Rust and F#.

My most familiar stack is, front-to-back:

  • semantic HTML (statically generated where possible, using Astro or 11ty)
  • vanilla CSS, utility-first, possibly with Tailwind thrown in (or Material UI)
  • TypeScript + Svelte for front-end interactivity
  • Effect for complex business logic
  • vitest + Cypress for front-end testing
  • D3.js, Bokeh, or Highcharts for data visualization
  • Python + Django REST Framework (or FastAPI, or TypeScript + Express, or Ruby-on-Rails)
  • SQLAlchemy (or vanilla SQL, or dbt) with a PostgreSQL backend
  • Shell scripts to bind it all together
  • Some combination of Snowflake, Pandas, dbt for data analysis
  • AWS (or DigitalOcean) for cloud servers, with Terraform (or Ansible) for provisioning
  • Jenkins (or GitHub Actions) for CI/CD and other automation
That being said, I pick the best tool for the job. Most projects don't require that many tools!