<?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"
	>
<channel>
	<title>Comments on: Job Interviews for Java Developers: Attention to Detail</title>
	<atom:link href="http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/</link>
	<description>Programming is hard</description>
	<pubDate>Sat, 22 Nov 2008 09:36:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: stephan</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-42927</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Thu, 06 Dec 2007 17:13:28 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-42927</guid>
		<description>@Robin: Exactly. Especially "... insight into [...] the company." I'm often astonished how little candidates want to get insight into our company. Wherever I applied for a job, at least I wanted to see where the developers where.</description>
		<content:encoded><![CDATA[<p>@Robin: Exactly. Especially &#8220;&#8230; insight into [...] the company.&#8221; I&#8217;m often astonished how little candidates want to get insight into our company. Wherever I applied for a job, at least I wanted to see where the developers where.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robin</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-42909</link>
		<dc:creator>Robin</dc:creator>
		<pubDate>Thu, 06 Dec 2007 15:11:53 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-42909</guid>
		<description>There's a lot of ranting going on about how useless this interview question is, However, there is no example or idea on what a better question would be.

Whilst it may be true that some very experienced developers would find it an insult to be asked to perform such a simple task in an interview. I personally would find it more of an insult if my full coding ability could be proven by any question in an hour long interview.

The point of the interview is to gain insight into the candidate and the company. This is all based on the types of questions asked, the way they are asked and the way they are answered. The good candidate will be the one that thought the questions were great and that answered them the way the interviewer wanted them to. This will provide a candidate who is on the same level as the interviewer which is far more important than defining any level of coding ability.

One thing to remember however, I don't care if you have 2 years experience or 20 years, one day, you might just have to reverse a string.

Robin</description>
		<content:encoded><![CDATA[<p>There&#8217;s a lot of ranting going on about how useless this interview question is, However, there is no example or idea on what a better question would be.</p>
<p>Whilst it may be true that some very experienced developers would find it an insult to be asked to perform such a simple task in an interview. I personally would find it more of an insult if my full coding ability could be proven by any question in an hour long interview.</p>
<p>The point of the interview is to gain insight into the candidate and the company. This is all based on the types of questions asked, the way they are asked and the way they are answered. The good candidate will be the one that thought the questions were great and that answered them the way the interviewer wanted them to. This will provide a candidate who is on the same level as the interviewer which is far more important than defining any level of coding ability.</p>
<p>One thing to remember however, I don&#8217;t care if you have 2 years experience or 20 years, one day, you might just have to reverse a string.</p>
<p>Robin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-42658</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 05 Dec 2007 12:07:25 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-42658</guid>
		<description>Coding Horror proved my point.

http://www.codinghorror.com/blog/archives/001008.html

Most (all?) people would write a shuffle on their own instead of reusing the JDK version.</description>
		<content:encoded><![CDATA[<p>Coding Horror proved my point.</p>
<p><a href="http://www.codinghorror.com/blog/archives/001008.html" rel="nofollow">http://www.codinghorror.com/blog/archives/001008.html</a></p>
<p>Most (all?) people would write a shuffle on their own instead of reusing the JDK version.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-41048</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Mon, 26 Nov 2007 10:23:28 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-41048</guid>
		<description>"And clearly arrogance isn’t too strong a word as you’ve already determined that “very few” know about stringbuffer reverse and “few” read blogs and articles."

To explain my comments about developers reading blogs and reading articles. Several people share my experience and opinion. 

See for example

http://www.codinghorror.com/blog/archives/001002.html

and 

http://blog.red-bean.com/sussman/?p=79

"There are two “classes” of programmers in the world of software development: I’m going to call them the 20% and the 80%. The 20% folks are what many would call “alpha” programmers [...] The 80% folks make up the bulk of the software development industry."</description>
		<content:encoded><![CDATA[<p>&#8220;And clearly arrogance isn’t too strong a word as you’ve already determined that “very few” know about stringbuffer reverse and “few” read blogs and articles.&#8221;</p>
<p>To explain my comments about developers reading blogs and reading articles. Several people share my experience and opinion. </p>
<p>See for example</p>
<p><a href="http://www.codinghorror.com/blog/archives/001002.html" rel="nofollow">http://www.codinghorror.com/blog/archives/001002.html</a></p>
<p>and </p>
<p><a href="http://blog.red-bean.com/sussman/?p=79" rel="nofollow">http://blog.red-bean.com/sussman/?p=79</a></p>
<p>&#8220;There are two “classes” of programmers in the world of software development: I’m going to call them the 20% and the 80%. The 20% folks are what many would call “alpha” programmers [...] The 80% folks make up the bulk of the software development industry.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-40328</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Thu, 22 Nov 2007 06:25:41 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-40328</guid>
		<description>Thanks for your long post, I share your experiences. "Watch them agonizing over a List interface is not my greatest pleasure in life." I know. I also try to explain the answers they don't know or help them with the exercices, so they might learn something from the interview. And it wasn't useless even if we don't take them.

"BTW, if you want to work for a financial software company in Tokyo just ping me!" Ah, Tokoyo :-)</description>
		<content:encoded><![CDATA[<p>Thanks for your long post, I share your experiences. &#8220;Watch them agonizing over a List interface is not my greatest pleasure in life.&#8221; I know. I also try to explain the answers they don&#8217;t know or help them with the exercices, so they might learn something from the interview. And it wasn&#8217;t useless even if we don&#8217;t take them.</p>
<p>&#8220;BTW, if you want to work for a financial software company in Tokyo just ping me!&#8221; Ah, Tokoyo :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-39807</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Mon, 19 Nov 2007 12:11:06 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-39807</guid>
		<description>Hi,

Let me add a (peaceful) comment about my own practice.

I did the string reversal interview too and really what I appreciated the most was coding with someone during the interview. If you hire someone to do some development, it's hard no to see him develop. But Reginald says it better than me: http://weblog.raganwald.com/2006/07/hiring-juggler_02.html,...

Right now, I have switched to another simple exercise, which I took from "daily life". Write a  function which will return a list of pairs of currencies from a list of currencies (financial software,...).
And I give examples:

List() -&#62; List()
List("EUR", "USD") -&#62; List("EUR/USD")
List("EUR", "USD", "JPY") -&#62; List("EUR/USD", "EUR/JPY", "USD/JPY")

And I ask people to develop that using JUnit in a TDD fashion: first we write the test, then the code. If they don't know JUnit, I provide examples and they fill in the blanks.

Here are my observations so far, which are aligned with yours, Stephan:

-it is the only way to know if someone is really a programmer or not. I have been very badly surprised by people who should have a good development experience based on their resume and who were not able to produce some working code in a reasonable time. For example, they can talk about the difference between an interface and an abstract class during the interview and not know how to use the List interface in Java.

-very few people I've met (since we've began the interviews two months ago in Tokyo) can develop the last case. We usually have to stop after the second test case because of time

-this shows a lot about programming habits: naming conventions, exception handling,  code layout, data structures, knowledge of the language (java: imports, generics,...), etc. I am also astonished by the number of people using Eclipse every day (that's what they say,...) and not knowing shortcuts or refactorings

-I would also be very happy to see someone come up with a recursive solution because I personally find it quite elegant. Never happened before,... Let alone talk about tail-recursion! Even though, you can be a good developer without this (but I suspect that excellent developers would at least mention the option)

-This is a very time-consuming exercise in the recruitment process. I would like people to do the exercise and perform better. Watch them agonizing over a List interface is not my greatest pleasure in life. So right now we resorted to a silly java questionnaire to try to bring more relevant candidates to the table. If you have better ideas?

-Even if they don't perform so well, the candidates always learn something out the exercise and I try to share with them as much as I can. We've had very good feedbacks about the interviews so far.

So my conclusion is: please, let me code during my next interview! I may not know if StringBuffers are really optimized by the JVM under specific circumstances but I will just have the opportunity to do something I love. And I hope it will show!

Eric

PS: BTW, if you want to work for a financial software company in Tokyo just ping me! You can come up with a perfect solution coded during a one-week break, I'll be happy to discuss it. And the fact that you read this blog is your first "good point" on my list!</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Let me add a (peaceful) comment about my own practice.</p>
<p>I did the string reversal interview too and really what I appreciated the most was coding with someone during the interview. If you hire someone to do some development, it&#8217;s hard no to see him develop. But Reginald says it better than me: <a href="http://weblog.raganwald.com/2006/07/hiring-juggler_02.html,.." rel="nofollow">http://weblog.raganwald.com/2006/07/hiring-juggler_02.html,..</a>.</p>
<p>Right now, I have switched to another simple exercise, which I took from &#8220;daily life&#8221;. Write a  function which will return a list of pairs of currencies from a list of currencies (financial software,&#8230;).<br />
And I give examples:</p>
<p>List() -&gt; List()<br />
List(&#8221;EUR&#8221;, &#8220;USD&#8221;) -&gt; List(&#8221;EUR/USD&#8221;)<br />
List(&#8221;EUR&#8221;, &#8220;USD&#8221;, &#8220;JPY&#8221;) -&gt; List(&#8221;EUR/USD&#8221;, &#8220;EUR/JPY&#8221;, &#8220;USD/JPY&#8221;)</p>
<p>And I ask people to develop that using JUnit in a TDD fashion: first we write the test, then the code. If they don&#8217;t know JUnit, I provide examples and they fill in the blanks.</p>
<p>Here are my observations so far, which are aligned with yours, Stephan:</p>
<p>-it is the only way to know if someone is really a programmer or not. I have been very badly surprised by people who should have a good development experience based on their resume and who were not able to produce some working code in a reasonable time. For example, they can talk about the difference between an interface and an abstract class during the interview and not know how to use the List interface in Java.</p>
<p>-very few people I&#8217;ve met (since we&#8217;ve began the interviews two months ago in Tokyo) can develop the last case. We usually have to stop after the second test case because of time</p>
<p>-this shows a lot about programming habits: naming conventions, exception handling,  code layout, data structures, knowledge of the language (java: imports, generics,&#8230;), etc. I am also astonished by the number of people using Eclipse every day (that&#8217;s what they say,&#8230;) and not knowing shortcuts or refactorings</p>
<p>-I would also be very happy to see someone come up with a recursive solution because I personally find it quite elegant. Never happened before,&#8230; Let alone talk about tail-recursion! Even though, you can be a good developer without this (but I suspect that excellent developers would at least mention the option)</p>
<p>-This is a very time-consuming exercise in the recruitment process. I would like people to do the exercise and perform better. Watch them agonizing over a List interface is not my greatest pleasure in life. So right now we resorted to a silly java questionnaire to try to bring more relevant candidates to the table. If you have better ideas?</p>
<p>-Even if they don&#8217;t perform so well, the candidates always learn something out the exercise and I try to share with them as much as I can. We&#8217;ve had very good feedbacks about the interviews so far.</p>
<p>So my conclusion is: please, let me code during my next interview! I may not know if StringBuffers are really optimized by the JVM under specific circumstances but I will just have the opportunity to do something I love. And I hope it will show!</p>
<p>Eric</p>
<p>PS: BTW, if you want to work for a financial software company in Tokyo just ping me! You can come up with a perfect solution coded during a one-week break, I&#8217;ll be happy to discuss it. And the fact that you read this blog is your first &#8220;good point&#8221; on my list!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-39073</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Thu, 15 Nov 2007 05:58:36 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-39073</guid>
		<description>@Mark: Yes, you're right, don't feed the trolls, I forgot.</description>
		<content:encoded><![CDATA[<p>@Mark: Yes, you&#8217;re right, don&#8217;t feed the trolls, I forgot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-39038</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Thu, 15 Nov 2007 02:57:05 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-39038</guid>
		<description>Come on people grow up, it's the internet for christ sake.</description>
		<content:encoded><![CDATA[<p>Come on people grow up, it&#8217;s the internet for christ sake.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Lee</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-38980</link>
		<dc:creator>David Lee</dc:creator>
		<pubDate>Wed, 14 Nov 2007 21:47:16 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-38980</guid>
		<description>How big of you. My comments don't a clarification from you. They're pretty clear.</description>
		<content:encoded><![CDATA[<p>How big of you. My comments don&#8217;t a clarification from you. They&#8217;re pretty clear.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://www.codemonkeyism.com/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-38975</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 14 Nov 2007 20:50:29 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2007/11/12/job-interviews-for-developers-attention-to-detail/#comment-38975</guid>
		<description>@David: I shouldn't have answered, your're comments where not about discussing the best way for interviews they were just rants and insults. So I should have stopped sooner which I will do.</description>
		<content:encoded><![CDATA[<p>@David: I shouldn&#8217;t have answered, your&#8217;re comments where not about discussing the best way for interviews they were just rants and insults. So I should have stopped sooner which I will do.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
