<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Guilty Developer Syndrome</title>
	<atom:link href="http://22ideastreet.com/blog/2010/02/02/guilty-developer-syndrome/feed/" rel="self" type="application/rss+xml" />
	<link>http://22ideastreet.com/blog/2010/02/02/guilty-developer-syndrome/</link>
	<description></description>
	<lastBuildDate>Sat, 04 Sep 2010 18:53:21 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
	<item>
		<title>By: Mike Brown</title>
		<link>http://22ideastreet.com/blog/2010/02/02/guilty-developer-syndrome/comment-page-1/#comment-265</link>
		<dc:creator>Mike Brown</dc:creator>
		<pubDate>Fri, 26 Feb 2010 06:48:59 +0000</pubDate>
		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=940#comment-265</guid>
		<description>Martin Fowler wrote a post about Technical Debt Quadrants (http://martinfowler.com/bliki/TechnicalDebtQuadrant.html) The scenario you&#039;re proposing would most likely fall under the Prudent/Inadvertent Debt (I did the best I could with the knowledge I had but in retrospect I would have done it this way). I think all kinds of alarms should go off if you look back at old code and can&#039;t identify ways to improve it.

That being said, I&#039;ve learned over the years that you need to let go of &quot;your&quot; code. Once you can do that, you&#039;ll be able to learn more because you&#039;ll spend more time discussing a critique than defending your code.</description>
		<content:encoded><![CDATA[<p>Martin Fowler wrote a post about Technical Debt Quadrants (<a href="http://martinfowler.com/bliki/TechnicalDebtQuadrant.html" rel="nofollow">http://martinfowler.com/bliki/TechnicalDebtQuadrant.html</a>) The scenario you&#8217;re proposing would most likely fall under the Prudent/Inadvertent Debt (I did the best I could with the knowledge I had but in retrospect I would have done it this way). I think all kinds of alarms should go off if you look back at old code and can&#8217;t identify ways to improve it.</p>
<p>That being said, I&#8217;ve learned over the years that you need to let go of &#8220;your&#8221; code. Once you can do that, you&#8217;ll be able to learn more because you&#8217;ll spend more time discussing a critique than defending your code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wes Winham</title>
		<link>http://22ideastreet.com/blog/2010/02/02/guilty-developer-syndrome/comment-page-1/#comment-252</link>
		<dc:creator>Wes Winham</dc:creator>
		<pubDate>Thu, 04 Feb 2010 07:41:21 +0000</pubDate>
		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=940#comment-252</guid>
		<description>It&#039;s hard to do, but I&#039;m trying to &lt;a href=&quot;http://www.startuplessonslearned.com/2009/07/embrace-technical-debt.html&quot; rel=&quot;nofollow&quot;&gt;embrace technical&lt;/a&gt; debt like in your example.

The reality is that if project X served it&#039;s purpose, then you really shouldn&#039;t feel bad. You could have spent more time on it 6 months ago, but it would have been another trial-and-error learning experience. Coming back with 6 months of experience (and possibly 6 months worth of better 3rd-party tools and libraries), you can improve things a lot more quickly than if you&#039;d just tried to do it &quot;right&quot; the first time.

Even more, in that time, it might have become obvious that you didn&#039;t even need the internal tool.

Of course there&#039;s a balance to this thought, but I think good developers probably tend to drastically lean too far to the &quot;perfect now&quot; side. I definitely believe &lt;a href=&quot;http://www.joelonsoftware.com/items/2009/09/23.html&quot; rel=&quot;nofollow&quot;&gt;shipping is a feature&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>It&#8217;s hard to do, but I&#8217;m trying to <a href="http://www.startuplessonslearned.com/2009/07/embrace-technical-debt.html" rel="nofollow">embrace technical</a> debt like in your example.</p>
<p>The reality is that if project X served it&#8217;s purpose, then you really shouldn&#8217;t feel bad. You could have spent more time on it 6 months ago, but it would have been another trial-and-error learning experience. Coming back with 6 months of experience (and possibly 6 months worth of better 3rd-party tools and libraries), you can improve things a lot more quickly than if you&#8217;d just tried to do it &#8220;right&#8221; the first time.</p>
<p>Even more, in that time, it might have become obvious that you didn&#8217;t even need the internal tool.</p>
<p>Of course there&#8217;s a balance to this thought, but I think good developers probably tend to drastically lean too far to the &#8220;perfect now&#8221; side. I definitely believe <a href="http://www.joelonsoftware.com/items/2009/09/23.html" rel="nofollow">shipping is a feature</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mileszs</title>
		<link>http://22ideastreet.com/blog/2010/02/02/guilty-developer-syndrome/comment-page-1/#comment-250</link>
		<dc:creator>mileszs</dc:creator>
		<pubDate>Wed, 03 Feb 2010 13:56:45 +0000</pubDate>
		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=940#comment-250</guid>
		<description>I suppose every developer is in this position at one time or another, but I felt like I may have wrote parts of this for a second, or that perhaps you and I had very candid conversation at Brockway last time.  

I work on an internal tool.  It&#039;s been around since before Rails version 1.2.3, if I&#039;m not mistaken.  It&#039;s been around since before I had an adequate grasp of Ruby or Rails.  It was built by myself and another programmer who was just learning Rails.  It has some ugly parts.  I still apologize for them when working with The New Guy.

The project is a living project that will not soon be put out to pasture.  It is basically my job to maintain and improve it.  That means I get the opportunity to correct the things for which I feel guilty every day.  I think this has proven to be an incredibly valuable (and humbling) learning experience.

Perhaps one shouldn&#039;t feel guilty, but feeling guilty means you&#039;ve learned something.  So, relish the emotion as a sign of progress, and then cast it away.</description>
		<content:encoded><![CDATA[<p>I suppose every developer is in this position at one time or another, but I felt like I may have wrote parts of this for a second, or that perhaps you and I had very candid conversation at Brockway last time.  </p>
<p>I work on an internal tool.  It&#8217;s been around since before Rails version 1.2.3, if I&#8217;m not mistaken.  It&#8217;s been around since before I had an adequate grasp of Ruby or Rails.  It was built by myself and another programmer who was just learning Rails.  It has some ugly parts.  I still apologize for them when working with The New Guy.</p>
<p>The project is a living project that will not soon be put out to pasture.  It is basically my job to maintain and improve it.  That means I get the opportunity to correct the things for which I feel guilty every day.  I think this has proven to be an incredibly valuable (and humbling) learning experience.</p>
<p>Perhaps one shouldn&#8217;t feel guilty, but feeling guilty means you&#8217;ve learned something.  So, relish the emotion as a sign of progress, and then cast it away.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MaTT</title>
		<link>http://22ideastreet.com/blog/2010/02/02/guilty-developer-syndrome/comment-page-1/#comment-249</link>
		<dc:creator>MaTT</dc:creator>
		<pubDate>Tue, 02 Feb 2010 19:29:56 +0000</pubDate>
		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=940#comment-249</guid>
		<description>HAH!  This post couldn&#039;t be anymore relevant to my current position.  Imagine, if you can, that you worked on a project for the past 3 years.  Then, all of the sudden, you are tasked with training someone who you have never met on that product.  They are looking at code you have worked on for the past 3 years.  There were a few times where they would suggest a different (in their eyes, better) way to do things.  But as you&#039;ve stated...at the time, I only knew what I knew then.  I never felt guilt when talking about these areas; however, I would feel a little defensive.

Honestly, I think most of my defense comes from the situation that we&#039;ve been put in.  But I can most certainly see how a developer would take it personally if someone &quot;attacked&quot; their code.  Some of the implementations were called &quot;confusing&quot;...but I think once I was able to put them in the mindset that I was in 1-3 years ago...they understood the decisions that were made.

I&#039;m pretty confident that I could change the way some things were written and improve them.  But we got the job done, and it is a very working solution.

p.s.  I enjoyed reading this post!!!!</description>
		<content:encoded><![CDATA[<p>HAH!  This post couldn&#8217;t be anymore relevant to my current position.  Imagine, if you can, that you worked on a project for the past 3 years.  Then, all of the sudden, you are tasked with training someone who you have never met on that product.  They are looking at code you have worked on for the past 3 years.  There were a few times where they would suggest a different (in their eyes, better) way to do things.  But as you&#8217;ve stated&#8230;at the time, I only knew what I knew then.  I never felt guilt when talking about these areas; however, I would feel a little defensive.</p>
<p>Honestly, I think most of my defense comes from the situation that we&#8217;ve been put in.  But I can most certainly see how a developer would take it personally if someone &#8220;attacked&#8221; their code.  Some of the implementations were called &#8220;confusing&#8221;&#8230;but I think once I was able to put them in the mindset that I was in 1-3 years ago&#8230;they understood the decisions that were made.</p>
<p>I&#8217;m pretty confident that I could change the way some things were written and improve them.  But we got the job done, and it is a very working solution.</p>
<p>p.s.  I enjoyed reading this post!!!!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
