<?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: Programmer Competency Matrix &#8211; 32 attributes to evaluate programmers</title>
	<atom:link href="http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/</link>
	<description>Perspectives on Computer Science and Software Engineering</description>
	<lastBuildDate>Sat, 28 Jan 2012 13:43:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Víctor M. Valenzuela</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-3535</link>
		<dc:creator>Víctor M. Valenzuela</dc:creator>
		<pubDate>Sun, 30 Oct 2011 16:31:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-3535</guid>
		<description>This is the single most motivating thing I&#039;ve seen in - well I can&#039;t even remember how much. Thank you.

The only point I&#039;d strongly disagree with is deep API usage knowledge. The whole point of APIs is to just take them as you go, when you need them, in a no-brainer way - hence all the authors&#039; efforts on naming, parameters, functionality description, local organization into packages... Browsing the source of the Java class library is much more worthy of one&#039;s time than memorizing a bunch of method signatures.</description>
		<content:encoded><![CDATA[<p>This is the single most motivating thing I&#8217;ve seen in &#8211; well I can&#8217;t even remember how much. Thank you.</p>
<p>The only point I&#8217;d strongly disagree with is deep API usage knowledge. The whole point of APIs is to just take them as you go, when you need them, in a no-brainer way &#8211; hence all the authors&#8217; efforts on naming, parameters, functionality description, local organization into packages&#8230; Browsing the source of the Java class library is much more worthy of one&#8217;s time than memorizing a bunch of method signatures.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Mucchiello</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2702</link>
		<dc:creator>Joe Mucchiello</dc:creator>
		<pubDate>Wed, 03 Feb 2010 22:02:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2702</guid>
		<description>The Database knowledge row is woefully inadequate. Programmers a step above 2^n, your n^2 level, generally have no idea what ACID stands for, let alone anything further up the chart. n^2 should be &quot;Basic competence in SQL. Can design tables for simple task. Has heard of Indexes.&quot; Then shift the exist n^2 and n right one place. Parts of level logn reads more like a DBA job description than a programmer competence description and doesn&#039;t belong on the chart.

Similarly, you 2^n blob level is wrong too. Most low-competency programmers have no idea there are programming blogs. I know some folks who hit logn status in parts of your matrix who would respond &quot;Really? There are programming blogs?&quot; if asked what they read.</description>
		<content:encoded><![CDATA[<p>The Database knowledge row is woefully inadequate. Programmers a step above 2^n, your n^2 level, generally have no idea what ACID stands for, let alone anything further up the chart. n^2 should be &#8220;Basic competence in SQL. Can design tables for simple task. Has heard of Indexes.&#8221; Then shift the exist n^2 and n right one place. Parts of level logn reads more like a DBA job description than a programmer competence description and doesn&#8217;t belong on the chart.</p>
<p>Similarly, you 2^n blob level is wrong too. Most low-competency programmers have no idea there are programming blogs. I know some folks who hit logn status in parts of your matrix who would respond &#8220;Really? There are programming blogs?&#8221; if asked what they read.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Rodrigues</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2689</link>
		<dc:creator>Kevin Rodrigues</dc:creator>
		<pubDate>Sat, 09 Jan 2010 09:02:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2689</guid>
		<description>That is a helpful programmer competency matrix. I would like to set this up as a goal to move as close to level 2 as possible in about a year. Perhaps mentors should show this matrix to beginners and give them a rough idea about what they should do to become better programmers.

I found a similar matrix created by an organization. You can find it on my blog at http://kevinrodrigues.com/blog/2009/12/28/what-skills-should-a-good-developer-possess/</description>
		<content:encoded><![CDATA[<p>That is a helpful programmer competency matrix. I would like to set this up as a goal to move as close to level 2 as possible in about a year. Perhaps mentors should show this matrix to beginners and give them a rough idea about what they should do to become better programmers.</p>
<p>I found a similar matrix created by an organization. You can find it on my blog at <a href="http://kevinrodrigues.com/blog/2009/12/28/what-skills-should-a-good-developer-possess/" rel="nofollow">http://kevinrodrigues.com/blog/2009/12/28/what-skills-should-a-good-developer-possess/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Dymitruk</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2686</link>
		<dc:creator>Adam Dymitruk</dc:creator>
		<pubDate>Wed, 30 Dec 2009 20:28:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2686</guid>
		<description>The problem with this whole thing is the lack of #ux (user experience and usability). All the points made are moot if you&#039;re building /the wrong product/.

Some other things to point out:
DVCS: lacking for the level of knowledge needed at a &quot;log n&quot; level. Rebasing with GIT or scripting something in SVN to act like GIT&#039;s bisect functionality.
also missing. ability to work with branch-per-feature, merging strategies, VCS hooks and custom attributes.
architecture part is missing. No mention of DDD or description of where OO came from and why
IoC, DI, the rest of SOLID. AOP
where to use and where not to use
where and why RAD is good / bad
IDE is very shortsighted making custom macros look like a holy grail. Refactoring tools like IntelliJ IDEA, Resharper, Refactor Pro, Code Rush?

Just initial thoughts, I tweeted the same thing but may have left something out.

Otherwise, a great place to start discussion.

Adam</description>
		<content:encoded><![CDATA[<p>The problem with this whole thing is the lack of #ux (user experience and usability). All the points made are moot if you&#8217;re building /the wrong product/.</p>
<p>Some other things to point out:<br />
DVCS: lacking for the level of knowledge needed at a &#8220;log n&#8221; level. Rebasing with GIT or scripting something in SVN to act like GIT&#8217;s bisect functionality.<br />
also missing. ability to work with branch-per-feature, merging strategies, VCS hooks and custom attributes.<br />
architecture part is missing. No mention of DDD or description of where OO came from and why<br />
IoC, DI, the rest of SOLID. AOP<br />
where to use and where not to use<br />
where and why RAD is good / bad<br />
IDE is very shortsighted making custom macros look like a holy grail. Refactoring tools like IntelliJ IDEA, Resharper, Refactor Pro, Code Rush?</p>
<p>Just initial thoughts, I tweeted the same thing but may have left something out.</p>
<p>Otherwise, a great place to start discussion.</p>
<p>Adam</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michiel van der Blonk</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2685</link>
		<dc:creator>Michiel van der Blonk</dc:creator>
		<pubDate>Mon, 28 Dec 2009 16:23:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2685</guid>
		<description>I don&#039;t really agree with the way this is setup. You should really get down to the essentials of programming. You mention books like Code Complete, yet you fail to take it&#039;s advice (traits of a good programmer). Traits are way more important than tool or even language knowledge. Communication is one. Depending on the situation (programming games, space shuttles, web apps, bookkeeping) influences what you need to know. Knowing a gazillion languages doesn&#039;t help in a project if you&#039;re working in only one. Patterns should emerge out of good design and common sense, not memorized etc. And I am not putting it down because I don&#039;t understand the matrix, I do. Most modern languages used nowadays are imperative OO (Java, PHP, .NET) so it would help to master at least that.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t really agree with the way this is setup. You should really get down to the essentials of programming. You mention books like Code Complete, yet you fail to take it&#8217;s advice (traits of a good programmer). Traits are way more important than tool or even language knowledge. Communication is one. Depending on the situation (programming games, space shuttles, web apps, bookkeeping) influences what you need to know. Knowing a gazillion languages doesn&#8217;t help in a project if you&#8217;re working in only one. Patterns should emerge out of good design and common sense, not memorized etc. And I am not putting it down because I don&#8217;t understand the matrix, I do. Most modern languages used nowadays are imperative OO (Java, PHP, .NET) so it would help to master at least that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: akrasia</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2499</link>
		<dc:creator>akrasia</dc:creator>
		<pubDate>Tue, 30 Jun 2009 13:30:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2499</guid>
		<description>Regarding James Hawk III&#039;s comments - I think these are a unnecessary viscous (and probably shows someones belief in their own self importance). I&#039;ve been developing real-time embedded systems for both military and commercial systems since the mid-1980&#039;s (and no I haven&#039;t &quot;changed the face&quot; of those). Yes I agree that maybe the chart is based more on knowledge rather than competency (competency - the proven ability to use knowledge, skills and other abilities to perform a function against a given standard in work), but this is very common confusion (see Microsoft MCSE etc.). The other thing that could be improved is clarifying the target domain (many of the things there aren&#039;t applicable to real-time embedded systems) - e.g. what type of applications. I worry about James&#039; managerial style if doesn&#039;t understand the basics of constructive feedback - let&#039;s see your attempt then? Overall it&#039;s a good first attempt and gives a useful vehicle for discussion (as per Sam&#039;s feedback).</description>
		<content:encoded><![CDATA[<p>Regarding James Hawk III&#8217;s comments &#8211; I think these are a unnecessary viscous (and probably shows someones belief in their own self importance). I&#8217;ve been developing real-time embedded systems for both military and commercial systems since the mid-1980&#8242;s (and no I haven&#8217;t &#8220;changed the face&#8221; of those). Yes I agree that maybe the chart is based more on knowledge rather than competency (competency &#8211; the proven ability to use knowledge, skills and other abilities to perform a function against a given standard in work), but this is very common confusion (see Microsoft MCSE etc.). The other thing that could be improved is clarifying the target domain (many of the things there aren&#8217;t applicable to real-time embedded systems) &#8211; e.g. what type of applications. I worry about James&#8217; managerial style if doesn&#8217;t understand the basics of constructive feedback &#8211; let&#8217;s see your attempt then? Overall it&#8217;s a good first attempt and gives a useful vehicle for discussion (as per Sam&#8217;s feedback).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: erithion</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2490</link>
		<dc:creator>erithion</dc:creator>
		<pubDate>Mon, 18 May 2009 13:59:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2490</guid>
		<description>James Hawk III, thank you for your comment on this!</description>
		<content:encoded><![CDATA[<p>James Hawk III, thank you for your comment on this!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Ahn</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2470</link>
		<dc:creator>Sam Ahn</dc:creator>
		<pubDate>Sat, 11 Apr 2009 06:38:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2470</guid>
		<description>I like the idea of the competency matrix and I think it could be very useful. There are a few topics I would add to the matrix somewhere. I know some of these are more from a software project management perspective, and I don&#039;t know if you had intended to capture that in your matrix. However, since some people are going to want to use this matrix in order to gain the skills to climb up the ladder, adding software project management to the list of skills could be useful. 

Software process, lifecycles, process improvement (e.g. agile, XP, SCRUM, RUP, TSP, CMMI). Software architecture documentation (e.g. UML notations, component-and-connector diagrams). Software architecture and design (e.g. design patterns, architectural styles). Formal methods (OCL, Z, Petri Nets, rate monotonic analysis). Static analysis. Software project estimation (use case points, function points, COCOMO). Requirements documentation (use cases, user stories, quality attributes and quality attribute scenarios, paper prototypes). Project planning and management (work breakdown structures, earned value analysis). Risk management.</description>
		<content:encoded><![CDATA[<p>I like the idea of the competency matrix and I think it could be very useful. There are a few topics I would add to the matrix somewhere. I know some of these are more from a software project management perspective, and I don&#8217;t know if you had intended to capture that in your matrix. However, since some people are going to want to use this matrix in order to gain the skills to climb up the ladder, adding software project management to the list of skills could be useful. </p>
<p>Software process, lifecycles, process improvement (e.g. agile, XP, SCRUM, RUP, TSP, CMMI). Software architecture documentation (e.g. UML notations, component-and-connector diagrams). Software architecture and design (e.g. design patterns, architectural styles). Formal methods (OCL, Z, Petri Nets, rate monotonic analysis). Static analysis. Software project estimation (use case points, function points, COCOMO). Requirements documentation (use cases, user stories, quality attributes and quality attribute scenarios, paper prototypes). Project planning and management (work breakdown structures, earned value analysis). Risk management.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeswin</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2466</link>
		<dc:creator>Jeswin</dc:creator>
		<pubDate>Fri, 10 Apr 2009 12:25:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2466</guid>
		<description>This appeared to be a Microsoft Technologies Competency Matrix. Reading SICP or the Little Schemer does not get you to level 3 in the other crowd.  SICP is introductory material.

- Is able to effectively communicate with peers - is a Level 2 skill? 
- Writing a framework means little; Most &quot;Architects&quot; i have seen have written one. Mostly unusable. 
- File has license header, summary, well commented, consistent white space usage. The file should look beautiful?
- Scott Hanselman&#039;s Power Tools list?
- ....

I guess the list is partly valid within the Microsoft-Technology + IT Services context.</description>
		<content:encoded><![CDATA[<p>This appeared to be a Microsoft Technologies Competency Matrix. Reading SICP or the Little Schemer does not get you to level 3 in the other crowd.  SICP is introductory material.</p>
<p>- Is able to effectively communicate with peers &#8211; is a Level 2 skill?<br />
- Writing a framework means little; Most &#8220;Architects&#8221; i have seen have written one. Mostly unusable.<br />
- File has license header, summary, well commented, consistent white space usage. The file should look beautiful?<br />
- Scott Hanselman&#8217;s Power Tools list?<br />
- &#8230;.</p>
<p>I guess the list is partly valid within the Microsoft-Technology + IT Services context.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sijin</title>
		<link>http://www.indiangeek.net/2008/04/30/programmer-competency-matrix/comment-page-1/#comment-2461</link>
		<dc:creator>sijin</dc:creator>
		<pubDate>Fri, 10 Apr 2009 01:07:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.indiangeek.net/?p=360#comment-2461</guid>
		<description>Hi James,

Thanks for your inputs, This post was written a year back and I already think that some of the stuff in here is obsolete or needs revision. I can only write based on the experience that I have right now and hopefully a few years from now I can come up with a better matrix that covers more of the &quot;getting things done&quot; aspects that you talk about (which I agree are very important as well)</description>
		<content:encoded><![CDATA[<p>Hi James,</p>
<p>Thanks for your inputs, This post was written a year back and I already think that some of the stuff in here is obsolete or needs revision. I can only write based on the experience that I have right now and hopefully a few years from now I can come up with a better matrix that covers more of the &#8220;getting things done&#8221; aspects that you talk about (which I agree are very important as well)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

