Qualities that I believe make the most difference in programmers’ productivity
Everything from the original post sounds reasonable, you should absolutely read it. Just some random thoughts to add to it:<p>* For most of my past clients, the skill &#x2F; output of their programmers was <i>not</i> the bottleneck, even though they thought so. As long as something is not a bottleneck, there&#x27;s not point in trying too hard to optimize it (since you can get better ROI somewhere else).<p>* Software is a team effort. Improving how the team works together &#x2F; how work flows through the system probably has a bigger impact than raw programmer output (unless you are already <i>very good</i> at that).<p>* Improving the quality of your software (minimizing defects and rework) will improve the output of everyone in the team, regardless of how good they are.<p>* I have heard of cases where removing the &quot;top programmer&quot; from a team made the whole team <i>more</i> productive, even though an important person was missing. I don&#x27;t have data to back that up, though.<p>Update: Thinking more about this... I have a talk called &quot;Your Company Will Never be Agile&quot;, where I talk about how most companies actively prevent their people from doing a good job (by having policies, procedures and a company structure that is not suitable for empowered teams). And then, those <i>same</i> companies complain that they cannot get good people and how all the hip companies can get the 10x programmers that &quot;we cannot hire&quot;.<p>I don&#x27;t have an English recording of the talk, but I started a series of blog posts about it: <a href="http:&#x2F;&#x2F;devteams.at&#x2F;your_company_will_never_be_agile_intro" rel="nofollow">http:&#x2F;&#x2F;devteams.at&#x2F;your_company_will_never_be_agile_intro</a> . I should maybe finish it some day ;)