I have yet to meet a software developer or manager who would disagree with the statement, "We should...
Scrum is my personal development methodology of choice. A key reason I like Scrum so much is because it allows you to
In my previous post, Bad Habits We Learn in School, I touched on the fact that software is
REST is built around the concept of
One of the new developer tips I gave in my previous post, Tips for New Software Developers, was
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 friendly culture towards transferring internally between teams, so of course this wasn't a problem. He had identified two potential teams and wanted my help choosing between them.
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...
I've found that one of the keys to a productive and happy development team is when every member of the team understands...
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 bed until I was feeling a bit better, and then I'd...
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, mentoring developers is a critical (and very enjoyable) part of my role. I mentor many fresh-out-of-college developers entering the industry for the first time, as well as other more experienced developers coming in from different companies. Some of the college grads ask me for tips on how to get a good start on their career.
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 core use cases suffers. Not only do I agree, but it reminded me of my absolute favorite microwave I've ever used...
One of the unique challenges of software construction, versus other forms of construction, is that what software developers build is
One of the most interesting tenets of the [Agile Manifesto](http://agilemanifesto.org/) is valuing "working software over comprehensive documentation," which is often misinterpreted as, "documentation is not important, just write code." This sentiment is captured perfectly in this
I wanted to share a simple, yet powerful technique I discovered during my 2nd year as a software developer, which has served me extremely well ever since. I recommend it to everyone I mentor and have received positive feedback from other devs who've used this technique. Drumroll please...