All Posts


Handling Conflict in a Healthy Way

8 minute read

Over the years, I’ve read many, many books on a wide range of both technical and non-technical topics, so people often ask me for book recommendations. While...



Beating the Quality Death March with BDD

13 minute read

I have yet to meet a software developer or manager who would disagree with the statement, “We should build quality software.” However, ensuring quality can f...


Sprint Demo/Retrospective Best Practices

6 minute read

Scrum is my personal development methodology of choice. A key reason I like Scrum so much is because it allows you to frequently practice estimating software...

Plan All of the Things!

6 minute read

In my previous post, Bad Habits We Learn in School, I touched on the fact that software is notoriously difficult to estimate accurately, and when we are wron...

SimpleLeadership Interview

less than 1 minute read

Christian McCarrick reached out to me a few months ago after finding my post, How to Set the Technical Direction for Your Team. He asked if I would do an int...

Book Recommendations

less than 1 minute read

A little while back, I added a Books page to my website. However, it just contained an ugly widget of what I was currently reading provided by Goodreads. I f...

There is No U in CRUD

5 minute read

REST is built around the concept of resources, represented as URIs. Making an HTTP call specifying an HTTP verb and a resource URI takes an action on the spe...

Productivity Tips

7 minute read

One of the new developer tips I gave in my previous post, Tips for New Software Developers, was

Bad Habits We Learn in School

9 minute read

One of the most pervasive problems in the tech industry is poor work-life balance. Long hours and “death marches” can seem like the norm, especially when you...

Tips for New Software Developers

10 minute read

Amazon is a fast-paced, decentralized and constantly changing environment. It can be a bit of a shock to new people coming into the company. Because of this,...

Don’t Worry About Failure…Embrace It!

4 minute read

A member of a team I’ve been mentoring recently confided in me that he had decided it was time to move on and try working on another team. Amazon has a very ...

My Favorite Microwave

2 minute read

I recently read this blog post, which describes how microwaves have gotten caught in the trap of adding features that no one needs while usability for the co...

Just-in-Time Documentation

5 minute read

One of the most interesting tenets of the Agile Manifesto is valuing “working software over comprehensive documentation,” which is often misinterpreted as, “...


Inheritance Pain Points

3 minute read

I recently read this excellent DZone article by Nehme Bilal, detailing why inheritance is a poor choice for extending an object’s functionality and how the d...

Sick Day

3 minute read

I’ve been out sick most of this week due to an annoyingly persistent headcold. When I was a kid and I got sick enough to stay home from school, I’d lay in be...

The Power of the TODO List

4 minute read

I wanted to share a simple, yet powerful technique I discovered during my 2nd year as a software engineer, which has served me extremely well ever since. I r...

First Post!

1 minute read

I’ve been in software development for over a decade now, which is kind of crazy. In addition to that, I’ve been working at Amazon for over half my career, wh...