<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Nimble Code: Tag responsibility</title>
    <link>http://www.nimblecode.com/articles/tag?tag=responsibility</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Jacob Harris' Weblog</description>
    <item>
      <title>The Dangers of Heroes and Martyrs</title>
      <description>&lt;p&gt;In my last posting, I riffed at dubious length about how taking responsibility for your code (from testing and maintenance through fighting fires in extreme situations) was a lot like &lt;a href="/articles/2006/02/02/if-you-cant-scoop-the-poop-you-shouldnt-own-a-dog"&gt;cleaning up after your dog&lt;/a&gt;&amp;#8212;a frankly unpleasant task, but one that you owe to your colleagues and customers. More importantly, I feel you owe this obligation &lt;em&gt;especially&lt;/em&gt; to your fellow software developers of all stripes, as we are all hurt by the cynicism that results from crappy code being left in the world.&lt;/p&gt;


	&lt;p&gt;Maybe it&amp;#8217;s the fact that I was out yesterday for an extremely rare sick day, but I&amp;#8217;m feeling philosophical again today about a related yet opposite problem that also strikes software developers: the &lt;strong&gt;hero complex&lt;/strong&gt;. And since I&amp;#8217;m in this frame of metaphor, it&amp;#8217;s time to return to dog poop to explain the craziness of the hero complex. When I&amp;#8217;m at the dog run with Bella, I always clean up her mess. And occasionally I will go and clean up someone else&amp;#8217;s if I&amp;#8217;m feeling charitable. But what if I were to scour the dog run for all messes and clean them up, even if other owners there should be watching after their own dogs? What if I were to regularly go to the dog run at 3am in the odd chance that there might be some more poop I could clean up? What if I strutted around all proud because of my poop scoopery? What if I were to do all this because I was magically hoping for a commendation from the Parks Department? You&amp;#8217;d think I was nuts, and yet this is exactly the kind of thinking that motivates the heroes and martyrs of software development.&lt;/p&gt;


	&lt;p&gt;Scott Berkun&amp;#8217;s excellent book &lt;a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&amp;#38;tag=httpwwwnimbco-20&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0596007868%2Fsr%3D1-1%2Fqid%3D1139335223%2Fref%3Dpd_bbs_1%3F%255Fencoding%3DUTF8"&gt;The Art of Project Management&lt;/a&gt; is the only project management I&amp;#8217;ve seen so far that talks about the dangers of this hero complex to software development. The problem with hero developers is that they derive their self esteem solely from their rescue efforts, and this can create some real problems for the software. It might encourage code to be released recklessly with little or no testing, because the developer feels he can fix all problems that occur. If the hero is really good, it might mask serious problems in the organization (a horrible testing process, other bad developers who really need to be replaced). Worst of all, the hero complex might lock the organization into a constant fire fighting mode, where all resources are allocated in reaction to things breaking on a regular basis, leading to poor strategic vision, a lack of energy for new projects, and ultimately complete burnout.&lt;/p&gt;


	&lt;p&gt;The hero complex is ultimately a problem of self esteem. In a few cases, the hero has a huge ego, which leads himself to think he really can single-handedly tackle any grand challenges that come his way (hopefully he doesn&amp;#8217;t take down the company in the process). This is usually what most people think of as the hero complex problem, where a charismatic cocksure loner takes everybody down with him. But for most developers, the hero complex emerges in a different fashion out of low self-esteem. We have no real idea what value we&amp;#8217;re contributing to the company, because we only get feedback when things go wrong (negative and angry), and any positive feedback usually comes at most once a year in the form of a performance review. And so, many developers easily find themselves seeking out the positive acclaim through the hero complex. But many more find themselves sacrificing more and more of their selves to curry favor with their bosses; I call this &lt;strong&gt;the martyr complex&lt;/strong&gt;.  For instance, you might find yourself volunteering to clean up and cover for other people&amp;#8217;s messes, because you&amp;#8217;re worried you&amp;#8217;re not enough of a &amp;#8220;team player.&amp;#8221; You head into the office very early and work late, grab more things to be responsible for without any additional pay or help, get added to pager duty for evenings and weekends, even stagger in with a high fever from the flu –- all of this is considered worth it for getting your boss&amp;#8217; notice and praise. Which is crazy, because your boss most likely doesn&amp;#8217;t care (or you work for a soulless tyrant who thinks you should put him before your own family). No offense, but you usually don&amp;#8217;t matter as much to the company as you think you do. You need to redefine your self-esteem.&lt;/p&gt;


	&lt;p&gt;But isn&amp;#8217;t the alternative just nihilism? No, you instead need to develop a true sense of what you contribute to the company and how the company in turn contributes to your career path. I hope to delve into my own experiences and my own dabbling in martyrdom. But that&amp;#8217;s a subject for another time&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Wed, 08 Feb 2006 20:02:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:15c4b949-3b9a-41fb-97ec-5b52b8ac7152</guid>
      <author>harrisj@nimblecode.com (Jacob Harris)</author>
      <link>http://www.nimblecode.com/articles/2006/02/08/the-dangers-of-heroes-and-martyrs</link>
      <category>Career</category>
      <category>career</category>
      <category>responsibility</category>
      <category>job</category>
      <trackback:ping>http://www.nimblecode.com/articles/trackback/102</trackback:ping>
    </item>
    <item>
      <title>If You Can't Scoop The Poop, You Shouldn't Own A Dog</title>
      <description>&lt;p&gt;If you own a dog in New York, you&amp;#8217;re probably very familiar with the sentiment of the title. New York has &amp;#8220;pooper scooper laws&amp;#8221; that require all dog walkers to clean up after their dogs. It&amp;#8217;s not really pleasant to clean up after my dog, but it&amp;#8217;s something I accept as part of owning her. It&amp;#8217;s simply being considerate to my fellow person, but especially to my fellow dog owner; when someone doesn&amp;#8217;t clean up, it makes all of us look bad.&lt;/p&gt;


	&lt;p&gt;Perhaps it&amp;#8217;s a result of fatigue from having stayed up late the night before fixing an urgent bug, but the next morning at the dog run with &lt;a href="http://www.dogster.com/?26541"&gt;Bella&lt;/a&gt; this seemed like a remarkably good aphorism about taking responsibility as as a programmer.&lt;/p&gt;


	&lt;p&gt;I can&amp;#8217;t really give details, but I was up the night before fixing an extremely critical bug. I was fixing the bug because it was my fault. And I was fixing it that night because it was vitally important it not inconvenience customers any further (it had already affected them for a few days). And the bug was completely my fault, not the code&amp;#8217;s, not the operating system&amp;#8217;s, not my coworkers&amp;#8217; or the QA testers&amp;#8217;, all mine. And this is what I told my boss and my coworkers, and this is what I think was also told to the customers.&lt;/p&gt;


	&lt;p&gt;This may sound like I am only pointing out what&amp;#8217;s natural (like tooting my horn about how my heart is able to speed up when I exercise). But from my experience, software developers are horrible at handling failure. We blame it on the language we write in, the overwhelming complexity of our tasks, those testers we expect to find all our bugs for us or those project managers we expect to manage all our time for us. When we fall behind on deliverables, most of us keep silent and vainly hope we can catch up before the next milestone (a mistake so common it&amp;#8217;s earned the euphemism &lt;em&gt;hope creep&lt;/em&gt; among project managers). And when we mess up technically in front of the customer, we mask it in euphemisms like &lt;a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&amp;#38;tag=httpwwwnimbco-20&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F073571410X"&gt;a technical error has occurred&lt;/a&gt; whose passive voice make the customer wonder if they&amp;#8217;re being blamed and if errors just magically fall from the sky like rain.&lt;/p&gt;


	&lt;p&gt;To be fair, taking responsibility hurts. It damages your pride, makes you look bad for the moment, and might almost feel like a &lt;em&gt;career-limiting move&lt;/em&gt;. But as Chad Fowler puts it in &lt;a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&amp;#38;tag=httpwwwnimbco-20&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0976694018%2Fqid%3D1138914507%2Fsr%3D2-1%2Fref%3Dpd_bbs_b_2_1%3Fs%3Dbooks%26v%3Dglance%26n%3D283155"&gt;My Job Went To India&lt;/a&gt;, you must &lt;strong&gt;learn how to fail&lt;/strong&gt;. Your managers might be pissed at the moment but I think honesty as well as concrete plan for fixing things and taking action will impress them. Your customers might be annoyed but will appreciate your forthrightness instead of fuzziness when explaining what broke and will love it if you can make things right as soon as possible instead of a few months. It&amp;#8217;s good for your fellow developers because it fights the cynicism and despair that result from too much unapologetically bad software already. And it&amp;#8217;s good for your character. You will actually turn out the stronger for having taken your lumps and emerging from it.&lt;/p&gt;


	&lt;p&gt;So, the next time something breaks (and there will be a next time), embrace it. And if that&amp;#8217;s too hard for you to do, get a different career; and don&amp;#8217;t get a dog.&lt;/p&gt;</description>
      <pubDate>Thu, 02 Feb 2006 15:59:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:7c370e62-9116-4a49-b7ff-767c098e1664</guid>
      <author>harrisj@nimblecode.com (Jacob Harris)</author>
      <link>http://www.nimblecode.com/articles/2006/02/02/if-you-cant-scoop-the-poop-you-shouldnt-own-a-dog</link>
      <category>Programming</category>
      <category>Career</category>
      <category>responsibility</category>
      <category>bugs</category>
      <category>career</category>
      <trackback:ping>http://www.nimblecode.com/articles/trackback/98</trackback:ping>
    </item>
  </channel>
</rss>
