Software Engineer

Building stuff and learning things

Hey! I've been working as a software engineer for nearly 10 years, and was a hobbyist programmer and educator before that. I have lots of experience building and supporting large enterprise applications and managing developers in my professional life. On the side, I spend most of my time using Python, but have dabbled in Elm and Haskell. I enjoy learning new programming languages, with Rust at the top of my list.

Expertise

What I do

Python

Python has been my go-to language for side projects and tools for ten years. I've built api clients using Requests and Aiohttp, web scrapers using Scrapy and BeautifulSoup, and cli tools using Click and Argparse.

Management

I've managed software developers for over six years, and I taught high school before that. I emphasize staff development and education, which helps new hires and tenured staff alike.

Django

I've built apps using Django, including Django Rest Framework, and am well-versed in class-based views, Serializers, and the Django ORM. One app is used by the local school district to run their regional science fairs.

Developer Tools

Developer tooling is a passion of mine. I've developed numerous tools, including full language integrations for Sublime Text 3 and Visual Studio Code. I'm a big fan of the Language Server Protocol and used it to build the VS Code integration.

Web Development

Outside of Django, I've built some personal sites using GatsbyJS and React. I'm a big fan of type safety, so TypeScript is my go-to language in the browser.

Agile

I've practiced Agile development at work for most of my career. I've served as a scrum master and have led various meetings and rituals.