My Secret Life as a Spaghetti Coder
home | about | contact | privacy statement
We're all going to fail at some point. I've failed, you've failed. We'll both do it again. And who cares anyway? It's a good thing to fail.

Failing is how we learn - if you're not failing, how likely is it that you're doing something new? You probably don't think of it as failure though. But it is - it's just that we prefer to fail early and often with small mistakes, as opposed to late and rarely, with collossal mistakes.

Failure, and how to react properly to it, is the subject of this week's chapter in Chad Fowler's MJWTI.

Chad notes that since failure is a given, "within reason, we don't judge each other on the mistakes we make." Instead, we tend to focus on how we react to that failure.

For me, Chad best summed it up by comparing it to failure in the food service industry:
Think about the last time you experienced a customer service issue at a restaurant. Perhaps you waited way too long for the wrong dish to ultimately reach your table. Think about how the waiter reacted to your complaint.

The wrong reaction is for the waiter to make excuses or blame the cooks. The wrong reaction would be for the waiter to walk off to resubmit the order and stay out of sight while you site there starving and wondering when the hell your food is going to arrive. Of course, the really wrong reaction would be for the waiter to arrive with a dish that he already knows is wrong, hoping you would either not notice or not complain.
In each of those cases, it may even seem like the wrong thing to do is the natural thing we want to do. But put yourself in the customer's position (in whose shoes, no doubt, you've been). How would you like him to react?

Exactly the way you should react (quoting Chad):
  1. Raise the issue as early as you know about it...
  2. Take the blame [even if it's not all your fault]...
  3. Offer a solution ... [or] a plan of attack for finding [one]...
  4. Ask for help.
It's a hard thing to do to put your ego aside like that - but offering solutions instead of excuses goes a long way. Lately, I've been trying that - and for me it's an extra hard thing to do. I like to argue. So when I'm wrong, it used to be near impossible to admit it and move on.

But having used the technique, I can say it's much nicer to own up to it instead of squirming around trying to find excuses. I'd even go so far as to jump in if you notice someone else playing the blame game. It's not useful at all to assign blame. Fixing problems, however, is useful.

So instead of saying "I didn't have time," or "I had a problem with such and such," I've been trying to use the following key phrases (These are some recent examples, boiled down to their essense):
  • I didn't get that done. I don't have a good excuse. I'll get it to you this evening.
  • I should have done that. Let's fix it now.
  • I was mistaken in my original thought. Here's a more accurate one. Can we work something out?
That reminds me - I blamed something on my battery going out yesterday. It was the truth, but I probably could have offered something better. I probably should have said the first thing on my list.

When you make excuses for your mistakes - especially when they just keep piling on and they're all out of your control - it sounds ridiculous to the other people listening. It's incredibly more useful to offer solutions. And even if your battery did die, or something out your control did prevent you from meeting your responsibilities - don't pause after saying so. Don't let them have a chance to respond before you say "I'll fix it" in a tangible and timely way.

Aside from the learning aspects involved in failure, reacting in the the right way provides a chance to shine. I conclude as Chad does: "Stressful times offer the best opportunities to build loyalty." Use them to your advantage.

Hey! Why don't you make your life easier and subscribe to the full post or short blurb RSS feed? I'm so confident you'll love my smelly pasta plate wisdom that I'm offering a no-strings-attached, lifetime money back guarantee!


Comments
Leave a comment

There are no comments for this entry yet.

Leave a comment

Leave this field empty
Your Name
Email (not displayed, more info?)
Website

Comment:

Subcribe to this comment thread
Remember my details
Google
Web CodeOdor.com

Me
Picture of me

Topics
.NET (19)
AI/Machine Learning (14)
Answers To 100 Interview Questions (10)
Bioinformatics (2)
Business (1)
C and Cplusplus (6)
cfrails (22)
ColdFusion (78)
Customer Relations (15)
Databases (3)
DRY (18)
DSLs (11)
Future Tech (5)
Games (5)
Groovy/Grails (8)
Hardware (1)
IDEs (9)
Java (38)
JavaScript (4)
Linux (2)
Lisp (1)
Mac OS (4)
Management (15)
MediaServerX (1)
Miscellany (76)
OOAD (37)
Productivity (11)
Programming (168)
Programming Quotables (9)
Rails (31)
Ruby (67)
Save Your Job (58)
scriptaGulous (4)
Software Development Process (23)
TDD (41)
TDDing xorblog (6)
Tools (5)
Web Development (8)
Windows (1)
With (1)
YAGNI (10)

Resources
Agile Manifesto & Principles
Principles Of OOD
ColdFusion
CFUnit
Ruby
Ruby on Rails
JUnit



RSS 2.0: Full Post | Short Blurb
Subscribe by email:

Delivered by FeedBurner