Posts
All the articles I've posted.
More Code Review Best Practices
Published: at 03:50 PMThree years after my first code review best practices post, I've learned even more about what makes reviews effective. Here are additional strategies for making your code reviews more valuable and less painful.
Programmer Resources
Published: at 03:50 PMA friend asked me what I've used to improve as a software engineer. When he asked for a list, I realized I didn't have one yet. Here are the blogs, books, and online courses that have helped me grow as a developer.
Dangerous Python Functions, Part 3
Published: at 01:33 PMIn the final part of my dangerous Python functions series, I cover more security risks including assert statements, XML parsing vulnerabilities, and unsafe input handling. Plus, I've turned the whole series into a deck of cards!
DevOps from Scratch, Part 2: Amazon & Terraform
Published: at 12:32 PMIn part 2 of my DevOps from Scratch series, we'll take our Flask app from local development to production on AWS using Terraform for infrastructure automation and Ansible for deployment.
DevOps from Scratch, Part 1: Vagrant & Ansible
Published: at 12:32 PMEver wondered how to build and deploy a web app from scratch? This is the first part of my 'DevOps from Scratch' series, where we'll get hands-on with Vagrant and Ansible to automate our local development setup for a Python web application.
Refactoring Analogies
Published: at 06:54 AMRefactoring can be hard to explain to stakeholders who don't code. Using analogies from home improvement and organization, I share how I communicate the value of refactoring to non-technical audiences.
Two Trains Talk
Published: at 03:50 PMI gave a talk using the "two trains" analogy to explain technical debt and refactoring. The response was so positive that I wrote it up as a blog post, complete with slides and speaker notes.
Strategies for Writing Useful Tests
Published: at 06:54 AMI used to hate writing tests—they felt like a waste of time, took forever to run, and broke constantly. Now I actually enjoy it. Here are the strategies that transformed my approach to testing from dread to delight.
How to Land the Right Tech Job for You
Published: at 12:45 PMJob hunting can feel like shopping for a new car—exciting at first, then intimidating and hopeless. Having been both a candidate and an interviewer, I've put together this comprehensive guide to help you navigate the process and land the right tech job.
How to Prepare for Talks
Published: at 02:09 PMPreparing for a technical talk can feel overwhelming, but I've learned something new every time I've given one. This 11-step process covers everything from choosing a topic to handling Q&A, helping you go from idea to presentation.