I write write (and edit!) developer education content for some of the internet’s best programming blogs.
My clients have included Docker, CircleCI, Honeybadger, Meta, SemamphoreCI, and AppSignal. My work has is regularly featured in popular tech newsletters, including Ruby Weekly and DevOps Weekly.
I now run SyntaxPen, where I offer:
Here are samples of my work across the internet.
Artificial Intelligence for Developers
I write an AI newsletter for software developers. Here’s some of my more popular editions:
- AI won’t replace most software engineers
- System design with ChatGPT
- What the heck is vibe coding?
- How to get the most out of ChatGPT projects
- How to safely use Cursor agent
- Use Cursor custom rules to get even better code generation
- Use Cursor custom modes
- The prompt engineering guide from the makers of Claude
Infrastructure
I have a special interest in infrastructure, so some of my writing focuses on things like Terraform, autoscaling, and platforms.
- Configure AWS ECS with Terraform
- Vertical vs Horizontal Scaling
- How to Use Azure Blob Storage with Ruby on Rails
- A Developers’ Guide to Terraform
- How to Reduce Heroku Costs
- How ECS Autoscaling Works
- Kamal vs PaaS
- Deciding Between Heroku Alternatives
- AWS Lambda Functions with Ruby
- Containerizing an Existing Rails Application
- Avoiding PaaS Lock-in
Ruby on Rails
Much of my day-to-day work is Ruby on Rails, and I’ve written tons of detailed guides on Rails topics.
- How Solid Queue Works Under the Hood
- How to Use Solid Cache in Rails
- How to Fix Tricky Sidekiq Memory Issues
- Running Solid Queue in Production Rails Apps
- Building Ruby on Rails Engines
- Scheduled Jobs with Sidekiq
- New in Rails 8
- New in Ruby 3.4
- A Practical GitHub Actions Pipeline eEample with Rails
- API versioning in Ruby on Rails
- How to Build a Rails API with Rate Limiting
- A Practical Guide to Web Scraping with Ruby
- Adding Views to an API-only Rails App
- How to Deploy a Rails App to Render
- Connecting a Rails App to AWS S3 for File Storage
- Sell a One-Time Purchase in Rails with Stripe
- FactoryBot for Rails testing
- How the Rails Params Hash Works
- How to Use Enums in Rails
- Using Feature Flags in Rails
- Using TailwindCSS with Rails
- Exploring the Sorbet Ruby Compiler
- How to Use Rubocop for Your Team’s Apps
- How to Use Sorbet to Type Check Ruby
- An Introduction to Sidekiq for Ruby on Rails
- How to Delegate Methods in Ruby
Misc topics
Some of my writing doesn’t easily fit into a category.
- How to Build an API with Go and Gin
- How Does Caching Work in Django
- Functional vs Non-Functional Testing
- What Next.js Has to Offer React Developers
Product-Focused Topics
Once in a while I write something for a particular developer tool.