<?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: Why Not Just Fire All Of Your Programmers?</title>
	<atom:link href="http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/feed/" rel="self" type="application/rss+xml" />
	<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/</link>
	<description>Schrade.Blog</description>
	<lastBuildDate>Fri, 09 Jul 2010 06:07:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: planetmcd</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-322</link>
		<dc:creator>planetmcd</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-322</guid>
		<description>Well said!</description>
		<content:encoded><![CDATA[<p>Well said!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ryan baldwin</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-323</link>
		<dc:creator>ryan baldwin</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-323</guid>
		<description>I disagree with your proposed solution to unmotivated/underperforming employees, as it kind of implies a waterfall top-down method of software development.

I&#039;ve worked in a few different companies over the span of my career, each with fairly different styles and &quot;managerial&quot; flow.  One company was 100% sales driven - to such an extent that my day literally consisted of me talking to our sales reps (who by chance were the president, ceo, and owners) and implementing feature x in a matter of y days so that we could secure client z.  Yea, that company isn&#039;t around anymore, to say the least.

In a couple other companies it was very team focused, but assignments were handed down by a project lead.  There were a lot of assignments as the product was growing at a break neck pace, and there were a lot of areas within the software that you could chose to work in.  But the smaller, more granular tasks within each area were dolled out by higher ups.

The new company is nothing like the others.  we&#039;re practicing SCRUM, and we&#039;re trying to adhere to it as strictly as possible.  We have 30 day cycles.  At the start of each cycle the entire team gets together and goes over all the issues that we&#039;ve logged in our issue tracking software.  We start saying what goes into the new iteration, and what gets postponed to a later iteration.  After that we all pick what we want to do and assign those issues to ourselves.

The result has been an incredibly self motivated team.  Everybody is empowered to carve out their little nook in the product, and as a result we have no motivational concerns; our velocity is through the roof.

I do agree with you, however, when you talk about how the more senior developers should be held accountable for the distribution of knowledge.  I&#039;d take that 1 step further and say that ALL developers, not just the senior ones, should be responsible for distributing knowledge.  There&#039;s a metric tonne of stuff kids coming out of school today know that I don&#039;t, and vice versa.  The question is, of course, HOW do you spread that knowledge.  The absolute best way I&#039;ve experienced, so far, in spreading technical knowledge, is code reviews.  You fix a bug?  The issue isn&#039;t closed until at least 1 other developer has reviewed it.  Feature complete?  Not if it hasn&#039;t been code reviewed. Etc.

Good post.  You made me think and illicited a response, and for that I thank you.</description>
		<content:encoded><![CDATA[<p>I disagree with your proposed solution to unmotivated/underperforming employees, as it kind of implies a waterfall top-down method of software development.</p>
<p>I&#8217;ve worked in a few different companies over the span of my career, each with fairly different styles and &#8220;managerial&#8221; flow.  One company was 100% sales driven &#8211; to such an extent that my day literally consisted of me talking to our sales reps (who by chance were the president, ceo, and owners) and implementing feature x in a matter of y days so that we could secure client z.  Yea, that company isn&#8217;t around anymore, to say the least.</p>
<p>In a couple other companies it was very team focused, but assignments were handed down by a project lead.  There were a lot of assignments as the product was growing at a break neck pace, and there were a lot of areas within the software that you could chose to work in.  But the smaller, more granular tasks within each area were dolled out by higher ups.</p>
<p>The new company is nothing like the others.  we&#8217;re practicing SCRUM, and we&#8217;re trying to adhere to it as strictly as possible.  We have 30 day cycles.  At the start of each cycle the entire team gets together and goes over all the issues that we&#8217;ve logged in our issue tracking software.  We start saying what goes into the new iteration, and what gets postponed to a later iteration.  After that we all pick what we want to do and assign those issues to ourselves.</p>
<p>The result has been an incredibly self motivated team.  Everybody is empowered to carve out their little nook in the product, and as a result we have no motivational concerns; our velocity is through the roof.</p>
<p>I do agree with you, however, when you talk about how the more senior developers should be held accountable for the distribution of knowledge.  I&#8217;d take that 1 step further and say that ALL developers, not just the senior ones, should be responsible for distributing knowledge.  There&#8217;s a metric tonne of stuff kids coming out of school today know that I don&#8217;t, and vice versa.  The question is, of course, HOW do you spread that knowledge.  The absolute best way I&#8217;ve experienced, so far, in spreading technical knowledge, is code reviews.  You fix a bug?  The issue isn&#8217;t closed until at least 1 other developer has reviewed it.  Feature complete?  Not if it hasn&#8217;t been code reviewed. Etc.</p>
<p>Good post.  You made me think and illicited a response, and for that I thank you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kenneth</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-324</link>
		<dc:creator>Kenneth</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-324</guid>
		<description>I disagree with &quot;It should also be the job of experienced programmers to take those who are less experienced or interested and pull them up to our level.&quot; because that is what a Project/Team Manager should do.

Experienced programmers are not tutor/consultant unless are hired to do so. Managers are responsible to make his team work and programmers are for make things work.</description>
		<content:encoded><![CDATA[<p>I disagree with &#8220;It should also be the job of experienced programmers to take those who are less experienced or interested and pull them up to our level.&#8221; because that is what a Project/Team Manager should do.</p>
<p>Experienced programmers are not tutor/consultant unless are hired to do so. Managers are responsible to make his team work and programmers are for make things work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Good Stuff</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-325</link>
		<dc:creator>Good Stuff</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-325</guid>
		<description>Yeah, I think it is important to make a distinction between experienced programmers and passionate programmers, that way you can qualify experienced passionate programmers, as those are the types that are best suited to mentor less-experienced but equally passionate programmers.</description>
		<content:encoded><![CDATA[<p>Yeah, I think it is important to make a distinction between experienced programmers and passionate programmers, that way you can qualify experienced passionate programmers, as those are the types that are best suited to mentor less-experienced but equally passionate programmers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-326</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-326</guid>
		<description>Disagree on the management fault part - I am a lead, and tried assigning complex projects to one of my guys who is not performing, guess what happened?  Management can only do so much, motivation has to come from the developer and if there is no motivation then no manager can change that</description>
		<content:encoded><![CDATA[<p>Disagree on the management fault part &#8211; I am a lead, and tried assigning complex projects to one of my guys who is not performing, guess what happened?  Management can only do so much, motivation has to come from the developer and if there is no motivation then no manager can change that</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: izwan00</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-327</link>
		<dc:creator>izwan00</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-327</guid>
		<description>Well said mate. just assign the super boring programmer to the hardest job. sure they will get back to their performance.</description>
		<content:encoded><![CDATA[<p>Well said mate. just assign the super boring programmer to the hardest job. sure they will get back to their performance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: keveen</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-328</link>
		<dc:creator>keveen</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-328</guid>
		<description>well, I am a really bad programmer and therefore I agree!</description>
		<content:encoded><![CDATA[<p>well, I am a really bad programmer and therefore I agree!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JavaProgrammer_Reader</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-329</link>
		<dc:creator>JavaProgrammer_Reader</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-329</guid>
		<description>I agree!
Its  not easy for the management to see if people perform good or bad acutally! Because that would require switching implementing positions regulary! I n that case the management is highly responsible, sadly in reality many programmers just miss that part because they have to do soemthing they are &quot;good&quot; at.</description>
		<content:encoded><![CDATA[<p>I agree!<br />
Its  not easy for the management to see if people perform good or bad acutally! Because that would require switching implementing positions regulary! I n that case the management is highly responsible, sadly in reality many programmers just miss that part because they have to do soemthing they are &#8220;good&#8221; at.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-330</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-330</guid>
		<description>Hopefully I&#039;m not off base with my comments, but this topic has struck a rather raw nerve with me.

I&#039;m currently on a team struggling with the burden of an underperformer.  An individual who has been referred to as a cancer by other team members.  An individual who continuously abuses the knowledge of his teammates for his own personal gain.  We&#039;ve even had other team members quit and cite Mr. Cancer as a contributing factor to their decision.  The job of a project lead (if given enough authority) or other manager is to recognize that there is a problem, attempt to solve it diplomatically, but learn when to cut the cancer out and hire someone else.  Team morale is at stake if management fails to listen and recognize a bad seed.  The gig&#039;s up once you&#039;re team has lost trust in your managing capacity.

Most programmers are willing to assist others, some only if asked, others more proactively.  But if your knowledge base programmers detect they are being abused by an underperformer who is either unable or unwilling to utilize knowledge gained as part of the team, then it absolutely is management&#039;s job to eventually nix that individual to help bring the team back into balance.  Otherwise you are just going to continue growing discontent within the team until you lose the ones doing the real work and all you are left with is Mr. Cancer.</description>
		<content:encoded><![CDATA[<p>Hopefully I&#8217;m not off base with my comments, but this topic has struck a rather raw nerve with me.</p>
<p>I&#8217;m currently on a team struggling with the burden of an underperformer.  An individual who has been referred to as a cancer by other team members.  An individual who continuously abuses the knowledge of his teammates for his own personal gain.  We&#8217;ve even had other team members quit and cite Mr. Cancer as a contributing factor to their decision.  The job of a project lead (if given enough authority) or other manager is to recognize that there is a problem, attempt to solve it diplomatically, but learn when to cut the cancer out and hire someone else.  Team morale is at stake if management fails to listen and recognize a bad seed.  The gig&#8217;s up once you&#8217;re team has lost trust in your managing capacity.</p>
<p>Most programmers are willing to assist others, some only if asked, others more proactively.  But if your knowledge base programmers detect they are being abused by an underperformer who is either unable or unwilling to utilize knowledge gained as part of the team, then it absolutely is management&#8217;s job to eventually nix that individual to help bring the team back into balance.  Otherwise you are just going to continue growing discontent within the team until you lose the ones doing the real work and all you are left with is Mr. Cancer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: brent</title>
		<link>http://kurt.karmalab.org/2008/08/06/why-not-just-fire-all-your-programmers/comment-page-1/#comment-331</link>
		<dc:creator>brent</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:{a.guid}#comment-331</guid>
		<description>I believe the blame should lie solely upon the experienced developers. I think top-down knowledge transfer is crucial to the success of any team, and there&#039;s a simple means of accomplishing that goal. It&#039;s called pair-programming.

I&#039;ve only been doing software development for a few short years now, but the times from which I gained the most were when I was working with knowledgable, experienced developers who were willing to sit down and knock out some code with me. Even of there as no code written, just sitting down and explaining the why&#039;s and how&#039;s of some particular area helped me tremendously.

I can read books and blogs all day, but what really works for me is a little one on one with someone who&#039;s been around the block.

I&#039;ve only once had a manager/lead who could give me that.</description>
		<content:encoded><![CDATA[<p>I believe the blame should lie solely upon the experienced developers. I think top-down knowledge transfer is crucial to the success of any team, and there&#8217;s a simple means of accomplishing that goal. It&#8217;s called pair-programming.</p>
<p>I&#8217;ve only been doing software development for a few short years now, but the times from which I gained the most were when I was working with knowledgable, experienced developers who were willing to sit down and knock out some code with me. Even of there as no code written, just sitting down and explaining the why&#8217;s and how&#8217;s of some particular area helped me tremendously.</p>
<p>I can read books and blogs all day, but what really works for me is a little one on one with someone who&#8217;s been around the block.</p>
<p>I&#8217;ve only once had a manager/lead who could give me that.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
