Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Interviewing / candidate qualifying tips

Interviewing / candidate qualifying tips

Scheduled Pinned Locked Moved The Lounge
csharpasp-netdatabasesql-serverwinforms
140 Posts 61 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Ravi Bhavnani

    mincefish wrote:

    I don't want to work with people who don't have other things to talk about when you're having a beer after work.

    So being able to enjoy a beer (or socialize after work) with a co-worker takes precedence over how they perform on the job?  That seems like a strange metric on which to base a hiring decision. /ravi

    My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

    D Offline
    D Offline
    dighn
    wrote on last edited by
    #87

    What one does outside of work should be none of the company's business (unless it's detrimental in some way which is unlikely). But on the other hand, "chemistry" with one's colleagues is a valid concern so I kind of understand.

    R B 2 Replies Last reply
    0
    • K kryzchek

      My company has decided that after 4 years of me doing 100% of the IT work, we need another developer. This person will work directly under my supervision and be tasked with maintaining a C# distributed WinForms app as well as some ASP.NET work. We've hired a headhunter to pre-qualify candidates and set up phone & in-person interviews. And this is the point where my inexperience with hiring really comes to light. I'm getting a little better at the face-to-face and phone interviews, but I'm still not sure how to qualify a person skill-wise. It seems like right now all I'm doing is saying things like "Do you know C#? Have you use SQL Server?" And naturally the candidate tells me that yes, they have. Can anyone give me some tips on how to gauge just HOW experienced or skilled someone might be in the areas that I require? I've asked for code samples, but some candidates can't provide that as it is most likely property of their previous employer. And I'm not sure that 1 class file will really give me a good reference point as to their skill level when taken out of the context of a project as a whole. I've also considered giving a small test, but I'm not too sure how long or difficult I should make it. Suggestions or comments from those that have experience with hiring and interviewing would be most appreciated at this point.

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #88

      We give them a piece of paper with a vague written description of a real world scenario that we have solved. Sit them in a room for half an hour with some blank paper and a pen and tell them you want them to describe their proposed solution when you return. Two of us go back with a white board and just invite them to talk about their solution. It's interesting to see: * Can they communicate well * Are they confident * Do they look you in the eye * Do they start writing code * Do they draw diagrams * Do they ask questions..."Im not sure about X. if its A I'd do this if it's B I'd do this". This is a big one for me, the scenario is purposefully a little vague, if they make assumptions and then are unwilling to consider that they might be wrong it ends pretty quickly * If you change the requirement slightly can they think on their feet? * If they misunderstood or have gone down the wrong path are they prepared to rethink their solution or do they dig their heals in and insist they are right? * Both interviewers ask a few questions quickly without giving time to answer, do they cope and answer each when given the opportunity or crumble under pressure * Ask them to write out one of the solution's algorithms in code on the board while you watch This is a technical interview, its sole purpose is to determine if this person is someone you want to touch your code. If they do well there is a "soft skills" interview which I dont usually do. In your case I suspect you are going to have to do quite a bit of adjusting to working with someone else. If it's going to just be the two of you you'll really need to get along so take your time and be confident in your decision.

      K 1 Reply Last reply
      0
      • L Lost User

        We give them a piece of paper with a vague written description of a real world scenario that we have solved. Sit them in a room for half an hour with some blank paper and a pen and tell them you want them to describe their proposed solution when you return. Two of us go back with a white board and just invite them to talk about their solution. It's interesting to see: * Can they communicate well * Are they confident * Do they look you in the eye * Do they start writing code * Do they draw diagrams * Do they ask questions..."Im not sure about X. if its A I'd do this if it's B I'd do this". This is a big one for me, the scenario is purposefully a little vague, if they make assumptions and then are unwilling to consider that they might be wrong it ends pretty quickly * If you change the requirement slightly can they think on their feet? * If they misunderstood or have gone down the wrong path are they prepared to rethink their solution or do they dig their heals in and insist they are right? * Both interviewers ask a few questions quickly without giving time to answer, do they cope and answer each when given the opportunity or crumble under pressure * Ask them to write out one of the solution's algorithms in code on the board while you watch This is a technical interview, its sole purpose is to determine if this person is someone you want to touch your code. If they do well there is a "soft skills" interview which I dont usually do. In your case I suspect you are going to have to do quite a bit of adjusting to working with someone else. If it's going to just be the two of you you'll really need to get along so take your time and be confident in your decision.

        K Offline
        K Offline
        kryzchek
        wrote on last edited by
        #89

        Josh Gray wrote:

        In your case I suspect you are going to have to do quite a bit of adjusting to working with someone else. If it's going to just be the two of you you'll really need to get along so take your time and be confident in your decision.

        You hit the nail on the head. The idea of bringing on a second developer has been brought up once or twice in the past 2 years or so and I've always resisted it. I'm having a hard time trying to accept that someone else is going to be touching projects that I've worked very hard on and take great pride in. I'll freely admit that I'm a total hack and certainly, someone else could come in and easily improve my software--and by extension--my work abilities. I just have a fear of constantly butting heads with someone who has a Masters in CS telling me that my app doesn't follow a single design methodology and is insistent that we do things THEIR way.

        L 1 Reply Last reply
        0
        • K kryzchek

          Josh Gray wrote:

          In your case I suspect you are going to have to do quite a bit of adjusting to working with someone else. If it's going to just be the two of you you'll really need to get along so take your time and be confident in your decision.

          You hit the nail on the head. The idea of bringing on a second developer has been brought up once or twice in the past 2 years or so and I've always resisted it. I'm having a hard time trying to accept that someone else is going to be touching projects that I've worked very hard on and take great pride in. I'll freely admit that I'm a total hack and certainly, someone else could come in and easily improve my software--and by extension--my work abilities. I just have a fear of constantly butting heads with someone who has a Masters in CS telling me that my app doesn't follow a single design methodology and is insistent that we do things THEIR way.

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #90

          kryzchek wrote:

          I'll freely admit that I'm a total hack and certainly, someone else could come in and easily improve my software--and by extension--my work abilities. I just have a fear of constantly butting heads with someone who has a Masters in CS telling me that my app doesn't follow a single design methodology and is insistent that we do things THEIR way.

          I am unqualified. Three of the people that have worked for me here have phd's in CS. It's really no big deal. One of them came from a very different background with an emphasis on test driven development. He's been a massive influence on our team and we are much better off for it. It's not a case of doing it my way or their way, its about accepting that they have different experiences and being willing to learn from each other. Try to keep in mind that its not really your code but your employers code, they paid for it to be written, they own it, they profit from it and it's your job to make decisions about that code that will benefit them. My advice is to be open with people about the role, what your concerns are and what you hope they will bring to the table.

          1 Reply Last reply
          0
          • K kryzchek

            My company has decided that after 4 years of me doing 100% of the IT work, we need another developer. This person will work directly under my supervision and be tasked with maintaining a C# distributed WinForms app as well as some ASP.NET work. We've hired a headhunter to pre-qualify candidates and set up phone & in-person interviews. And this is the point where my inexperience with hiring really comes to light. I'm getting a little better at the face-to-face and phone interviews, but I'm still not sure how to qualify a person skill-wise. It seems like right now all I'm doing is saying things like "Do you know C#? Have you use SQL Server?" And naturally the candidate tells me that yes, they have. Can anyone give me some tips on how to gauge just HOW experienced or skilled someone might be in the areas that I require? I've asked for code samples, but some candidates can't provide that as it is most likely property of their previous employer. And I'm not sure that 1 class file will really give me a good reference point as to their skill level when taken out of the context of a project as a whole. I've also considered giving a small test, but I'm not too sure how long or difficult I should make it. Suggestions or comments from those that have experience with hiring and interviewing would be most appreciated at this point.

            P Offline
            P Offline
            peterchen
            wrote on last edited by
            #91

            Make it simple - something solvable in 10..20 lines. Try to help them when they get a detail wrong - it's not about "right" or "wrong", but how they approach it. If the candidate cobbles together something that works, let him discuss what could go wrong. I wasn't convinced if that is such a good approach - until I first saw the results. Even after heavy pre-screening there were lots of surprises. It also helps readjust the compromises you invariably make when expectations meet reality. Bonus points if the candidate asks for clarification of the requirements, and can tell you what he's going to do. The other thing I am looking for is passion. What project was most interesting for them, why? What was good, what was bad? Also can they explain the prupose of a previous application to a non-programmer?

            Personally, I love the idea that Raymond spends his nights posting bad regexs to mailing lists under the pseudonym of Jane Smith. He'd be like a super hero, only more nerdy and less useful. [Trevel]
            | FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server

            J 1 Reply Last reply
            0
            • D dighn

              What one does outside of work should be none of the company's business (unless it's detrimental in some way which is unlikely). But on the other hand, "chemistry" with one's colleagues is a valid concern so I kind of understand.

              R Offline
              R Offline
              Ravi Bhavnani
              wrote on last edited by
              #92

              No argument there - the ability to interact well with coworkers and be a team player is essential.  I was referring to the requirement that the potential new hire has to "have a life" outside work. /ravi

              My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

              1 Reply Last reply
              0
              • D Don Burton

                Marc, your're the guy we google when we want the defintive answer on a technical question!

                M Offline
                M Offline
                Marc Clifton
                wrote on last edited by
                #93

                Don Burton wrote:

                Marc, your're the guy we google when we want the defintive answer on a technical question!

                My gf finally caught on that I tend to make up a reasonable sounding answer. I guess I can't live by the "I'm right until proven wrong" principle anymore. :sigh: Marc

                Will work for food. Interacx

                I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

                1 Reply Last reply
                0
                • J Joe Woodbury

                  I work primarily in C++ and one very good method to weed people out is talking about multi-threading. My team lead and came up with a one question interview: how would you make two processes on the same computer communicate with each other? While there are many answers for this, there is one vastly superior to the rest and the question is how long they take to arrive at it, if at all. The biggest problem I've run into are developers who claim a more central role at a previous employer than they really had. For example, they may claim they helped design something, when their help consisted of one suggestion if that. To get around this, just talk about details and then verify them with his previous manager--doesn't matter if the potential employee listed them as a reference or not. In fact, if they didn't list their manager but insisted they got along with him or her, that's a huge warning sign that something is wrong. (It's important to verify that relationship; I've had a managers that lied to me and misrepresented my work to upper management.)

                  M Offline
                  M Offline
                  Marc Clifton
                  wrote on last edited by
                  #94

                  Joe Woodbury wrote:

                  While there are many answers for this, there is one vastly superior to the rest and the question is how long they take to arrive at it, if at all.

                  I would think a queue. Is that more-or-less correct? Marc

                  Will work for food. Interacx

                  I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

                  J 1 Reply Last reply
                  0
                  • M Marc Clifton

                    Joe Woodbury wrote:

                    While there are many answers for this, there is one vastly superior to the rest and the question is how long they take to arrive at it, if at all.

                    I would think a queue. Is that more-or-less correct? Marc

                    Will work for food. Interacx

                    I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

                    J Offline
                    J Offline
                    Joe Woodbury
                    wrote on last edited by
                    #95

                    Marc Clifton wrote:

                    I would think a queue. Is that more-or-less correct?

                    Exactly, though shared-memory queue is more precise. If they say named pipes, they are summarily shot. We've actually interviewed people who fumbled around and finally said TCP! To which we answered "Yes, but what about using shared memory?" To which we've gotten the reply, "What's shared memory?" Needless to say, those people are shown the door immediately. We even had a guy suggest writing the file to disk and the other process would poll (yes, poll) that directory.

                    M B J 3 Replies Last reply
                    0
                    • P peterchen

                      Make it simple - something solvable in 10..20 lines. Try to help them when they get a detail wrong - it's not about "right" or "wrong", but how they approach it. If the candidate cobbles together something that works, let him discuss what could go wrong. I wasn't convinced if that is such a good approach - until I first saw the results. Even after heavy pre-screening there were lots of surprises. It also helps readjust the compromises you invariably make when expectations meet reality. Bonus points if the candidate asks for clarification of the requirements, and can tell you what he's going to do. The other thing I am looking for is passion. What project was most interesting for them, why? What was good, what was bad? Also can they explain the prupose of a previous application to a non-programmer?

                      Personally, I love the idea that Raymond spends his nights posting bad regexs to mailing lists under the pseudonym of Jane Smith. He'd be like a super hero, only more nerdy and less useful. [Trevel]
                      | FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server

                      J Offline
                      J Offline
                      Joe Woodbury
                      wrote on last edited by
                      #96

                      One of my favorite stories. Interviewed at a satellite office of a well known company by a gang (flock?) of developers. One developer asked me to go to the white board and write a string reverse function. I wrote "strrev()". Later, a developer asked how Intel implemented the hardware to prevent collisions with two processors. I said I could tell him but it didn't matter because that wasn't why I was interviewing. One of the other developers commented that that was dumbest question he ever heard, so I scored points there as well. Didn't get the job, but nobody did. Turns out they interviewed lots of people, but never hired anyone. I found out later through my brother that when corporate found out, they went ballistic and eventually fired the satellite office manager.

                      P 1 Reply Last reply
                      0
                      • J Joe Woodbury

                        Marc Clifton wrote:

                        I would think a queue. Is that more-or-less correct?

                        Exactly, though shared-memory queue is more precise. If they say named pipes, they are summarily shot. We've actually interviewed people who fumbled around and finally said TCP! To which we answered "Yes, but what about using shared memory?" To which we've gotten the reply, "What's shared memory?" Needless to say, those people are shown the door immediately. We even had a guy suggest writing the file to disk and the other process would poll (yes, poll) that directory.

                        M Offline
                        M Offline
                        Marc Clifton
                        wrote on last edited by
                        #97

                        Joe Woodbury wrote:

                        Exactly, though shared-memory queue is more precise.

                        See, this is why I fail interviews. Because the idea that the memory is shared is like, so obvious. ;) Marc

                        Will work for food. Interacx

                        I'm not overthinking the problem, I just felt like I needed a small, unimportant, uninteresting rant! - Martin Hart Turner

                        1 Reply Last reply
                        0
                        • R Rajesh R Subramanian

                          John Simmons / outlaw programmer wrote:

                          They're not serious about being a programmer. Don't hire them.

                          I do not own a laptop because I just cannot work on such a crammed keyboard and monitor (No, not even for a short while. Thanks for asking. I've managed for so long without it). I think that it's a personal preference. There may also be those programmers who are serious, but don't have the money to buy a laptop. All those laptops that I've ever purchased and used were given to me by my employer. But I pester them continuously and give it back to them. Emails will be checked on the phone while on travel.

                          “Follow your bliss.” – Joseph Campbell

                          N Offline
                          N Offline
                          Nish Nishant
                          wrote on last edited by
                          #98

                          Rajesh R Subramanian wrote:

                          I do not own a laptop because I just cannot work on such a crammed keyboard and monitor

                          Most people connect the laptop to a full mouse/keyboard and one or two large monitors :-) The only time the laptop is used as it is is in a long flight or in an airport.

                          Regards, Nish


                          Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
                          My latest book : C++/CLI in Action / Amazon.com link

                          R R 2 Replies Last reply
                          0
                          • N Nish Nishant

                            Rajesh R Subramanian wrote:

                            I do not own a laptop because I just cannot work on such a crammed keyboard and monitor

                            Most people connect the laptop to a full mouse/keyboard and one or two large monitors :-) The only time the laptop is used as it is is in a long flight or in an airport.

                            Regards, Nish


                            Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
                            My latest book : C++/CLI in Action / Amazon.com link

                            R Offline
                            R Offline
                            realJSOP
                            wrote on last edited by
                            #99

                            The only time my ;laptop gets used is when either my wife or myself are traveling (or interviewing).

                            .45 ACP - because shooting twice is just silly
                            -----
                            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                            -----
                            "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001

                            1 Reply Last reply
                            0
                            • N Nish Nishant

                              Rajesh R Subramanian wrote:

                              I do not own a laptop because I just cannot work on such a crammed keyboard and monitor

                              Most people connect the laptop to a full mouse/keyboard and one or two large monitors :-) The only time the laptop is used as it is is in a long flight or in an airport.

                              Regards, Nish


                              Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
                              My latest book : C++/CLI in Action / Amazon.com link

                              R Offline
                              R Offline
                              Rajesh R Subramanian
                              wrote on last edited by
                              #100

                              I know, I know. I've also thought having to buy an additional keyboard, mouse and a monitor (sometimes a dock) is a pain and a complete waste of money. It just doesn't make sense to me. I don't think I'll ever waste money on buying extra keyboard and monitor because I've to buy a laptop.

                              “Follow your bliss.” – Joseph Campbell

                              1 Reply Last reply
                              0
                              • R ragnaroknrol

                                Anytime you change something on the customer you have the program use C# code to figure out which dataset needs to be told to change info, then it sends the info to an SQL server, which then changes the info using code in the dataset, which is then sent to the program, which then sends the changes to the actual data on the SQL server and that newly upsated dataset sends the info to the form to update what it says... We think retarded monkeys with typewriters could have done a better job.

                                B Offline
                                B Offline
                                Brady Kelly
                                wrote on last edited by
                                #101

                                At describing datasets? Definitely.

                                1 Reply Last reply
                                0
                                • M mincefish

                                  We tend to start off with a logic test (it's a programming test, but it's not specific to a language). We then move on to ask some fairly specific OO, .NET and SQL questions, to which there generally is a specific answer. We then move onto some questions asking them to talk through solving a problem. We use designing a chess game from an OO point of view, and designing a database schema for a car rental company, and simply keep asking more probing questions about their answer until we feel we've guided them to a good solution. If they don't seem to get it, drop it. You'll know if they seem to know what they're talking about. For instance people who can design database will get what you want from them straight away. People who are book-learnt will waffle about normalisation, but never really get there. We decided we'd rather hire someone who's very logical than someone who can quote MSDN. For us, there's been a direct correlation between book learners and poor scores on logic tests. The last guy we hired simply admitted he didn't know the answers to a few of the more tricky questions, rocked the logic test, and within 2 months was writing some fantastic code; he made a real contribution. He also had a social life outside work that wasn't programming. The others who could quote MSDN just wanted to program when they got home. I don't want to work with people who don't have other things to talk about when you're having a beer after work.

                                  B Offline
                                  B Offline
                                  Brady Kelly
                                  wrote on last edited by
                                  #102

                                  mincefish wrote:

                                  I don't want to work with people who don't have other things to talk about when you're having a beer after work.

                                  Where do I apply? BTW, for senior, senior guys, how about basing the database design on chess as well? Rules and history. Maybe Go as a more formal game for a DB?

                                  1 Reply Last reply
                                  0
                                  • R RichardM1

                                    How do people know to interview you? Old boy network?

                                    Opacity, the new Transparency.

                                    B Offline
                                    B Offline
                                    Brady Kelly
                                    wrote on last edited by
                                    #103

                                    No, referrals from people I work with or have worked with.

                                    R 1 Reply Last reply
                                    0
                                    • K kryzchek

                                      My company has decided that after 4 years of me doing 100% of the IT work, we need another developer. This person will work directly under my supervision and be tasked with maintaining a C# distributed WinForms app as well as some ASP.NET work. We've hired a headhunter to pre-qualify candidates and set up phone & in-person interviews. And this is the point where my inexperience with hiring really comes to light. I'm getting a little better at the face-to-face and phone interviews, but I'm still not sure how to qualify a person skill-wise. It seems like right now all I'm doing is saying things like "Do you know C#? Have you use SQL Server?" And naturally the candidate tells me that yes, they have. Can anyone give me some tips on how to gauge just HOW experienced or skilled someone might be in the areas that I require? I've asked for code samples, but some candidates can't provide that as it is most likely property of their previous employer. And I'm not sure that 1 class file will really give me a good reference point as to their skill level when taken out of the context of a project as a whole. I've also considered giving a small test, but I'm not too sure how long or difficult I should make it. Suggestions or comments from those that have experience with hiring and interviewing would be most appreciated at this point.

                                      K Offline
                                      K Offline
                                      kirankss
                                      wrote on last edited by
                                      #104

                                      I would suggest the following: 1) Ask the candidate to solve the problems that you have faced. 2) Ask them to code so you have an idea as to whether the person can code. Also, you can identify failures in the code. 3) Check for skills which match your needs This should give a rough idea as to whether the candidate is suitable. HTH

                                      1 Reply Last reply
                                      0
                                      • D dighn

                                        What one does outside of work should be none of the company's business (unless it's detrimental in some way which is unlikely). But on the other hand, "chemistry" with one's colleagues is a valid concern so I kind of understand.

                                        B Offline
                                        B Offline
                                        Brady Kelly
                                        wrote on last edited by
                                        #105

                                        I like 'chemistry' :cool:

                                        1 Reply Last reply
                                        0
                                        • J Joe Woodbury

                                          Marc Clifton wrote:

                                          I would think a queue. Is that more-or-less correct?

                                          Exactly, though shared-memory queue is more precise. If they say named pipes, they are summarily shot. We've actually interviewed people who fumbled around and finally said TCP! To which we answered "Yes, but what about using shared memory?" To which we've gotten the reply, "What's shared memory?" Needless to say, those people are shown the door immediately. We even had a guy suggest writing the file to disk and the other process would poll (yes, poll) that directory.

                                          B Offline
                                          B Offline
                                          Brady Kelly
                                          wrote on last edited by
                                          #106

                                          Joe Woodbury wrote:

                                          We even had a guy suggest writing the file to disk and the other process would poll (yes, poll) that directory.

                                          I've actually done this with a DB table instead of a file. :suss: People were queuing up (haha), even people without any stake, just called from a neighbouring company to see this wondrous demo, and almost opening bottles of bubbly, when I discovered some security issue that didn't allow my ASP component to call another, out of process, component. It took all of about five minutes to implement the db solution, and the bottles were quickly opened to many cheers, but only about three people in the room knew just how evil I had been. BTW, what is shared memory, besides what the name tells me? I started coding on ABAP/4, moved through VB6 into C#, so I have never really had to get involved with memory. BTW again, isn't there a DCOM related answer for this? It would be a lot more secure and 'managed'.

                                          J 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups