Archive for October 20th, 2008

REST is a design for the long run

Found this quote in a recent discussion or REST.

REST is software design on the scale of decades: every detail is intended to promote software longevity and independent evolution. Many of the constraints are directly opposed to short-term efficiency.

The one technology every developer should learn!

I recently wrote a little article for an O’reilly project, in which I argue that the single most important technology that Software Architects need to master is not at all new. And I don’t just mean that Fred Brooks already told us about it in the 70′s. It’s older than that, much older.

Software Architects and all Developers ultimately will succeed or fail based on their knowledge of one of the same technologies the architects of the pyramids used to get their jobs done — the conversation.

When something goes wrong, or when somebody just isn’t getting it, mastery of this simple technology makes a huge difference. A well placed, well handled conversation can change the course of a failing project, or transform something good enough into something great.

Sure conversation can’t solve every problem, but it’s a key enabler for every other solution, since it is the very thing that allows for exploring possible solutions as a group.

We all learned the basics of conversational technology as kids. But often that’s not enough, and we still have conversations that go horribly wrong. Fortunately conversation is not a stagnant technology, and we can learn more as adults.

I’ve read more books about “how to talk to people” than the average software guy, and I’m endlessly fascinated by the subject. I’ve recently been getting into the neuroscience side of the subject, and am endlessly fascinated by the complexities of brains.

But, if I had to recomend just one book for developers and architects to read to improve their “people skills,” it would be Crucial Conversations. It cuts through the complexity to offer a lot of really simple suggestions that actually work. There’s good science behind what’s suggested (even though it’s not always spelled out in scientific terms.

I know that I really need to write more about why this book is so good. But for now, let me say that it does a better job of outlining in a simple and easy to understand way exactly the tools that are needed to keep both parties in a conversation thinking. It’s easy to ignore the impact of fear and anger on our conversations, but to do so is to ignore the way our brains actually work.

Crucial Conversaitons outlines the steps necessary to create a safe place to think, and to actually turn that thinking into mutual decisions, and ultimately into actions that solve some of the most intractable problems in our projects. It certainly helped me.

If you’re just struggling to be understood this may not be the best book for you — because it does little to help people structure their thoughts in ways that others can understand. But if you’re struggling to break through on tough conversations, and have important issues where you or the other person are frustrated, defensive, and have been avoiding talking about emotionally charged subjects — this is the book for you.

I know it helped me to have productive conversations about difficult issues at work, and at home.