I agree with your assessment on my assessment. I really do applaud you for giving them a computer and letting them code away. That's much more sensible that some piece of paper. You can tell a lot about someones programming ability if they "know their way around" and can finish the task at hand.
"I was not going to do the tests as a replacement for the sort of questions you propose below...*but*....I learn from my mistakes....I have employed people who while technically knowledgeable, are not technically able....I want the able ones....knowledge can be acquired." I agree completely. I somewhat pride myself on being both - I'm quite technically capable as well as technically knowledgeable in a variety of areas and I'm not afraid to ask questions and discover all I can about the subject I'm going to program and I'm not afraid to learn new things either. It's how one learns. Excellent article. On 9/21/07, Mark Nicholls <[EMAIL PROTECTED]> wrote: > > On Fri, 21 Sep 2007 10:14:51 -0500, Mike Andrews > <[EMAIL PROTECTED]> wrote: > > >As with any of these kinds of discussions, it's very polarized and I > agree > >with some against these kinds of tests. > >I do regard them as silly. > >I've had one once where I would had to write out SQL on paper to > demonstrate > >my knowledge of sql coding. To me this is quite inane. > >In the "real world" of programming I will not be using paper to write > SQL, > >nor will I not have access to parsers to help me make sure my code is > >accurate. > >I've also had some where I would have to hand write code on paper in VB. > I > >really want to know what purpose any of this serves? > > I quite agree....I was thinking about giving a simple question.....and > then allowing the candidate to have a PC, with C# compiler, internet > access and away they go.....doing it on paper is, as you say pointless. > > > >I would much rather someone ask me some technical questions to which I > can > >answer from my knowledge than have me write down some "silly" algorithm > that > >I wouldn't normally do in "real life" anyway. > > have you never had to process things in loops? > > I was not going to do the tests as a replacement for the sort of questions > you propose below...*but*....I learn from my mistakes....I have employed > people who while technically knowledgable, are not technically able....I > want the able ones....knowledge can be acquired. > > > > > >For instance how about these framework-style questions: > > > >1) Can you tell me the difference between "by reference" and "by value" > for > >method parameters? > >2) What does the params keyword do in a method? > >3) What is a class? What is an interface? What's the difference > between a > >Class and Object? > >4) What is generic convergence? > >5) How can you use generics to reference "your" class type in the class > >itself? > >6) What is threading? > >7) How can you implement a background thread? > >8) What is a listener? > >9) What is remoting? > >10) What is a monitor? What's C#'s generic way of using the Monitor > >class? What is VB's generic way of using the Monitor class? > >11) How do you implement asynchronous programming in .NET? > >12) What does a Using statement do? (requires two answers) > >13) What does the default C# keyword do? How can you use it? > >14) Is multiple inheritance implemented in the Framework? > >15) What is polymorphism? Encapsulation? > >16) How do you create an event in C#? In VB? > >17) What is a delegate and for what is it used? > >18) What are the benefits of Generics over non-generic programming? > >Limitations? > >19) What is a dictionary? How do you use it? > >20) Does the graphics object need to be disposed in the Paint event of a > >control? > > > >I think someone that's able to answer these types of questions > >satisfactorily might demonstrate the ability to think and reason and > >really work on the task at hand over someone who can reverse a string. > > I disagree....I think they demonstrate knowledge....the sort of knowledge > one gets from forums like this.....they do not demonstrate the ability to > think....just to recall. > > >I suppose it all boils down to personal preference though. > >I don't believe that a test asking me to reverse a string in place or > >whatever is a true test of my abilities as a programmer. > > I agree that includes beign able to design, communicate, research, > analyse, listen, learn......etc. > > > If someone can > >answer those for me, I'll know right away that they have studied the > >Framework and have taken the time to learn over someone who can pull some > >"generic" algorithm out to fit the particular test. > > see > > http://www.joelonsoftware.com/articles/fog0000000073.html > > The problem with asking such questions in technical forums is that they > value technical knowledge....the questions presumes that innate ability is > more important.....so I've probably got what I deserved. > > > > >On 9/21/07, Frans Bouma <[EMAIL PROTECTED]> wrote: > >> > >> > On Fri, 21 Sep 2007 15:40:24 +0200, Frans Bouma <[EMAIL PROTECTED]> > >> wrote: > >> > >> Well, if it's for a junior programmer they might not have a lot of > >> design > >> > >> experience, so asking them to solve a coding problem working it > out > >> in > >> front > >> > >> of you, and thinking out loud, will reveal a lot about how they > >> think. So > >> I > >> > >> wouldn't call this "stupid" (in fact I think that's uncalled for). > >> > > > >> > > The tests are IMHO stupid because they: > >> > >1) could make you not pick the one you should because the daily work > >> the > >> hire > >> > >will do is different than writing little routines which are already > in > >> the > >> > >framework > >> > >> does the question get harder if a method doesn't exist in the > framework? > >> > >> I think your employee will write code ON TOP OF the framework, > not > >> the > >> framework code itself or tiny routines already there. So code working > with > >> the > >> framework is often different than code which should be in the framework > or > >> a > >> tiny routine. > >> > >> (your example was in fact *not* an example or reversing a string in > place) > >> > >> Indeed. I didn't do it in place. But it's not possible to do it > in > >> place, as in C# strings are immutable. :) Did you think of that btw? > >> > >> So I failed your test and you would not hire me. See how silly > this > >> is? :) > >> > >> > >2) could make you pick the wrong person because you think his string > >> reversal > >> > >goo was excellent while he'll fail miserably designing some classes > or > >> writing > >> > >some basic OO code. > >> > > >> > the point is if he *cannot* write the function......if he cannot > reverse > >> a > >> > simple string then what does that tell us? > >> > >> that he can't reverse a string. Though I don't think the person > >> would > >> draw a complete blank stare, so there will be thoughts of solutions. > THOSE > >> will tell you more. I'm with Per, you should talk about various .net > >> elements > >> instead. > >> > >> > Again it would seem to be the claim there is no correlation between > >> > programming and the application of basic algorithms. > >> > >> programming is about writing algorithms, not about typing code. > So > >> I > >> don't think I can agree with your conclusion that I would claim what > you > >> say I > >> claim. All I say is that if you test a person if s/he can cook up a > given > >> algorithm that it would tell anything. I say: no that doesn't say > >> anything. > >> > >> FB > >> > >> =================================== > >> This list is hosted by DevelopMentor(r) http://www.develop.com > >> > >> View archives and manage your subscription(s) at > >> http://discuss.develop.com > >> > > > >=================================== > >This list is hosted by DevelopMentor(r) http://www.develop.com > > > >View archives and manage your subscription(s) at > http://discuss.develop.com > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
