﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Sheraz commented on How to get good people: Two phase code tests</title><description>@ Joak
  
  
if (testOK == false)
  
{
  
args.IsValid = false;
  
}
  
  
Refactored
  
  
if(TestIsNotOk())
  
{
  
         SetArgumentAsInvalid();
  
}
  
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment15</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment15</guid><pubDate>Mon, 07 Apr 2008 20:02:30 GMT</pubDate></item><item><title>joak commented on How to get good people: Two phase code tests</title><description>A simple test can be: «Refactoring, what do you do when you read that:
  
  
if (testOK == false)
  
{
  
            args.IsValid = false;
  
}
  
»
  
  
Some would immediately write:
  
  
  
args.IsValid = testOK;
  
  
  
  
but they miss that when testOK  is true, args.IsValid can remain false... 
  
  
I would only rename testOK in a first move. Then think about what is stinky when a variable is named testOk... Something to change, for sure !
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment14</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment14</guid><pubDate>Mon, 07 Apr 2008 08:57:18 GMT</pubDate></item><item><title>PandaWood commented on How to get good people: Two phase code tests</title><description>Adam Mills, I like your tests with refactoring, this is more like it. Designing, creating and refactoring/dealing with existing code is what it's all about, as I see it.
  
  
You don't ask them what a Prime Number is at the end I hope.
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment13</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment13</guid><pubDate>Sun, 06 Apr 2008 02:06:53 GMT</pubDate></item><item><title>PandaWood commented on How to get good people: Two phase code tests</title><description>"...I was once asked what a "primary number" was"
  
  
Ho-hum Jeff ;-) I'm so unconvinced that being able to write a program to find a Prime number is going to give any clue how good someone is. I might fall asleep during your interview. Get some creativity into your coding exercises! ;-) That's what you want?
  
  
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment12</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment12</guid><pubDate>Sun, 06 Apr 2008 01:49:51 GMT</pubDate></item><item><title>Adam Mills commented on How to get good people: Two phase code tests</title><description>One of our tests is to give them the starting point example from Martin Fowlers "Refactoring". We get them to add new requirements to the already terrible code.
  
  
We do this twice, the second time the requirement is aimed at being difficult based on their current design. To see if they will modify it to or fight with the current design.
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment11</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment11</guid><pubDate>Sat, 05 Apr 2008 01:20:10 GMT</pubDate></item><item><title>joak commented on How to get good people: Two phase code tests</title><description>using Ayende.FizzBuzz;
  
  
using NUnit.Framework;
  
  
namespace FizzBuzz
  
{
  
    [TestFixture]
  
    public class MyFizzBuzz
  
    {
  
        [Test]
  
        public void MyFizzBuzzTest()
  
        {
  
              Console.Write(FizzBuzzTest.GetAyendeFizzBuzzString(1, 100);
  
        }
  
     }
  
}
  
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment10</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment10</guid><pubDate>Fri, 04 Apr 2008 07:55:05 GMT</pubDate></item><item><title>Jeff Tucker commented on How to get good people: Two phase code tests</title><description>I make people write code in interviews and am always astounded at when people can't write something simple, like filtering an array of duplicate values or finding prime numbers (I was once asked what a "primary number" was).  I am also usually asked to write code in interviews.  However, my attitude on submitting sample code or on writing something prior to the interview (or writing something in order to be considered for the interview) is that I generally don't want to do it.  I don't mind doing it if I really want to work at that particular company or if I've approached them and they guarantee that they'll interview me if I send them a simple program, but generally for every job that requires that I submit a code sample, there are three jobs that don't.  My time is valuable and I don't want to spend it writing code for you for free, particularly when I could better spend the two hours or so that it would take me to write your program talking to recruiters or interviewing for other jobs that pay just as much as yours does and has the same benefits and writes the same business applications.  If you make code part of the interview, even if it's an all-day interview, that's fine with me, but don't ask me to do something on my own time just so that you'll consider interviewing me because I probably won't do it.
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment9</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment9</guid><pubDate>Thu, 03 Apr 2008 19:38:25 GMT</pubDate></item><item><title>The Other Steve commented on How to get good people: Two phase code tests</title><description>I've been interviewing lately.  I've now had to take two tests which amounted to a bunch of picky details about the .net framework.
  
  
Dals - Interesting article.  As a aspie myself, I recommend noise-canceling headphones. ;-)
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment8</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment8</guid><pubDate>Thu, 03 Apr 2008 14:17:12 GMT</pubDate></item><item><title>Dals commented on How to get good people: Two phase code tests</title><description>Not blinking ?
  
http://www.computerworld.com/action/article.do?command=printArticleBasic&amp;articleId=9072119
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment7</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment7</guid><pubDate>Thu, 03 Apr 2008 13:47:30 GMT</pubDate></item><item><title>Rik Hemsley commented on How to get good people: Two phase code tests</title><description>A technique I recently tried was to ask the candidate to provide a sample of their code which demonstrates some of their areas of ability. I told them it was OK to provide old code which they found slightly embarrassing as they would be asked to criticise it.
  
  
I spent about an hour reading their code and writing down what I thought could be improved (it would have been shorter but they provided quite a lot!). I then asked the candidate to write down how they thought it could be improved.
  
  
I then compared their analysis with mine and sent a copy of mine to them, while letting them know I would be happy to discuss any differences of opinion.
  
  
I think this worked well, as hopefully the candidate was relaxed and able to give a good account of themselves, meaning that I was able to perform a decent analysis of their abilities.
  
  
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment6</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment6</guid><pubDate>Thu, 03 Apr 2008 10:04:21 GMT</pubDate></item><item><title>Benny Thomas commented on How to get good people: Two phase code tests</title><description>Damn, i thought i could write programs, but i don't even know what w fizz-buzz is, so I clearly cant do any thing good in a coding enviroment.
  
  
And the scary part: my coworkers need my to help them write code. But try to get them to write tests? And why do I ever try to get dem to refactor.
  
  
Plz, hire me, I cant make coffee, but I know how to make a pretty tasteful sandwich!
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment5</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment5</guid><pubDate>Thu, 03 Apr 2008 08:10:21 GMT</pubDate></item><item><title>Tuna Toksoz commented on How to get good people: Two phase code tests</title><description>@Ken Egozi 
  
Which one did they prefer? recursive one or the loop one, or another?
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment4</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment4</guid><pubDate>Thu, 03 Apr 2008 07:54:58 GMT</pubDate></item><item><title>Dragos commented on How to get good people: Two phase code tests</title><description>Yes, please, a real example would be great ;)
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment3</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment3</guid><pubDate>Thu, 03 Apr 2008 06:50:58 GMT</pubDate></item><item><title>Ken Egozi commented on How to get good people: Two phase code tests</title><description>When I was interviewing people for my team, I had a twist on that.
  
I'd have asked people to tell me which is their strongest language (usually c#), and which languages they do not know at all (usually ruby/python/lisp).
  
Then I would have them do a simple fizz-buzz/string-reverse thing in their favorite language. As people already have pointed out, 90% of candidates CANT WRITE CODE so they couldn't have done that, even with VS2005 (and google) open in front of them.
  
Of the lucky ones who could code that, I'd have asked to translate their code to the language they do not know ... that was fun !
  
  
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment2</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment2</guid><pubDate>Thu, 03 Apr 2008 06:50:24 GMT</pubDate></item><item><title>Kalpesh commented on How to get good people: Two phase code tests</title><description>Wouldn't a real example make the readers of your blog test it?
  
An interview by Oren ;)
</description><link>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment1</link><guid>http://ayende.com/3254/how-to-get-good-people-two-phase-code-tests#comment1</guid><pubDate>Thu, 03 Apr 2008 04:25:38 GMT</pubDate></item></channel></rss>