Archives
All the articles I've archived.
Jekyll to Astro: an AI-assisted migration
Published: at 06:00 PMHow I used AI tools to migrate 43 blog posts to Astro, with real examples and lessons from both successful and failed approaches
In Python, Rose == 'Red', Violet is not 'Blue'
Published: at 04:57 PMA deep dive into Python's string interning behavior, exploring why identical strings sometimes share memory locations and why this matters for performance and correctness.
Personal Finance for Software Engineers
Published: at 04:25 PMLearning about personal finance can change your life for the better. As a software engineer, I love learning about systems, and personal finance is a system that affects us all.
Launching Effective One-on-One Meetings
Published: at 02:41 PMWhen I took over one-on-ones for a team engineers at Amazon, I needed a framework to make these meetings valuable. Here's the template I've refined over 20+ introductory sessions.
The Quadrant Test
Published: at 02:22 AMA simple but effective framework for making difficult career decisions, based on evaluating best and worst case scenarios in both short and long term.
Tech Interview Tips and Strategies
Published: at 07:53 PMPreparing for technical interviews can feel overwhelming! There's so much to learn and keep in mind. Here's what I've learned from running mock interviews and offering feedback.
Senior Engineer Job Search Preparation
Published: at 07:53 PMA detailed guide to preparing for senior engineering interviews, based on my experience interviewing at major tech companies in 2022.
My Experience with the Amazon Promotion Process
Published: at 11:20 AMWhen I started at Amazon, the promotion process felt like a mystery. Here's what I learned about why Amazon takes a cautious approach to promotions and how I navigated the two-year journey.
Backfill Considerations
Published: at 11:20 AMA discussion of considerations for running a backfill
Reflections on my Amazon Career
Published: at 07:57 AMAfter four years at Amazon, I wanted to learn what made Amazon successful across so many industries. Here's what I learned about engineering culture and Leadership Principles during my time there.
Giving Feedback When You're New
Published: at 09:53 PMA discussion of how to give feedback when you're new to a team
Load Testing at Scale and Lessons Learned
Published: at 08:00 PMLessons learned from designing and testing a service to handle hundreds of thousands of requests per second, including practical strategies for load testing at scale.
Getting Unstuck
Published: at 08:00 PMThrough the years of talking with engineers in one-on-ones, there's a common conversation about asking for help: How do I find what I need if I don't know where to look?
My Path to Software Engineering
Published: at 08:35 PMI've gone between software engineering and film for most of my career. People often wonder about my unusual career path so I'd like to share how I wound up here.
The Princess and the Pea
Published: at 05:35 PMA discussion of how to be sensitive to pain
Don't Just Bake Me a Cake
Published: at 10:35 AMIn design, it can be frustrating to receive a cake - a finished product that can't change. Instead, I find it more effective to include examples of the forks in the road and alternatives.
An Intro to AWS Certifications
Published: at 08:23 PMI'm skeptical of certification programs, especially in the software industry. AWS certifications seemed different because they focus on how to build scalable and reliable services.
AWS Certified Solutions Architect - Associate Notes
Published: at 04:23 PMNotes on preparing for the AWS Certified Solutions Architect - Associate certification
More Code Review Best Practices
Published: at 08:54 PMA few more code review best practices
What is Churning and Why Should I Care?
Published: at 12:32 PMA few years ago, I started researching credit card bonuses and it's become a hobby. Here's what I've learned about churning and why it can be valuable.
Programmer Resources
Published: at 10:50 PMA list of resources that have helped me grow as a software engineer
Dangerous Python Functions, Part 3
Published: at 05:30 PMA brief update to the earlier posts about insecure Python functions
The Two Trains and Other Refactoring Analogies
Published: at 09:18 PMLegacy code can be intimidating for software developers. It can be difficult to change and work with, and may not have any tests. Here's how we can address it with a two-step process.
DevOps from Scratch, Part 1: Vagrant & Ansible
Published: at 07:32 PMA comprehensive guide to setting up development environments with Vagrant and Ansible automation
DevOps from Scratch, Part 2: Amazon & Terraform
Published: at 07:32 PMLearn how to deploy applications to AWS and automate infrastructure with Terraform
Two Trains Talk
Published: at 03:54 PMA talk about the dangers of technical debt
Strategies for Writing Useful Tests
Published: at 01:54 PMWriting tests can be challenging. What should we test? How do we know if our tests are valuable? Here's what I've learned about writing maintainable and effective tests.
How to Land the Right Tech Job for You [updated in 2018]
Published: at 08:45 PMHow to land the right tech job for you
How to Prepare for Talks
Published: at 10:09 PMA process for preparing for talks
Answers to Django Security Questions
Published: at 01:56 PMAnswers to Django security questions
10 Software Talks to Listen to on Your Way to Work
Published: at 10:17 PMA list of software talks that I've found useful
Finding Vulnerabilities with Bandit Talk
Published: at 01:23 PMA talk about using Bandit to find vulnerabilities in Python code
Using Bandit in the Field
Published: at 10:17 PMA discussion of using Bandit to find vulnerabilities in Python code
Dangerous Python Functions, Part 2
Published: at 03:22 PMA discussion of dangerous Python functions and how to avoid them
The Sunglasses Scam
Published: at 09:09 PMA story about an accidental scam in Ragnarok Online and what it taught me about human psychology
Dangerous Python Functions, Part 1
Published: at 07:54 PMA discussion of dangerous Python functions and how to avoid them
Intro to Code Reviews talk
Published: at 03:54 PMA talk introducing code reviews, their benefits, and how to get started with them on your team
Code Review Best Practices
Published: at 03:54 PMCode reviews can be challenging! How do you make them valuable without being a burden? Here's what I've learned about making code reviews effective for both reviewers and authors.
Impostor Syndrome and Me
Published: at 09:18 PMPersonal reflections on dealing with impostor syndrome as a software developer
Why I submitted my first CPython patch
Published: at 09:05 PMMy experience optimizing UUID generation in Python's core library
Python / Django Talks
Published: at 02:51 AMNotes and insights from recent Python and Django conference talks
6 lessons learned from teaching my brother about programming
Published: at 04:45 AMKey insights gained from teaching programming to my younger brother over Skype
Georgia Tech OMS CS
Published: at 09:00 AMStarting my journey in Georgia Tech's Online Master's in Computer Science program