<?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>Professional PHP &#187; career</title>
	<atom:link href="http://www.procata.com/blog/archives/tag/career/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.procata.com/blog</link>
	<description>PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.</description>
	<lastBuildDate>Fri, 10 Dec 2010 17:23:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Expert and Novice Programmers</title>
		<link>http://www.procata.com/blog/archives/2005/05/10/expert-programmers/</link>
		<comments>http://www.procata.com/blog/archives/2005/05/10/expert-programmers/#comments</comments>
		<pubDate>Wed, 11 May 2005 04:22:24 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Agile Methods]]></category>
		<category><![CDATA[Software Design]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[cognitive-science]]></category>
		<category><![CDATA[programmer-education]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2005/05/10/expert-programmers/</guid>
		<description><![CDATA[An article on Java World, Hiring the phantom Java architect, sparked an interesting debate at the server side regarding what it means to be a developer versus an architect.  I very much dislike the term architect and like to think of this instead in terms of programming skill level.
Cognitive science research on problem solving [...]]]></description>
			<content:encoded><![CDATA[<p>An article on Java World, <a href="http://www.javaworld.com/javaworld/jw-05-2005/jw-0509-architect.html">Hiring the phantom Java architect</a>, sparked an interesting <a href="http://www.theserverside.com/news/thread.tss?thread_id=33809">debate at the server side</a> regarding what it means to be a developer versus an architect.  I very much dislike the term architect and like to think of this instead in terms of programming skill level.</p>
<p>Cognitive science research on problem solving tries to examine the difference between experts and novices in a domain.  Rather than distinguish between developers and architects, I think it is better to distinguish between experts and novices at programming.  The Dreyfus model of skill acquisition details five skill levels to help in this task.  Here is a summary from <a href="http://www.codinghorror.com/blog/archives/000203.html">Coding Horror</a>:</p>
<blockquote><p>
Level 1: Beginner</p>
<ul>
<li>Little or no previous experience</li>
<li>Doesn&#8217;t want to learn: wants to accomplish a goal</li>
<li>No discretionary judgement</li>
<li>Rigid adherence to rules</li>
</ul>
<p>Level 2: Advanced Beginner</p>
<ul>
<li>Starts trying tasks on their own</li>
<li>Has difficulty troubleshooting</li>
<li>Wants information fast</li>
<li>Can place some advice in context required</li>
<li>Uses guidelines, but without holisitic understanding</li>
</ul>
<p>Level 3: Competent</p>
<ul>
<li>Develops conceptual models</li>
<li>Troubleshoots on their own</li>
<li>Seeks out expert advice</li>
<li>Sees actions at least partially in terms of long-term plans and goals</li>
</ul>
<p>Level 4: Proficient</p>
<ul>
<li>Guided by maxims applied to the current situation</li>
<li>Sees situations holistically</li>
<li>Will self-correct based on previous performance</li>
<li>Learns from the experience of others</li>
<li>Frustrated by oversimplified information</li>
</ul>
<p>Level 5: Expert</p>
<ul>
<li>No longer relies on rules, guidelines, or maxims</li>
<li>Works primarily from intuition</li>
<li>Analytic approaches only used in novel situations or when problems occur</li>
<li>When forced to follow set rules, performance is degraded</li>
</ul>
</blockquote>
<p>The Java World article laments about companies that advertise for experts, but don&#8217;t interview for it.  I have to say this struck a nerve with me.  <a href="http://shiflett.org/archive/115">Multiple choice</a> tests like the <a href="http://www.zend.com/store/education/certification/zend-php-certification.php">Zend Certification</a> disappoint me.  Tests like this don&#8217;t measure skill on this scale at all, they measure exposure.</p>
<p>In the past, I&#8217;ve used a coding sample as an interview question.  The code, about 250 lines, was distilled from an existing system and is horribly bad in so very many ways, but functional.  By showing the code to an interviewee and asking them what they would do to improve it, I found I could get a good idea of their skill level.  Novices simply had no idea what to do with it and would just move code around.  Sometimes they would insert comments, trying to make the code &#8220;better.&#8221;  Some candidates only found and fixed one problem (there were several major ones.)  No one fixed all the problems.  The one person that I interviewed and didn&#8217;t have look at the code (for time reasons), we had to let go.  He simply fooled us at his interview about his skill level.  The thing is that I am certain he could have passed a Delphi certification test.  (like the one I took at Brain Bench.)</p>
<p>Moving from novice to expert programmer takes a very long time.  From <a href="http://norvig.com/21-days.html">Teach Yourself Programming in Ten Years</a>:</p>
<blockquote><p>
Researchers (Hayes, Bloom) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music. In another genre, the Beatles seemed to burst onto the scene with a string of #1 hits and an appearance on the Ed Sullivan show in 1964. But they had been playing small clubs in Liverpool and Hamburg since 1957, and while they had mass appeal early on, their first great critical success, Sgt. Peppers, was released in 1967. Samuel Johnson thought it took longer than ten years: &#8220;Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.&#8221; And Chaucer complained &#8220;the lyf so short, the craft so long to lerne.&#8221;
</p></blockquote>
<p>So you can&#8217;t become an expert without experience.  However, you can have experience without becoming an expert.  Some people just put in their time and never develop themselves.  So these people may have the answers to the certification trivia question for their specific environment and be able to get past the HR resume screeners with their buzzword detectors, but they will not have the impact that a true expert would have in the same situation.  Just like our Delphi Dud.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2005/05/10/expert-programmers/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
	</channel>
</rss>

