Skip to content

Archives

All the articles I've posted.

2025 3
June 2
February 1
  • Know where you're going (and be open to change)

    Published: at 10:30 PM

    How having clear direction while remaining open to change shaped my journey from film school to software engineering, and why both focus and flexibility matter in any career.

2024 3
November 1
  • Jekyll to Astro: an AI-assisted migration

    Published: at 10:00 AM

    How I used AI tools to migrate 43 blog posts to Astro, with real examples and lessons from both successful and failed approaches

June 2
  • In Python, Rose == 'Red', Violet is not 'Blue'

    Published: at 09:57 AM

    A 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 09:25 AM

    Learning 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.

2023 5
November 1
  • Launching Effective One-on-One Meetings

    Published: at 06:41 AM

    When 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.

July 2
  • The Quadrant Test

    Published: at 07:22 PM

    A 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 12:53 PM

    Preparing 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.

May 1
  • Senior Engineer Job Search Preparation

    Published: at 12:53 PM

    A detailed guide to preparing for senior engineering interviews, based on my experience interviewing at major tech companies in 2022.

January 1
  • My Experience with the Amazon Promotion Process

    Published: at 10:20 AM

    When 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.

2022 4
December 1
  • Backfill Considerations

    Published: at 03:20 AM

    Planning a data backfill? Here are the key considerations: impact assessment, rollback strategies, monitoring, and how to avoid common pitfalls that can bring down production systems.

June 1
  • Reflections on my Amazon Career

    Published: at 12:57 AM

    After 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.

February 1
  • Giving Feedback When You're New

    Published: at 01:53 PM

    How to give effective feedback as a new team member: building trust, asking good questions, and providing constructive input without overstepping boundaries.

January 1
  • Load Testing at Scale and Lessons Learned

    Published: at 12:00 PM

    Lessons learned from designing and testing a service to handle hundreds of thousands of requests per second, including practical strategies for load testing at scale.

2021 1
October 1
  • Getting Unstuck

    Published: at 01:00 PM

    Through 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?

2019 3
December 1
  • My Path to Software Engineering

    Published: at 12:35 PM

    I'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.

November 1
  • The Princess and the Pea

    Published: at 09:35 AM

    Like the princess who could feel a pea through twenty mattresses, sometimes being sensitive to small problems is exactly what teams need to prevent bigger issues.

March 1
  • Don't Just Bake Me a Cake

    Published: at 03:35 AM

    In 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.

2018 5
September 2
  • An Intro to AWS Certifications

    Published: at 01:23 PM

    I'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 09:23 AM

    Study guide for the AWS Solutions Architect Associate exam: key services to master, hands-on labs to complete, and practical tips for passing on your first attempt.

June 2
  • More Code Review Best Practices

    Published: at 01:54 PM

    Additional insights on code reviews: handling disagreements, managing review fatigue, and creating a positive review culture on your team.

  • What is Churning and Why Should I Care?

    Published: at 05:32 AM

    A 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.

May 1
  • Programmer Resources

    Published: at 03:50 PM

    The books, blogs, and tools that have helped me grow as a software engineer. From Clean Code to system design resources, here's what I keep coming back to.

2017 1
January 1
  • Dangerous Python Functions, Part 3

    Published: at 09:30 AM

    Updates on Python security: new vulnerabilities discovered in PyYAML and other libraries, plus community feedback on dangerous function usage.

2016 6
September 3
August 1
  • Two Trains Talk

    Published: at 08:54 AM

    Why technical debt is like two trains heading toward each other: the longer you wait to address it, the more catastrophic the collision becomes.

May 1
  • Strategies for Writing Useful Tests

    Published: at 06:54 AM

    Writing 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.

January 1
2015 11
November 1
  • How to Prepare for Talks

    Published: at 02:09 PM

    My step-by-step process for preparing technical talks: from initial brainstorming and outline creation to practice sessions and handling Q&A.

October 1
  • Answers to Django Security Questions

    Published: at 06:56 AM

    Answers to the Django security questions I get asked most often: CSRF protection, SQL injection prevention, secure sessions, and authentication gotchas.

September 3
  • 10 Software Talks to Listen to on Your Way to Work

    Published: at 03:17 PM

    Software talks that changed how I think about code. Rich Hickey on simplicity, Bret Victor on the future of programming, and eight others worth your time.

  • Finding Vulnerabilities with Bandit Talk

    Published: at 06:23 AM

    How to use Bandit to automatically scan Python codebases for security vulnerabilities: setup, configuration, and integrating security checks into your development workflow.

  • Using Bandit in the Field

    Published: at 03:17 PM

    Real-world experience using Bandit to scan Python codebases for security vulnerabilities. What works, what doesn't, and how to integrate it into your workflow.

August 1
  • Dangerous Python Functions, Part 2

    Published: at 08:22 AM

    More Python functions that can introduce security vulnerabilities, including pickle, PyYAML, and SQL injection risks. Learn how to use them safely.

July 2
  • The Sunglasses Scam

    Published: at 02:09 PM

    A story about an accidental scam in Ragnarok Online and what it taught me about human psychology

  • Dangerous Python Functions, Part 1

    Published: at 12:54 PM

    Python functions like eval(), exec(), and input() can create serious security vulnerabilities. Here's how to identify and avoid these dangerous patterns in your code.

June 1
  • Intro to Code Reviews talk

    Published: at 08:54 AM

    Getting started with code reviews: why they matter, how to implement them effectively on your team, and common pitfalls to avoid when establishing a review culture.

May 2
  • Code Review Best Practices

    Published: at 08:54 AM

    Code 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 02:18 PM

    Personal reflections on dealing with impostor syndrome as a software developer

2014 4
August 2
June 1
May 1
  • Georgia Tech OMS CS

    Published: at 02:00 AM

    Starting my journey in Georgia Tech's Online Master's in Computer Science program