<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sankofa &#187; Programmers</title>
	<atom:link href="http://blog.ianuy.com/tag/programmers/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ianuy.com</link>
	<description>From Script Kiddie to Professional Software Developer</description>
	<lastBuildDate>Fri, 31 Dec 2010 17:42:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>On the High Turnover Rate of Software Developers or How to Retain your Best Software Developers and Programmers</title>
		<link>http://blog.ianuy.com/2010/09/26/on-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers/</link>
		<comments>http://blog.ianuy.com/2010/09/26/on-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 11:10:40 +0000</pubDate>
		<dc:creator>Ian Uy</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Job]]></category>
		<category><![CDATA[Programmers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.ianuy.com/?p=943</guid>
		<description><![CDATA[
 It is not exactly news that programmers love to quit their job. It is an industry-wide obsession. The annual turnover rate for the High-Tech industry in 2008 is a little bit above 20% (2 out of 10 employees quit every year). A typical programmer on a typical software company stays for about 23 months [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:70px;" allowTransparency="true"></iframe><br />
<a href="http://blog.ianuy.com/wp-content/uploads/2010/09/resign.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_resign" src="http://blog.ianuy.com/wp-content/uploads/2010/09/resign_thumb.jpg" border="0" alt="_resign" width="278" height="278" /></a> It is not exactly news that programmers love to quit their job. It is an industry-wide obsession. The annual turnover rate for the High-Tech industry in <a title="Turnover data collected by CompData" href="http://compforce.typepad.com/compensation_force/2009/03/2008-turnover-rates-by-industry.html" target="_blank">2008</a> is a little bit above 20% (2 out of 10 employees quit every year). A typical programmer on a typical software company stays for about 23 months on average. For an employer, these figures are scary – especially if you employ skilled workers such as programmers and software developers. High turnover rates of skilled professionals can pose as a risk to the business or organization, due to the human capital (such as skills, training, and knowledge) lost.</p>
<p>Having been a newbie software developer (and I’m still fairly “new”), I did not understood why software developers in our company are quitting. Having been a fresh graduate, I was, then, still amazed by the fact that there are people out there in the real world that will pay me real world money just to write code – a hobby that I will do for free. I was puzzled. We are working in an environment that fosters creativity and innovation, a company that strictly subscribes to the “<a title="Thou shall have two monitors!" href="http://www.codinghorror.com/blog/2006/08/the-programmers-bill-of-rights.html" target="_blank">programmers’ bill of rights</a>”, and a company that scores high in the <a title="Hell yeah, we use souce control. Who doesn't?" href="http://www.joelonsoftware.com/articles/fog0000000043.html" target="_blank">Joel Test</a> (11/12).  Those, plus the fact that we can surf Facebook anytime and drink all the brewed coffee in the pantry, made me believe that this is the best company to work for locally; it made me believe that anyone leaving our company is insane.</p>
<p><a href="http://blog.ianuy.com/wp-content/uploads/2010/09/1783Hackers_and_Painters_Big_Ideas_from_the_Computer_Age.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_1783-Hackers_and_Painters_Big_Ideas_from_the_Computer_Age" src="http://blog.ianuy.com/wp-content/uploads/2010/09/1783Hackers_and_Painters_Big_Ideas_from_the_Computer_Age_thumb.jpg" border="0" alt="_1783-Hackers_and_Painters_Big_Ideas_from_the_Computer_Age" width="159" height="242" /></a> Just a few months after starting my job (I had my internship there for 6 months), one of the <strong>bestest</strong> programmer I know (he’s actually a “software architect”, but hates being called one), my mentor when I was still an intern, filed his letter of resignation. This guy is one of the most passionate programmer I know. He gets it. <a title="Hackers and Painters" href="http://blog.ianuy.com/2009/09/17/ordinary-programmers-vs-great-hackers/" target="_blank">Paul Graham</a> classifies him as a hacker and he actually worked for Microsoft (in Redmond, not the local whatever-they-are-doing-there branch).</p>
<p>For some, asking people why they quit their job is taboo; I actually enjoy having those type of conversation. Gives me insight. So I asked the fallen hacker, “<strong>Why did you quit?</strong>”. He pointed to the picture of his new born baby (his desktop wallpaper) and said with an enthusiastic smile “<strong>He is my new priority</strong>”. He then explained to me, in a fashion that I would understand, why working overseas means “better opportunity” for his family. Being a bit unconvinced with his explanation, I asked him “<strong>Is that all? Better opportunity</strong>?” and he replied back with a playful smile, “<strong>In my new job, I will be able to code again. I will no longer be a ‘Word Programmer’”</strong>. He has always joked about being a Word Programmer – programming in Microsoft Word using narrative texts (use cases, scenarios, etc) and <a title="Those documents with boxes and lines and tiny little captions" href="http://en.wikipedia.org/wiki/Unified_Modeling_Language" target="_blank">UML diagrams</a>; programming by story telling. He was indeed a hacker.</p>
<p>Having spent a year and a half on this job, I can say that I now have a vague idea on why programmers (or I.T people, in general) quit. Even though I’m only a year-and-half year old in corporate servitude, I had been handled by four managers and had been transferred to four teams and that gave me great insights on the crucial dynamics that affects employee turnovers. In my year-and-half stay, I have seen three managers, a project manager, two architects, four senior developers and a handful of intermediate developers go. Just a few months ago, four of my teammates left. The statistics above is a little off; <strong>it is more than 20%</strong>.</p>
<p><span id="more-943"></span></p>
<h1>So why do programmers quit?</h1>
<p><a href="http://blog.ianuy.com/wp-content/uploads/2010/09/twofactormodel.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_two-factor-model" src="http://blog.ianuy.com/wp-content/uploads/2010/09/twofactormodel_thumb.png" border="0" alt="_two-factor-model" width="459" height="341" /></a> There are a lot of <a title="Models of Turnover" href="http://en.wikipedia.org/wiki/Turnover_%28employment%29#Models_of_turnover" target="_blank">models</a> that scientifically explains turnover, but most of them does not really cover the programmers psyche because most of them are written three decades ago. These <a title="Two factor theory" href="http://en.wikipedia.org/wiki/Two_factor_theory" target="_blank">models</a> are not exactly wrong; they just don’t capture how programmers think and react.</p>
<p>So let me present to you my model. Let’s call it the Programmer Turnover Model. There are only two controlling variables on this model: <strong>Opportunities</strong> and <strong>Grievances</strong>. When these two factors achieve “equilibrium” (fancy word eh?), the employee will finally pull the trigger and call it quits. Seldom do I see or hear that a programmer quits just by one of these controlling variables; <strong>it is usually a combination of both</strong>. But it is not unheard of that an employee quits just because of opportunities or grievances: If you’re boss is verbally abusing (Grievances) you everyday, that is enough reason to quit.</p>
<h2>Opportunities</h2>
<p><strong><a href="http://blog.ianuy.com/wp-content/uploads/2010/09/grassgreener.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_grass-greener" src="http://blog.ianuy.com/wp-content/uploads/2010/09/grassgreener_thumb.jpg" border="0" alt="_grass-greener" width="349" height="286" /></a> </strong><strong>Opportunities</strong> are the voice inside us that always yells “The grass is greener on the other side”. It is the greedy side of the human emotion. It is the human emotion that seeks larger paychecks and better benefits.</p>
<p><strong>Programmers have all the incentives in the world to quit</strong>. In fact, if you want to suddenly increase your salary, all you have to do is quit your job and find another one. A 25% increase in salary between job hops is typical. In fact, most local programmers do it. You don’t even need to be highly competent to do this; you just need to impress the interviewers and pass the interview. In an industry that caters to outsourced work (typically boring business systems) and software maintenance jobs, the bar that is being set is not that high (not “Google high”). Fact of the matter is, most grown-ups (including my mom) advice I.T. workers to just “get a few years of experience and switch jobs”.</p>
<p>Local industry culture believes that the sooner you get overseas, the better it is for you. Those programmers that work or have worked overseas are perceived to be “successful”. And what better way to increase your chance working abroad than to beef-up your resume with “experiences”? Not only that you get larger paychecks and better benefits when hopping jobs, you also <strong>get a set of fresh credentials to put into your resume</strong>. When you work for a single company, you’re stuck with their technology. And in an industry where your skills are obsolete within five years (max), being stuck in a technology is a really really bad thing for you.</p>
<p>It seems that the game is rigged for the employers. Employers are nearly powerless in stopping the greedy side of human emotion. Aside for paying large sums of cash to these spoiled programmers, they incur the risk of losing expensive human capital. All hope is not lost, the human emotion provides some form of protection against job hoppers. The loving side of the human emotion.</p>
<p>A few moments ago, I made it sound that it is so easy to job hop. Well, it is for soulless programmers (and about half of programmers are). But programmers are human too and they possess some of that soft, caring, vulnerable human emotion. People just don’t quit their job out of greediness. They are attached to their officemates, they been used to the smell of that particular brand of brewed coffee in the morning, they love how their $5 dollar computer chair squeaks when they lean back while waiting for their programs to compile, they love those once-a-month company parties, they know their way into their programs and they’re quite competent in it, they love to see their crush on the opposite cubicle, they are considered the domain expert inside the department. <strong>Humans resist change because attachments are hard to break.</strong></p>
<p>It is painful to leave a company and that is what stops most people to quit their job even if they know that there are better opportunities out there.</p>
<h2>Grievances</h2>
<p><strong><a href="http://blog.ianuy.com/wp-content/uploads/2010/09/ihatemybossbutton.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_i-hate-my-boss-button" src="http://blog.ianuy.com/wp-content/uploads/2010/09/ihatemybossbutton_thumb.jpg" border="0" alt="_i-hate-my-boss-button" width="235" height="247" /></a> </strong><strong>Grievances </strong>are the devil’s advocate that whispers “Stop taking this sh*t and quit”. <strong>Opportunities </strong>provide all the incentives in the world to switch jobs and although the touchy human emotion tells us to stay because it is painful to leave, grievances makes it justifiable and easy to quit.</p>
<p>Grievances builds up over time that’s why it’s hard to avoid it. It stacks up high. Each person have a certain threshold on how high they can keep their grievances stack before it falls down and crumble (translation: Each person can only take so much bullshit).</p>
<p>There are many forms of grievances, but all of them contributes to the metaphorical grievances stack:</p>
<ul>
<li>My company is still coding in Cobol when there are better technologies available.</li>
<li>We don’t have source control.</li>
<li>My boss is a back-seat driver. His hobbies are micromanagement and micromanagement.</li>
<li>The elevator takes forever.</li>
<li>The air conditioner is too cold.</li>
<li>The code base is so poorly written that it breaks in 27 different places when you add a single line of code. The previous developer maintaining the code base is a literal arts major.</li>
<li>We are responsible for testing our own code.</li>
<li>My teammates are bozos.</li>
<li>I hate my project. It’s not fun and exciting. It’s grunt work.</li>
<li>I have written just 150 lines of code in the last 2 years.</li>
</ul>
<p>Grievances have many forms but grievances are simply things that gets listed down in the “I do not want” column of your employees checklist.</p>
<p>The good thing about grievances is that managers and employers can manage and control them. Unlike <strong>Opportunities</strong> where employers are powerless, Grievances can be managed and controlled. It’s not easy but it’s doable. And the first thing that needs to happen is <strong>communication</strong>.</p>
<p><strong>If you’re an employer/manager working with programmers, understand that your programmers have all the incentives in the world to leave you for better opportunities. Do not make it easy for them by giving them reasons to quit.</strong></p>
<h1>The Price of Turnover in Software Development</h1>
<p><a href="http://blog.ianuy.com/wp-content/uploads/2010/09/mythicalmanmonth.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_mythical-man-month" src="http://blog.ianuy.com/wp-content/uploads/2010/09/mythicalmanmonth_thumb.jpg" border="0" alt="_mythical-man-month" width="206" height="293" /></a> In his influential book, “<a title="READ THIS NOW" href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959" target="_blank">The Mythical Man-Month</a>”, Fred Brooks emphasized the importance of <strong>Conceptual Integrity</strong> in software design and architecture:</p>
<blockquote><p>Most European cathedrals show differences in plan or architectural style between parts built in different generations by different builders. The later builders were tempted to &#8220;improve&#8221; upon the designs of the earlier ones, to reflect both changes in fashion and differences in individual taste. So the peaceful Norman transept abuts and contradicts the soaring Gothic nave, and the result proclaims the pridefulness of the builders as much as the glory of God.</p>
<p>Against these, the architectural unity of Reims stands in glorious contrast. The joy that stirs the beholder comes as much from the integrity of the design as from any particular excellences. As the guidebook tells, this integrity was achieved by the self-abnegation of eight generations of builders, each of whom sacrificed some of his ideas so that the whole might be of pure design. The result proclaims not only the glory of God, but also His power to salvage fallen men from their pride.</p>
<p>Even though they have not taken centuries to build, most programming systems reflect conceptual disunity far worse than that of cathedrals. <strong>Usually this arises not from a serial succession of master designers</strong>, <strong>but from the separation of design into many tasks done by many men</strong>.</p>
<p><strong>I will contend that conceptual integrity is the most important consideration in system design</strong>. It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas.</p></blockquote>
<p>The conceptual integrity of software is a measure of how well software conforms to a single, simple set of design principles. When done properly, it provides the most <a href="http://en.wikipedia.org/wiki/Function_%28engineering%29">functionality</a> using the simplest <a href="http://en.wikipedia.org/wiki/Programming_idiom">idioms</a>. It makes software easier to use <strong>by making it simple to create and learn</strong>.</p>
<p>Conceptual integrity is achieved when the software’s design proceeds from a small number of agreeing individuals. For software to maintain conceptual integrity, the design must be controlled by a single, small group.</p>
<p>When turnover is high, the conceptual integrity of your product is being sacrificed. And because conceptual integrity is the most important consideration in system design, having bad conceptual integrity will make your product hard to use. This in turn will affect your sales and eventually your bottom line.</p>
<p>Not only will the loss of conceptual integrity of your product negatively affects your sale, it will also affect the morale of your best programmers. High turnover rates induces the <strong><a title="The codebase stinks" href="http://en.wikipedia.org/wiki/Software_Peter_principle" target="_blank">Software Peter Principle</a></strong>:</p>
<blockquote><p>The <strong>software Peter principle</strong> is used in <a href="http://en.wikipedia.org/wiki/Software_engineering">software engineering</a> to describe a dying project which has little by little become too complex to be understood even by its own developers.</p>
<p>It is well known in the industry as a silent killer of projects, and by the time the <a href="http://en.wikipedia.org/wiki/Symptom">symptoms</a> arise it is often too late to do anything about it. Good managers can avoid this disaster by establishing clear coding practices where unnecessarily complicated code and design is avoided.</p></blockquote>
<p>When your project becomes too complex to be understood by your best programmers, they will be naturally be forced to rewrite it. They will go into their manager’s office and ask for a re-write, the manager’s will then disagree because there are no “business reasons” to do so (and maybe they are right because “<a title="Things you should never do" href="http://www.joelonsoftware.com/articles/fog0000000069.html" target="_blank">rewriting is probably the ‘single worst strategic mistake that any software company can make</a>’”), so you’re best programmers go back to their cubicle grumpy and dives into the unmaintainable piece-of-crap that is your codebase. Soon, they quit (because there are better opportunities and you gave them enough reason to leave you).</p>
<p>The managers then instruct their H.R. people to hire a new software developer to maintain the unmaintainable codebase. But since the programmer is new, and inexperienced,  he makes implementation choices that work but have unintended negative consequences. Further degrading the conceptual integrity of your product; making it increasingly difficult to understand. It’s a death spiral.</p>
<p>If there is one thing that the best programmers hate other than maintaining crappy software, it is working with incompetent programmers. And because you have a crappy codebase and you need software “maintainers” to maintain your codebase, you hire cheap, incompetent programmers and that will send you down further in the death spiral. <a title="What Happened to Yahoo?" href="http://www.paulgraham.com/yahoo.html" target="_blank">Paul Graham</a> puts it nicely in his essay “What Happened to Yahoo!”:</p>
<blockquote><p>Microsoft (back in the day), Google, and Facebook have all been obsessed with hiring the best programmers. Yahoo wasn&#8217;t. They preferred good programmers to bad ones, but they didn&#8217;t have the kind of single-minded, almost obnoxiously elitist focus on hiring the smartest people that the big winners have had.</p>
<p>Why would great programmers want to work for a company that didn&#8217;t have a hacker-centric culture, as long as there were others that did? I can imagine two reasons: if they were paid a huge amount, or if the domain was interesting and none of the companies in it were hacker-centric. Otherwise you can&#8217;t attract good programmers to work in a suit-centric culture. And without good programmers you won&#8217;t get good software, no matter how many people you put on a task, or how many procedures you establish to ensure &#8220;quality.&#8221;</p>
<p><strong>In technology, once you have bad programmers, you&#8217;re doomed.</strong> I can&#8217;t think of an instance where a company has sunk into technical mediocrity and recovered. Good programmers want to work with other good programmers. So once the quality of programmers at your company starts to drop, you enter a death spiral from which there is no recovery.</p></blockquote>
<p>Turnover reduces the conceptual integrity of your product. When there is no conceptual integrity, your product becomes hard to use and hard to maintain for programmers. The programmers maintaining the products hate the code so much that they quit. You hire new inexperienced programmers that further reduces the conceptual integrity of your product. You enter into a death spiral and you can no longer attract the best programmers because your <a title="In computer programming, code smell is any symptom in the source code of a program that possibly indicates a deeper problem." href="http://en.wikipedia.org/wiki/Code_smell" target="_blank">code stinks</a>. You enter another death spiral from which there is no recovery. <strong>That is the price of high turnover in software development: You lose your best talents then you lose your product and eventually your company.</strong></p>
<h1>How <span style="text-decoration: underline;">NOT</span> to Retain your Best Software Developers and Programmers</h1>
<p><a href="http://blog.ianuy.com/wp-content/uploads/2010/09/slavery.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_slavery" src="http://blog.ianuy.com/wp-content/uploads/2010/09/slavery_thumb.jpg" border="0" alt="_slavery" width="280" height="216" /></a> One of the most popular form of “employee retention” is Training Bonds. Although it is not legally enforceable (or if it is but the company won’t really run after you because it is expensive to sue), most bright programmers will never sign a training bond. For most hackers, a training bond is a sign that a company is being ran by “suits”. <a title="NDAs and Contracts That You Should Never Sign" href="http://www.joelonsoftware.com/articles/fog0000000071.html" target="_blank">Joel Spolsky</a> attributes training bonds to “<strong>blind loyalty</strong>”:</p>
<blockquote><p>I think that companies need to keep their employees loyal by <strong>treating them well</strong>, not by enforcing blind loyalty though a contract. I am not going to make the mistake of signing this clause again. Fortunately, with today&#8217;s shortage of qualified programmers, the balance of power today is sharply in your favor when you start a new job, and I think you have a very high chance of getting a job without signing restrictive employment clauses.</p></blockquote>
<p><a href="http://blog.ianuy.com/wp-content/uploads/2010/09/counteroffer.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_counteroffer" src="http://blog.ianuy.com/wp-content/uploads/2010/09/counteroffer_thumb.jpg" border="0" alt="_counteroffer" width="235" height="244" /></a> Another popular form of employee retention mechanism is <strong>counter-offer</strong>. Counter-offer is when your current employer gives you an offer (counter-offer) that is larger than the offer you received from the company you intend to jump to. Counter-offer is a big no-no because it sends the following message to your employee:</p>
<blockquote><p>We have not really paid you the amount you deserve. But since we really need you to stay, we are willing to pay you more. We don’t think that you deserve this, but our hands are tied.</p></blockquote>
<p>It is much worse when the news of a counter-offer leaks to your other employees. They will also feel that they are not being paid the amount they deserve, they will feel cheated and eventually quit. More turnovers, yay! <strong>Always remember the bribery never promotes loyalty</strong>.</p>
<p><a href="http://blog.ianuy.com/wp-content/uploads/2010/09/incentive_pay.jpg"><span style="color: #000000;"> </span><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="_incentive_pay" src="http://blog.ianuy.com/wp-content/uploads/2010/09/incentive_pay_thumb.jpg" border="0" alt="_incentive_pay" width="164" height="241" /></a> If you think bribing your programmers when they accomplish something extraordinary will increase their loyalty: <strong>you are wrong</strong>. A lot of <a title="Peopleware: Productive Projects and Teams" href="http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439" target="_blank">books</a> have been written on the subject of <strong><a title="Incentive Pay Considered Harmful" href="http://www.joelonsoftware.com/articles/fog0000000070.html" target="_blank">incentive pay and why it is considered harmful</a></strong>:</p>
<blockquote><p>… <strong>&#8220;incentives (or bribes) simply can&#8217;t work in the workplace&#8221;</strong>. DeMarco and Lister go further, stating unequivocally that any kind of workplace competition, any scheme of rewards and punishments, and even the old fashion trick of &#8220;catching people doing something right and rewarding them,&#8221; all do more harm than good. Giving somebody <em>positive</em> reinforcement (such as stupid company ceremonies where people get plaques) implies that they only did it for the lucite plaque; it implies that they are not independent enough to work unless they are going to get a cookie; and it&#8217;s insulting and demeaning.</p></blockquote>
<p>I know that the title says “How to Retain your Best Software Developers and Programmers”, but I was only able to give the “How NOT to do it” guide. It took me a year-and-a-half to understand what motivates programmers to quit their job. It may take me another year-and-a-half to understand how to motivate them to <strong>NOT</strong> quit their jobs. You may wait for it, or you can just read <a title="Software Development Bible" href="http://www.joelonsoftware.com/" target="_blank">Spolsky’s blog</a> for a complete guide on how to manage and retain the best programmers that you will ever find.</p>



Share and Enjoy:


	<a rel="nofollow" href="mailto:?subject=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers&amp;body=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F" title="E-mail this story to a friend!"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F&amp;title=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers&amp;bodytext=%0D%0A%20It%20is%20not%20exactly%20news%20that%20programmers%20love%20to%20quit%20their%20job.%20It%20is%20an%20industry-wide%20obsession.%20The%20annual%20turnover%20rate%20for%20the%20High-Tech%20industry%20in%202008%20is%20a%20little%20bit%20above%2020%25%20%282%20out%20of%2010%20employees%20quit%20every%20year%29.%20A%20typical%20programmer%20o" title="Digg"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F&amp;title=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers" title="Reddit"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F&amp;title=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers&amp;notes=%0D%0A%20It%20is%20not%20exactly%20news%20that%20programmers%20love%20to%20quit%20their%20job.%20It%20is%20an%20industry-wide%20obsession.%20The%20annual%20turnover%20rate%20for%20the%20High-Tech%20industry%20in%202008%20is%20a%20little%20bit%20above%2020%25%20%282%20out%20of%2010%20employees%20quit%20every%20year%29.%20A%20typical%20programmer%20o" title="del.icio.us"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitter.com/home?status=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers%20-%20http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F" title="Twitter"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://slashdot.org/bookmark.pl?title=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers&amp;url=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F" title="Slashdot"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F&amp;t=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers" title="Facebook"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F&amp;t=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers" title="MySpace"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F&amp;title=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers&amp;annotation=%0D%0A%20It%20is%20not%20exactly%20news%20that%20programmers%20love%20to%20quit%20their%20job.%20It%20is%20an%20industry-wide%20obsession.%20The%20annual%20turnover%20rate%20for%20the%20High-Tech%20industry%20in%202008%20is%20a%20little%20bit%20above%2020%25%20%282%20out%20of%2010%20employees%20quit%20every%20year%29.%20A%20typical%20programmer%20o" title="Google Bookmarks"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fblog.ianuy.com%2F2010%2F09%2F26%2Fon-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers%2F&amp;title=On%20the%20High%20Turnover%20Rate%20of%20Software%20Developers%20or%20How%20to%20Retain%20your%20Best%20Software%20Developers%20and%20Programmers" title="DotNetKicks"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://blog.ianuy.com/2010/09/26/on-the-high-turnover-rate-of-software-developers-or-how-to-retain-your-best-software-developers-and-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What makes a great programmer?</title>
		<link>http://blog.ianuy.com/2009/04/12/what-makes-a-great-programmer/</link>
		<comments>http://blog.ianuy.com/2009/04/12/what-makes-a-great-programmer/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 10:07:27 +0000</pubDate>
		<dc:creator>Ian Uy</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Passion]]></category>
		<category><![CDATA[Programmers]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.ianuy.com/?p=57</guid>
		<description><![CDATA[Lo and Behold, I will now commit geeky heresy by confessing that&#8230;
&#8220;Programming is NOT a talent&#8221;
We, the nerds and the geeks, would like to believe that programming is a talent. That programming is&#8230; Something special. Something that cannot be learned fully. Something inherent &#8212; a gift from the gods. We would like to believe that [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: large;">Lo and Behold, I will now commit geeky heresy by confessing that&#8230;</span></p>
<div style="text-align: center;"><span style="font-size: large;">&#8220;Programming is <span style="font-weight: bold;">NOT </span>a talent&#8221;</span></div>
<div id="attachment_58" class="wp-caption aligncenter" style="width: 246px"><a href="http://blog.ianuy.com/wp-content/uploads/2009/04/beginning-programming-for-dummies.jpg"><img class="size-full wp-image-58" title="beginning-programming-for-dummies" src="http://blog.ianuy.com/wp-content/uploads/2009/04/beginning-programming-for-dummies.jpg" alt="Dummines can learn programming too." width="236" height="295" /></a><p class="wp-caption-text">Dummies can learn programming, too.</p></div>
<p><span style="font-size: large;"><span style="font-size: small;">We, the nerds and the geeks, would like to believe that programming is a talent. That programming is&#8230; Something special. Something that cannot be learned fully. Something inherent &#8212; a gift from the gods. We would like to believe that programmers are born &#8211; not made.</span></span></p>
<p><span style="font-size: large;"><span style="font-size: small;"><span id="more-57"></span>These beliefs stems from the premise that programming is an ART. Like singing or painting.</span></span></p>
<p>Let me be the one to tell you that programming is NOT a talent. However, let me stress the fact that programming is an ART and as all matters concerning art, passion separates the good from the great.</p>
<p>Programming can be learned. Programming Languages can be learned. Algorithms can be learned. Software Engineering techniques can be learned. Everything concerning programming can be learned. So what separates great programmers from <span style="font-size: large;"><span style="font-size: small;">good or mediocre </span></span><span style="font-size: large;"><span style="font-size: small;"> programmers? No, not talent. <span style="font-weight: bold;">Passion</span>.</span></span></p>
<p>Programming (or Software Development to be precise) is just building <span style="font-style: italic;">stuffs<span style="font-weight: bold;"> </span></span>for people to use&#8230; It&#8217;s a modern form of craftsmanship. Even in the old times,<span style="font-weight: bold;"> </span>craftsmanship is the vehicle for passion. <span style="font-weight: bold;">Passionate</span> people create great works, their <span style="font-style: italic;">magnum opus</span>. Passion is what separates a $5 painting to a $10,000,000 dollar one. Passion is reflected in the end product&#8230; It&#8217;s as if the heart of the creator is passed on into the product.</p>
<p>I still believe that programmers are not born &#8211; they can be made. But hear this, <span style="font-weight: bold;">Great</span> Programmers are born. Not because great programmers are born with great intellect. Not because great programmers are born with superb logical and rational thinking skills. Not because great programmers are just geniuses&#8230;</p>
<p><span style="font-size: large;">But because <span style="font-weight: bold;">GREAT</span> programmers are born with <span style="font-weight: bold;">passion</span>. The passion to create great programs.</span></p>
<p><span style="font-style: italic;"><span style="font-size: small;">&#8230;</span></span><span style="font-size: small;"> <span style="font-style: italic;">and passion can never, ever be learned.</span></span></p>
<p><!-- Site Meter --><!-- Copyright (c)2006 Site Meter --></p>



Share and Enjoy:


	<a rel="nofollow" href="mailto:?subject=What%20makes%20a%20great%20programmer%3F&amp;body=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F" title="E-mail this story to a friend!"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F&amp;title=What%20makes%20a%20great%20programmer%3F&amp;bodytext=Lo%20and%20Behold%2C%20I%20will%20now%20commit%20geeky%20heresy%20by%20confessing%20that...%0D%0A%22Programming%20is%20NOT%20a%20talent%22%0D%0A%0D%0A%0D%0AWe%2C%20the%20nerds%20and%20the%20geeks%2C%20would%20like%20to%20believe%20that%20programming%20is%20a%20talent.%20That%20programming%20is...%20Something%20special.%20Something%20that%20cannot%20b" title="Digg"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F&amp;title=What%20makes%20a%20great%20programmer%3F" title="Reddit"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F&amp;title=What%20makes%20a%20great%20programmer%3F&amp;notes=Lo%20and%20Behold%2C%20I%20will%20now%20commit%20geeky%20heresy%20by%20confessing%20that...%0D%0A%22Programming%20is%20NOT%20a%20talent%22%0D%0A%0D%0A%0D%0AWe%2C%20the%20nerds%20and%20the%20geeks%2C%20would%20like%20to%20believe%20that%20programming%20is%20a%20talent.%20That%20programming%20is...%20Something%20special.%20Something%20that%20cannot%20b" title="del.icio.us"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitter.com/home?status=What%20makes%20a%20great%20programmer%3F%20-%20http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F" title="Twitter"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://slashdot.org/bookmark.pl?title=What%20makes%20a%20great%20programmer%3F&amp;url=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F" title="Slashdot"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F&amp;t=What%20makes%20a%20great%20programmer%3F" title="Facebook"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F&amp;t=What%20makes%20a%20great%20programmer%3F" title="MySpace"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F&amp;title=What%20makes%20a%20great%20programmer%3F&amp;annotation=Lo%20and%20Behold%2C%20I%20will%20now%20commit%20geeky%20heresy%20by%20confessing%20that...%0D%0A%22Programming%20is%20NOT%20a%20talent%22%0D%0A%0D%0A%0D%0AWe%2C%20the%20nerds%20and%20the%20geeks%2C%20would%20like%20to%20believe%20that%20programming%20is%20a%20talent.%20That%20programming%20is...%20Something%20special.%20Something%20that%20cannot%20b" title="Google Bookmarks"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow" target="_blank" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fblog.ianuy.com%2F2009%2F04%2F12%2Fwhat-makes-a-great-programmer%2F&amp;title=What%20makes%20a%20great%20programmer%3F" title="DotNetKicks"><img src="http://blog.ianuy.com/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://blog.ianuy.com/2009/04/12/what-makes-a-great-programmer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

