<?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: 7 Ways To Hire Smarter Programmers</title>
	<atom:link href="http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/feed/" rel="self" type="application/rss+xml" />
	<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/</link>
	<description>Articles on VB.NET and Software Development Team Leadership</description>
	<pubDate>Sun, 14 Mar 2010 03:25:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: graffic</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-1350</link>
		<dc:creator>graffic</dc:creator>
		<pubDate>Mon, 18 May 2009 19:48:47 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-1350</guid>
		<description>@phloid: I'm glad too about not having to write stacks, queues, lists. And also use extensions like Linq to handle complex structures.

But is also true that data structures are a simplified way to work with certain type of data. Many times you find them hidden in XML documents or file structures.

Lacking the basic understanding of the node as an abstract entity. Or the idea of reference. Will you hire someone with doubts about what is a reference and/or with problems to abstract an entity?

I do know the "list" guys. This people that fix everything with array's, lists and for (or foreach) loops. From time to time they put an if in huge amounts of code. And they call that solution.

Btw, I've answered to the "reverse the linked list" question with: go an use a stack, (next question). I was hired the next week.

Is not only to solve the problem. Is how to react. If the candidate is able to come up with a nice idea... or he cries for a List with Add and Remove.

Also how the candidate tries to build the solution. Does he start to write code directly? does he first organize his ideas? does he try some basic test cases on his algorithm?

And of course, the conversation later. Does it work? what did he forget? are all cases working?

When you have to tell a candidate step by step what he has to do. He doesn't organize his ideas, he doesn't prepare test cases. He starts writing directly without thinking. And then he asks why he cannot use a List object... All yours :)

If the question is too stupid for you, just blow it up with a smart answer.</description>
		<content:encoded><![CDATA[<p>@phloid: I&#8217;m glad too about not having to write stacks, queues, lists. And also use extensions like Linq to handle complex structures.</p>
<p>But is also true that data structures are a simplified way to work with certain type of data. Many times you find them hidden in XML documents or file structures.</p>
<p>Lacking the basic understanding of the node as an abstract entity. Or the idea of reference. Will you hire someone with doubts about what is a reference and/or with problems to abstract an entity?</p>
<p>I do know the &#8220;list&#8221; guys. This people that fix everything with array&#8217;s, lists and for (or foreach) loops. From time to time they put an if in huge amounts of code. And they call that solution.</p>
<p>Btw, I&#8217;ve answered to the &#8220;reverse the linked list&#8221; question with: go an use a stack, (next question). I was hired the next week.</p>
<p>Is not only to solve the problem. Is how to react. If the candidate is able to come up with a nice idea&#8230; or he cries for a List with Add and Remove.</p>
<p>Also how the candidate tries to build the solution. Does he start to write code directly? does he first organize his ideas? does he try some basic test cases on his algorithm?</p>
<p>And of course, the conversation later. Does it work? what did he forget? are all cases working?</p>
<p>When you have to tell a candidate step by step what he has to do. He doesn&#8217;t organize his ideas, he doesn&#8217;t prepare test cases. He starts writing directly without thinking. And then he asks why he cannot use a List object&#8230; All yours :)</p>
<p>If the question is too stupid for you, just blow it up with a smart answer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jfrankcarr</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-645</link>
		<dc:creator>jfrankcarr</dc:creator>
		<pubDate>Wed, 26 Sep 2007 20:10:18 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-645</guid>
		<description>Thanks for your input phloid domino

I agree that it's more a matter of knowing what to do with a particular structure or class. That's why I'd prefer to ask someone to describe a situation where they would use a stack rather than asking them to reinvent the wheel for me.</description>
		<content:encoded><![CDATA[<p>Thanks for your input phloid domino</p>
<p>I agree that it&#8217;s more a matter of knowing what to do with a particular structure or class. That&#8217;s why I&#8217;d prefer to ask someone to describe a situation where they would use a stack rather than asking them to reinvent the wheel for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phloid domino</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-644</link>
		<dc:creator>phloid domino</dc:creator>
		<pubDate>Wed, 26 Sep 2007 19:45:53 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-644</guid>
		<description>I have hired programmers.  I have been hired as a programmer. The first time I was on the hiring side of the table,it seemed to be quite different. 

 But  that changed over time, as I came to see that the same dynamic is at work: people are trying to assess each other and get a feel for a match.

And it is a 'feel'.  In the end, you can ask or answer detailed technical questions, or any kind of questions, but usually one can feel whether things click on enough levels to go forward.

That being said, it is good to some techncial probing.  As a candidate, I always welcome a good grilling. It shows me something about who I might be working for and with. As an interviewer, it gives me a sense of how the candiate thinks and expresses themself.

But rarely should a single question be definitive.  How many times have we all seen comments like "if they can't write a stack or linked list (or reverse a string), they're no good"?  Fact is, I wrote plenty of the above over the years, and am so glad that in today's world, I don't have to.  The correct answer, in my view, is something like: "use a List (or Stack, or whatever) class; let's move on to what is it for".

In the end it's always a gamble.  You can usually tell when someone just isn't right for the job or organization, but  there's no guarantee that the person hired will work out.  Be careful, do some due dilligence, go with your gut and cross your fingers!</description>
		<content:encoded><![CDATA[<p>I have hired programmers.  I have been hired as a programmer. The first time I was on the hiring side of the table,it seemed to be quite different. </p>
<p> But  that changed over time, as I came to see that the same dynamic is at work: people are trying to assess each other and get a feel for a match.</p>
<p>And it is a &#8216;feel&#8217;.  In the end, you can ask or answer detailed technical questions, or any kind of questions, but usually one can feel whether things click on enough levels to go forward.</p>
<p>That being said, it is good to some techncial probing.  As a candidate, I always welcome a good grilling. It shows me something about who I might be working for and with. As an interviewer, it gives me a sense of how the candiate thinks and expresses themself.</p>
<p>But rarely should a single question be definitive.  How many times have we all seen comments like &#8220;if they can&#8217;t write a stack or linked list (or reverse a string), they&#8217;re no good&#8221;?  Fact is, I wrote plenty of the above over the years, and am so glad that in today&#8217;s world, I don&#8217;t have to.  The correct answer, in my view, is something like: &#8220;use a List (or Stack, or whatever) class; let&#8217;s move on to what is it for&#8221;.</p>
<p>In the end it&#8217;s always a gamble.  You can usually tell when someone just isn&#8217;t right for the job or organization, but  there&#8217;s no guarantee that the person hired will work out.  Be careful, do some due dilligence, go with your gut and cross your fingers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jfrankcarr</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-632</link>
		<dc:creator>jfrankcarr</dc:creator>
		<pubDate>Tue, 25 Sep 2007 19:57:13 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-632</guid>
		<description>Thanks Nicolas

That's really my step 1, looking for intelligence. The problem is, as I mentioned, that a lot of the basic answers and algorithms can be memorized. Sometimes it helps to throw in a twist, like only reverse the last half of the string. I've also found asking open ended questions like "How did you apply UML in your most recent project?" to work well.</description>
		<content:encoded><![CDATA[<p>Thanks Nicolas</p>
<p>That&#8217;s really my step 1, looking for intelligence. The problem is, as I mentioned, that a lot of the basic answers and algorithms can be memorized. Sometimes it helps to throw in a twist, like only reverse the last half of the string. I&#8217;ve also found asking open ended questions like &#8220;How did you apply UML in your most recent project?&#8221; to work well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicolas Birth</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-630</link>
		<dc:creator>Nicolas Birth</dc:creator>
		<pubDate>Tue, 25 Sep 2007 19:07:07 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-630</guid>
		<description>Reverse an string first iteratively and then recursively.

Can't do it?

NEXT!!!

If they can't do what you are supposed to learn in freshman year, never mind hiring incompetent people.

Also, do they do unit testing? Do they do functional testing (for example using Selenium?)???

Let them explain why it is important to remove duplicated code.

Also ask them why protoypes are important.

Ask them about UML.

If they fail one of them, do not hire.</description>
		<content:encoded><![CDATA[<p>Reverse an string first iteratively and then recursively.</p>
<p>Can&#8217;t do it?</p>
<p>NEXT!!!</p>
<p>If they can&#8217;t do what you are supposed to learn in freshman year, never mind hiring incompetent people.</p>
<p>Also, do they do unit testing? Do they do functional testing (for example using Selenium?)???</p>
<p>Let them explain why it is important to remove duplicated code.</p>
<p>Also ask them why protoypes are important.</p>
<p>Ask them about UML.</p>
<p>If they fail one of them, do not hire.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jfrankcarr</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-612</link>
		<dc:creator>jfrankcarr</dc:creator>
		<pubDate>Mon, 24 Sep 2007 16:21:57 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-612</guid>
		<description>Thanks Rodney

Sadly, I've seen prejudice of various sorts raise it's ugly head a number of times in the 20 years or so I've been working in this industry. I just hope by pointing it out enough that people who're in charge of hiring will avoid allowing themselves to think this way.</description>
		<content:encoded><![CDATA[<p>Thanks Rodney</p>
<p>Sadly, I&#8217;ve seen prejudice of various sorts raise it&#8217;s ugly head a number of times in the 20 years or so I&#8217;ve been working in this industry. I just hope by pointing it out enough that people who&#8217;re in charge of hiring will avoid allowing themselves to think this way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jfrankcarr</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-611</link>
		<dc:creator>jfrankcarr</dc:creator>
		<pubDate>Mon, 24 Sep 2007 15:58:34 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-611</guid>
		<description>Chaucerian posted this comment in the DZone comments and I thought it was worth responding to:

&lt;blockquote&gt;Sorry, but this is a load of wank. An interview situation is the most unnatural situation you can create - and the people doing the interviews will ALWAYS want to appear smarter and better than the person being interviewed, to the point (sometimes) where no matter what they ask a candidate there will never be a satisfactory answer. 

Interviews are not meant to be comfortable, however - interviewees, suck it up and hope the people in the room are not complete nob-ends - interviewers, get over yourselves, chances are the guy in front of you is at least as smart as you and look for someone's potential and cultural fit above all. If they don't have the experience and skill set at this stage then it's your fault for not doing better filtering beforehand. Oh, and how about actually *reading* the f__king resume before you show up? &lt;/blockquote&gt;

I agree that interviews are a rough experience for almost everyone. It sounds like you've had some bad interviews. I have had some awful ones too between know-it-alls, ill-prepared interviewers, and ageism. That was one of the inspirations for this article. 

As for filtering out candidates beforehand, this can be tricky. When I've been on the interviewer side I've seen a few "paper tigers". Resumes can be unreliable because a good candidate might not be a good resume writer while a poor one might have one that is embelished or professionally written for them. Not to mention the often inaccurate ones provided by recruiting firms. I prefer doing a phone interview first that's mostly skills oriented before bringing them in for a face-to-face. I've found this worked well for screening out those who don't have the skills.</description>
		<content:encoded><![CDATA[<p>Chaucerian posted this comment in the DZone comments and I thought it was worth responding to:</p>
<blockquote><p>Sorry, but this is a load of wank. An interview situation is the most unnatural situation you can create - and the people doing the interviews will ALWAYS want to appear smarter and better than the person being interviewed, to the point (sometimes) where no matter what they ask a candidate there will never be a satisfactory answer. </p>
<p>Interviews are not meant to be comfortable, however - interviewees, suck it up and hope the people in the room are not complete nob-ends - interviewers, get over yourselves, chances are the guy in front of you is at least as smart as you and look for someone&#8217;s potential and cultural fit above all. If they don&#8217;t have the experience and skill set at this stage then it&#8217;s your fault for not doing better filtering beforehand. Oh, and how about actually *reading* the f__king resume before you show up? </p></blockquote>
<p>I agree that interviews are a rough experience for almost everyone. It sounds like you&#8217;ve had some bad interviews. I have had some awful ones too between know-it-alls, ill-prepared interviewers, and ageism. That was one of the inspirations for this article. </p>
<p>As for filtering out candidates beforehand, this can be tricky. When I&#8217;ve been on the interviewer side I&#8217;ve seen a few &#8220;paper tigers&#8221;. Resumes can be unreliable because a good candidate might not be a good resume writer while a poor one might have one that is embelished or professionally written for them. Not to mention the often inaccurate ones provided by recruiting firms. I prefer doing a phone interview first that&#8217;s mostly skills oriented before bringing them in for a face-to-face. I&#8217;ve found this worked well for screening out those who don&#8217;t have the skills.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodney</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-610</link>
		<dc:creator>Rodney</dc:creator>
		<pubDate>Mon, 24 Sep 2007 15:46:57 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-610</guid>
		<description>The last bullet in Number 7 is so awesome. As an African-American, this is something that I face when interviewing for various jobs and while I can never blatantly accuse a company of discrimination, it is always amazing to see the interviewers response when they first meet me.

My most valuable response has been to be myself and answer their questions with substantiated, well reasoned discussions based on my past experiences.

Once again, thank you for including this in your entry.</description>
		<content:encoded><![CDATA[<p>The last bullet in Number 7 is so awesome. As an African-American, this is something that I face when interviewing for various jobs and while I can never blatantly accuse a company of discrimination, it is always amazing to see the interviewers response when they first meet me.</p>
<p>My most valuable response has been to be myself and answer their questions with substantiated, well reasoned discussions based on my past experiences.</p>
<p>Once again, thank you for including this in your entry.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jfrankcarr</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-607</link>
		<dc:creator>jfrankcarr</dc:creator>
		<pubDate>Mon, 24 Sep 2007 13:49:27 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-607</guid>
		<description>Thanks Mr. eel

I agree with your points. 

The assumption that you're desperate to work for them is common these days, unlike during the dotcom boom when potential employees were calling the shots. While things have evened out some now since the bust years, many employers do still act this way. The salary thing kind of plays into this as well.

The "shopping list", yes, that's a problem too. One of my pet peaves is to see someone asking for things like 10 years of .NET experience or 5 years of Ruby experience. It's obvious that the person who put together the ad didn't have a clue.

In my article I'm assuming that an organization already has the basics of interviewing down. If interviewers are unprepared or if job candidates are left cooling their heels in a conference room for 5+ minutes then getting back to the basics is called for before hiring anyone new.</description>
		<content:encoded><![CDATA[<p>Thanks Mr. eel</p>
<p>I agree with your points. </p>
<p>The assumption that you&#8217;re desperate to work for them is common these days, unlike during the dotcom boom when potential employees were calling the shots. While things have evened out some now since the bust years, many employers do still act this way. The salary thing kind of plays into this as well.</p>
<p>The &#8220;shopping list&#8221;, yes, that&#8217;s a problem too. One of my pet peaves is to see someone asking for things like 10 years of .NET experience or 5 years of Ruby experience. It&#8217;s obvious that the person who put together the ad didn&#8217;t have a clue.</p>
<p>In my article I&#8217;m assuming that an organization already has the basics of interviewing down. If interviewers are unprepared or if job candidates are left cooling their heels in a conference room for 5+ minutes then getting back to the basics is called for before hiring anyone new.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mr eel</title>
		<link>http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/comment-page-1/#comment-603</link>
		<dc:creator>Mr eel</dc:creator>
		<pubDate>Mon, 24 Sep 2007 11:47:27 +0000</pubDate>
		<guid isPermaLink="false">http://vbnotebookfor.net/2007/09/23/7-ways-to-hire-smarter-programmers/#comment-603</guid>
		<description>I would add a few more, but this time from the perspective of a potential hire:

Sell the qualities of the company. A job interview is also an opportunity for an applicant to check out a business. I've always been struck by how many employers automatically assume you are desperate to work for them and make no effort to convince you why you should want to.

Don't bullshit about salary, and actually pay people what they're worth. 'Cheap' employers have trouble holding onto staff and you would certainly have trouble getting good developers if you can't pay them properly.

DON'T TREAT AN ADVERTISEMENT AS A SHOPPING LIST. Having an employer list every skill under the sun is a sure sign they're cheap and are hoping to get one person where they should be hiring multiple. Define the job as narrowly as possible. 

Have a clear procedure to be used during an interview. A business looks pretty amateurish if they can't  structure a job interview properly.</description>
		<content:encoded><![CDATA[<p>I would add a few more, but this time from the perspective of a potential hire:</p>
<p>Sell the qualities of the company. A job interview is also an opportunity for an applicant to check out a business. I&#8217;ve always been struck by how many employers automatically assume you are desperate to work for them and make no effort to convince you why you should want to.</p>
<p>Don&#8217;t bullshit about salary, and actually pay people what they&#8217;re worth. &#8216;Cheap&#8217; employers have trouble holding onto staff and you would certainly have trouble getting good developers if you can&#8217;t pay them properly.</p>
<p>DON&#8217;T TREAT AN ADVERTISEMENT AS A SHOPPING LIST. Having an employer list every skill under the sun is a sure sign they&#8217;re cheap and are hoping to get one person where they should be hiring multiple. Define the job as narrowly as possible. </p>
<p>Have a clear procedure to be used during an interview. A business looks pretty amateurish if they can&#8217;t  structure a job interview properly.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
