<?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: Don&#8217;t let junior programmers cowboy code.</title>
	<atom:link href="http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/</link>
	<description></description>
	<lastBuildDate>Thu, 11 Mar 2010 00:49:25 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Don&#8217;t let junior programmers cowboy code — cafedave.net</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-291</link>
		<dc:creator>Don&#8217;t let junior programmers cowboy code — cafedave.net</dc:creator>
		<pubDate>Tue, 12 Jan 2010 12:14:53 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-291</guid>
		<description>[...] you find yourself managing programming graduate, you&#8217;ll want to read this post: Don&#8217;t let junior programmers cowboy code. It&#8217;s not enough that the code works, it needs to be maintainable and well [...]</description>
		<content:encoded><![CDATA[<p>[...] you find yourself managing programming graduate, you&#8217;ll want to read this post: Don&#8217;t let junior programmers cowboy code. It&#8217;s not enough that the code works, it needs to be maintainable and well [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-279</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Wed, 02 Dec 2009 06:59:04 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-279</guid>
		<description>No wonder you are a consultant my friend. You are biased and utterly wrong.</description>
		<content:encoded><![CDATA[<p>No wonder you are a consultant my friend. You are biased and utterly wrong.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dilip</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-270</link>
		<dc:creator>Dilip</dc:creator>
		<pubDate>Mon, 09 Nov 2009 21:55:35 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-270</guid>
		<description>I would like to add another thing - New programmers should run programs in Debug mode to understand everything step by step and getting the heck of behind-the-scene scenarios which is not possible to understand by simply running the program and jumping around. Every problem has two solutions and the third one works...so always be ready to improvise the baby-face code you write at first sight :)</description>
		<content:encoded><![CDATA[<p>I would like to add another thing &#8211; New programmers should run programs in Debug mode to understand everything step by step and getting the heck of behind-the-scene scenarios which is not possible to understand by simply running the program and jumping around. Every problem has two solutions and the third one works&#8230;so always be ready to improvise the baby-face code you write at first sight <img src='http://codeofdoom.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mister Jones</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-260</link>
		<dc:creator>Mister Jones</dc:creator>
		<pubDate>Fri, 23 Oct 2009 02:30:54 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-260</guid>
		<description>I tend to have had almost exactly the opposite experiences as you have.  In my experience, it has generally been the &#039;senior&#039; developers that write the most disgusting and unmaintainable code.  And the real problem is, they have no idea how awful they are at their jobs.  

The reason for this, and this is where I agree with you, is most of these &#039;senior&#039; programmers have spent little time maintaining others&#039; code, have rarely, if ever, had their own code reviewed by peers, and have likely never jointly coded projects.  In fact, the only consulting with others has been in the months of meetings before a small to medium sized project begins &#039;designing&#039; the &#039;system&#039;, with everyone attempting to assert their prowess in theoretical algorithm design (no math, no psuedocode, noting pertaining to the problem at hand, only gibberish and nonsense).  

And the worst thing?  The managers have not written code in 25 years yet consider themselves to be excellent programmers.  They&#039;ve never seen any of the code their current or past programmers have written, and are shocked to hear that all of the code in that has been written on their watch is unmaintainable spaghetti, because hey, it worked, right?  Well, it sort of worked anyways.  Except that&#039;s only because the &#039;junior&#039; programmers have been fixing the myriad MAJOR bugs in these systems for all these years, while the senior programmers worked on their next &#039;masterpiece&#039;.

While I am more experienced than anyone I currently work with, and more experienced than most that I have worked with in my life, I again find myself in the &#039;junior&#039; programmer position, as the newest programmer at the healthcare institution I have now been with for a year.  It is extremely frustrating trying to deal with old fogies who really and truly believe they are some of the best programmers in the world, yet cannot seem to grasp why when using an object oriented language, 2500 lines of code that do 30 different things should not be stuffed into one method, and maybe that shouldn&#039;t be the only method in the class, and maybe your display logic and your data access logic and your business rules logic shouldn&#039;t be all mixed up in the blender that is your code, but I digress.

You are spot on regarding code reviews, though in my experience they are generally of more benefit to the &#039;senior&#039; citizens, I mean developers.  The idea should always be knowledge exchange.  Learning from the mistakes of others, seeing how they use code, and sharing your expertise, that is what makes developers better, and that is what makes a strong, maintainable code base.

For the last 10 years I have been in the enterprise, so that may explain the difference in our experiences.  It is no place for those of us that really care about code.  I would guess that you may work at a software company, and your story would ring far truer in that world.  That world, unfortunately, is one that I only get to experience evenings and weekends.  Not too much longer though, I hope.  As is evident in this comment, it is sucking the life out of me.</description>
		<content:encoded><![CDATA[<p>I tend to have had almost exactly the opposite experiences as you have.  In my experience, it has generally been the &#8217;senior&#8217; developers that write the most disgusting and unmaintainable code.  And the real problem is, they have no idea how awful they are at their jobs.  </p>
<p>The reason for this, and this is where I agree with you, is most of these &#8217;senior&#8217; programmers have spent little time maintaining others&#8217; code, have rarely, if ever, had their own code reviewed by peers, and have likely never jointly coded projects.  In fact, the only consulting with others has been in the months of meetings before a small to medium sized project begins &#8216;designing&#8217; the &#8217;system&#8217;, with everyone attempting to assert their prowess in theoretical algorithm design (no math, no psuedocode, noting pertaining to the problem at hand, only gibberish and nonsense).  </p>
<p>And the worst thing?  The managers have not written code in 25 years yet consider themselves to be excellent programmers.  They&#8217;ve never seen any of the code their current or past programmers have written, and are shocked to hear that all of the code in that has been written on their watch is unmaintainable spaghetti, because hey, it worked, right?  Well, it sort of worked anyways.  Except that&#8217;s only because the &#8216;junior&#8217; programmers have been fixing the myriad MAJOR bugs in these systems for all these years, while the senior programmers worked on their next &#8216;masterpiece&#8217;.</p>
<p>While I am more experienced than anyone I currently work with, and more experienced than most that I have worked with in my life, I again find myself in the &#8216;junior&#8217; programmer position, as the newest programmer at the healthcare institution I have now been with for a year.  It is extremely frustrating trying to deal with old fogies who really and truly believe they are some of the best programmers in the world, yet cannot seem to grasp why when using an object oriented language, 2500 lines of code that do 30 different things should not be stuffed into one method, and maybe that shouldn&#8217;t be the only method in the class, and maybe your display logic and your data access logic and your business rules logic shouldn&#8217;t be all mixed up in the blender that is your code, but I digress.</p>
<p>You are spot on regarding code reviews, though in my experience they are generally of more benefit to the &#8217;senior&#8217; citizens, I mean developers.  The idea should always be knowledge exchange.  Learning from the mistakes of others, seeing how they use code, and sharing your expertise, that is what makes developers better, and that is what makes a strong, maintainable code base.</p>
<p>For the last 10 years I have been in the enterprise, so that may explain the difference in our experiences.  It is no place for those of us that really care about code.  I would guess that you may work at a software company, and your story would ring far truer in that world.  That world, unfortunately, is one that I only get to experience evenings and weekends.  Not too much longer though, I hope.  As is evident in this comment, it is sucking the life out of me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: armw4</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-253</link>
		<dc:creator>armw4</dc:creator>
		<pubDate>Thu, 17 Sep 2009 04:31:04 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-253</guid>
		<description>&lt;a href=&quot;#comment-115&quot; rel=&quot;nofollow&quot;&gt;@WeaponsTheyFear&lt;/a&gt; 
I strongly agree. They feel like they know everything, and it&#039;s either their way or the highway.</description>
		<content:encoded><![CDATA[<p><a href="#comment-115" rel="nofollow">@WeaponsTheyFear</a><br />
I strongly agree. They feel like they know everything, and it&#8217;s either their way or the highway.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Melle Koning Blog &#187; Head First &#8211; Read them now</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-247</link>
		<dc:creator>Melle Koning Blog &#187; Head First &#8211; Read them now</dc:creator>
		<pubDate>Thu, 27 Aug 2009 18:07:54 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-247</guid>
		<description>[...] Marcel already describes in his post about how to get junior programmers in your team productive fast, he is rightfully saying that For the love of god, RECOMMEND BOOKS! When I first started, I tried [...]</description>
		<content:encoded><![CDATA[<p>[...] Marcel already describes in his post about how to get junior programmers in your team productive fast, he is rightfully saying that For the love of god, RECOMMEND BOOKS! When I first started, I tried [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ash</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-231</link>
		<dc:creator>Ash</dc:creator>
		<pubDate>Wed, 24 Jun 2009 09:08:40 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-231</guid>
		<description>I truly agree that people should not let others drive the code which may end up in a mess. 
People should not feel offended when they are taught or guided by the experts (which generally are their superiors). Nice article, thanks for sharing.</description>
		<content:encoded><![CDATA[<p>I truly agree that people should not let others drive the code which may end up in a mess.<br />
People should not feel offended when they are taught or guided by the experts (which generally are their superiors). Nice article, thanks for sharing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Azizi Yazit</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-223</link>
		<dc:creator>Azizi Yazit</dc:creator>
		<pubDate>Tue, 19 May 2009 04:41:26 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-223</guid>
		<description>&lt;a href=&quot;#comment-115&quot; rel=&quot;nofollow&quot;&gt;@WeaponsTheyFear&lt;/a&gt; 
Yups! And we need to provide a test.</description>
		<content:encoded><![CDATA[<p><a href="#comment-115" rel="nofollow">@WeaponsTheyFear</a><br />
Yups! And we need to provide a test.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Azizi Yazit</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-222</link>
		<dc:creator>Azizi Yazit</dc:creator>
		<pubDate>Tue, 19 May 2009 04:30:33 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-222</guid>
		<description>To all.

I think the best solution is use the framework. Whether the juniors write wrong or not, if it run correctly, it means that he/she (the junior) follow all the instructions. Especially when they using Struts. Even there is a lots of work. If they are NOT following the procedure using the framework(for example, bind the ActionForm, Controller and forward request at the struts-config.xml), there is no way they will success run the code.</description>
		<content:encoded><![CDATA[<p>To all.</p>
<p>I think the best solution is use the framework. Whether the juniors write wrong or not, if it run correctly, it means that he/she (the junior) follow all the instructions. Especially when they using Struts. Even there is a lots of work. If they are NOT following the procedure using the framework(for example, bind the ActionForm, Controller and forward request at the struts-config.xml), there is no way they will success run the code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://codeofdoom.com/wordpress/2009/03/16/dont-let-junior-programmers-cowboy-code/comment-page-1/#comment-200</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Wed, 29 Apr 2009 04:16:12 +0000</pubDate>
		<guid isPermaLink="false">http://codeofdoom.com/wordpress/?p=350#comment-200</guid>
		<description>I have been coding for fifteen years, and I partly agree. The fact of the matter is that there are no standards (well globally) in this constantly changing industry and that makes everyone a greenhorn. There is no right or wrong with programming. There is only the spec, and if it is met then the work is correct. I have met coders who have risen through the ranks of particular companies only to come out the other side with (IMHO) rediculous methodologies. Do your own homework and question everything.</description>
		<content:encoded><![CDATA[<p>I have been coding for fifteen years, and I partly agree. The fact of the matter is that there are no standards (well globally) in this constantly changing industry and that makes everyone a greenhorn. There is no right or wrong with programming. There is only the spec, and if it is met then the work is correct. I have met coders who have risen through the ranks of particular companies only to come out the other side with (IMHO) rediculous methodologies. Do your own homework and question everything.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
