Handling Conflict in a Healthy Way
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...
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...
Trigger warning: This post contains content about suicide.
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...
Last week I did my first Twitch livestream for AWS to get the word out about serverless applications. I had a lot of fun getting to share why I’m so excited ...
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...
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...
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...
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...
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...
One of the new developer tips I gave in my previous post, Tips for New Software Developers, was
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...
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,...
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 ...
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...
I’ve found that one of the keys to a productive and happy development team is when every member of the team understands (1) the technical direction of the te...
One of the unique challenges of software construction, versus other forms of construction, is that what software developers build is largely intangible and i...
One of the most interesting tenets of the Agile Manifesto is valuing “working software over comprehensive documentation,” which is often misinterpreted as, “...
I just spent a ridiculously long time trying to figure out how to use swagger-core to generate a swagger document from JAX-RS annotated Java classes. All I w...
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...
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...
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...
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...