I asked a room of 50 developers: "What's the hardest part of your job?"

Not coding. Not debugging. Not meetings.

The answer, by a wide margin: "Understanding what I'm actually supposed to build."

Most code problems are communication problems wearing a technical costume.

The Bug That Wasn't a Bug