On Fri, 21 Sep 2007 10:47:20 -0500, Mike Andrews <[EMAIL PROTECTED]> wrote:
>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. The problem I have is the questions...the ones on Joel are too C oriented. I would rather have something a little more C# without being too dependent of knowledge of any specific library. > >"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 =================================== This list is hosted by DevelopMentor® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
