Posts
All the articles I've posted.
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.
Answers to Django Security Questions
Published: at 06:56 AMI found a list of Django security questions but couldn't find clear answers anywhere. So I dug in and wrote them myself, covering everything from CSRF and SQL injection to password hashing and mass assignment.