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.
  • N N a v a n e e t h

    Pair programming is a good way to identify the capabilities. Give him a problem and ask him to code it in a specified time. Sit with him and work with him by discussing various methods to solve the problem. Allow him to come up with alternative solutions. This will help you to identify 1 - Ability to code in a reasonable time and ability to follow good coding standards. 2 - How he is coming up with solutions and how good are they. 3 - How good is he in taking suggestions and implementing it. 4 - Communication

    Best wishes, Navaneeth

    R Offline
    R Offline
    Rama Krishna Vavilala
    wrote on last edited by
    #32

    N a v a n e e t h wrote:

    Pair programming is a good way to identify the capabilities.

    Yes, Now that you have qualified a Thoughtworks interview you will say that. If you did not make it, I wonder you will have the same opinion. But I think I agree with you.

    Click here to get a Google Wave Invite.

    1 Reply Last reply
    0
    • W Wjousts

      Only helps if you have the same development environment as them.

      D Offline
      D Offline
      Dan Neely
      wrote on last edited by
      #33

      I'd expect for most non-entry level positions you'd be hiring someone with at least some experience in the local dev platform. Besides which USB drives are big enough to host VMs as long as they're not IO intensive...

      3x12=36 2x12=24 1x12=12 0x12=18

      1 Reply Last reply
      0
      • D Dalek Dave

        djj55 wrote:

        we hired a guy who talked a good talk but did not program well. (He also missed the first day of work).

        If I was in charge he would have missed the second, third etc. Not coming in on a first day is a sure way to get fired!

        ------------------------------------ No Good Deed Goes Unpunished Clare Boothe Luce

        C Offline
        C Offline
        Corporal Agarn
        wrote on last edited by
        #34

        They let him slide but by the end of his first 90 days they fired him.

        B 1 Reply Last reply
        0
        • L Lost User

          Ian Shlasko wrote:

          at least somewhat competent

          Even students can answer those questions, but I haven't met one of them who knew what x&(x-1) is useful for - in fact most of them didn't even know what "that funny &" does. They can't actually program, they just write code. (but there are exceptions to that rule, as always)

          D Offline
          D Offline
          Dan Neely
          wrote on last edited by
          #35

          Is that a bitwise and or a pointer perversion?

          3x12=36 2x12=24 1x12=12 0x12=18

          1 Reply Last reply
          0
          • R Rama Krishna Vavilala

            I am also conduction a bunch of interviews in January. I am setting up a development environment at my work with the code, the source control and internet access. The candidate will be invited for 4 hours of interview and will get a office (like the rest of the employees). He will be free to go to the refrigerator and get drinks or go to the coffee machine and have coffee. This will also give me an idea of how well he meets and greets existing employees. I will give him 3 problems and about 3 hours to work on them. 1. Coding to spec. A spec will be handed to him and the candidate has to develop an application per the given spec. 2. Fixing an issue in existing code base. I will give the candidate an issue and he has the resolve it. This will give me an idea of his problem solving skills. 3. Coding in ambiguity. A simple problem statement will be given to him and the candidate will have to implement in the technology of his choice. The problem statement will be generic and the candidate will be free to ask questions (via IM, emails, Phone). This is where I have found most programmers to fail. His level of skills can be ascertained by the way he solves/approaches the 3 problems. A junior level programmer can do task 1 without any problems but will have problems with 2 and 3. A mid-level programmer will have problems with 3 but will be able to do 1 and 2. A senior programmer should be able to do 1, 2 and 3. Of course, in the entire process the candidate will have to interact with me. Also, both I and the candidate will be able to ascertain how well he can fit in the company. He will see the actual codebase and work with real people.

            Click here to get a Google Wave Invite.

            D Offline
            D Offline
            Dan Neely
            wrote on last edited by
            #36

            Rama Krishna Vavilala wrote:

            A junior level programmer can do task 1 without any problems but will have problems with 2 and 3.

            In some ways a 'better' junior programmer who was always able to write his assignments perfectly the first time would have more trouble with 2 than someone who had more difficulty and spent a lot of his student time digging through stuff with the debugger to figure out what his stupid mistakes were. I blew through what was supposed to've been a 2 month pile of bug fix/enhancements in only one on my first job because I was intimately aware of how to use a visual studio debugger to poke around in the guts of stuff.

            3x12=36 2x12=24 1x12=12 0x12=18

            R 1 Reply Last reply
            0
            • D Dan Neely

              Rama Krishna Vavilala wrote:

              A junior level programmer can do task 1 without any problems but will have problems with 2 and 3.

              In some ways a 'better' junior programmer who was always able to write his assignments perfectly the first time would have more trouble with 2 than someone who had more difficulty and spent a lot of his student time digging through stuff with the debugger to figure out what his stupid mistakes were. I blew through what was supposed to've been a 2 month pile of bug fix/enhancements in only one on my first job because I was intimately aware of how to use a visual studio debugger to poke around in the guts of stuff.

              3x12=36 2x12=24 1x12=12 0x12=18

              R Offline
              R Offline
              Rama Krishna Vavilala
              wrote on last edited by
              #37

              I agree. But I am talking about more real life bugs or issues for which some experience in working in live environments will be required: code which will work fine on development environment but breaks in test environments. The candidate may have to use Google search combined with ability to navigate through huge code base to solve those issues.

              Click here to get a Google Wave Invite.

              D 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.

                R Offline
                R Offline
                Rocky Moore
                wrote on last edited by
                #38

                Perhaps you ask them for their Codeproject user name to read their articles and see how they bashed their last employer in the lounge ;)

                Rocky <>< Recent Blog Post: Coca-Cola In Israel..

                R 1 Reply Last reply
                0
                • R Rocky Moore

                  Perhaps you ask them for their Codeproject user name to read their articles and see how they bashed their last employer in the lounge ;)

                  Rocky <>< Recent Blog Post: Coca-Cola In Israel..

                  R Offline
                  R Offline
                  Rama Krishna Vavilala
                  wrote on last edited by
                  #39

                  Rocky Moore wrote:

                  they bashed their last employer in the lounge

                  5:)

                  Click here to get a Google Wave Invite.

                  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.

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

                    You may want to read this[^] (somewhat dated, but mostly still valid) article. /ravi

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

                    D H 2 Replies 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.

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

                      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 M 2 Replies Last reply
                      0
                      • R Rama Krishna Vavilala

                        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.

                        I would love to hire those people in a startup company. Those are the people who are passionate about programming and can lead a startup companies to big success. However, if you have a lifetstyle company these people will not fit well.

                        Click here to get a Google Wave Invite.

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

                        Rama Krishna Vavilala wrote:

                        Those are the people who are passionate about programming and can lead a startup companies to big success.

                        Yep. /ravi

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

                        1 Reply Last reply
                        0
                        • R Ravi Bhavnani

                          You may want to read this[^] (somewhat dated, but mostly still valid) article. /ravi

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

                          D Offline
                          D Offline
                          Don Burton
                          wrote on last edited by
                          #43

                          Absolutely agree with the article. Common sense (and a sense of PRODUCTION) coupled with the ability to grasp what the application is going to accomplish are key.

                          1 Reply Last reply
                          0
                          • R Rama Krishna Vavilala

                            I agree. But I am talking about more real life bugs or issues for which some experience in working in live environments will be required: code which will work fine on development environment but breaks in test environments. The candidate may have to use Google search combined with ability to navigate through huge code base to solve those issues.

                            Click here to get a Google Wave Invite.

                            D Offline
                            D Offline
                            Dan Neely
                            wrote on last edited by
                            #44

                            Depending on the situation you're thinking of running a website on a real server instead of dnydnsing to your home PC would probably give a school of hard knocks certification in that sort of troubleshooting.

                            3x12=36 2x12=24 1x12=12 0x12=18

                            1 Reply Last reply
                            0
                            • I Ian Shlasko

                              You know, I consider myself a pretty decent programmer, and I'd never heard of that trick until now. That's why I judge people on ideas instead of specifics... Someone who knows the concepts may not know that particular trick, but would pretty quickly be able to figure out that it could be used to test for powers of two (Unless there's another use I didn't notice). Nice trick, by the way... Limited usefulness for what I generally write, but still nice.

                              Proud to have finally moved to the A-Ark. Which one are you in? Author of Guardians of Xen (Sci-Fi/Fantasy novel)

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

                              It's not about knowing it, it's about being able to think about what it does :) You passed the test :thumbsup:

                              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.

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

                                In order of my priorities: Avoiding code duplication. Cohesion and coupling. Single responsibility. Pre or-post increment operator, especially in C# (there is a catch). Recursion in general. Avoiding 'catch' blocks in low level methods. Theory of programming. If your algorithm isn't common, comment it!

                                1 Reply Last reply
                                0
                                • I Ian Shlasko

                                  You know, I consider myself a pretty decent programmer, and I'd never heard of that trick until now. That's why I judge people on ideas instead of specifics... Someone who knows the concepts may not know that particular trick, but would pretty quickly be able to figure out that it could be used to test for powers of two (Unless there's another use I didn't notice). Nice trick, by the way... Limited usefulness for what I generally write, but still nice.

                                  Proud to have finally moved to the A-Ark. Which one are you in? Author of Guardians of Xen (Sci-Fi/Fantasy novel)

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

                                  There is an other use btw, resetting the lowest bit (which is rarely useful, only in bit hacks)

                                  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.

                                    0 Offline
                                    0 Offline
                                    0x3c0
                                    wrote on last edited by
                                    #48

                                    If they can identify the Glider[^], then they deserve a phone interview. If not, then you could fall back on any other metrics that are suggested.

                                    OSDev :)

                                    D 1 Reply Last reply
                                    0
                                    • K kryzchek

                                      That may or may not be feasible simply because: 1. They may not own a laptop 2. Their development work may belong to their previous employer, so it's proprietary, private or not even in their personal possession (say that 3 times, fast). Although that does bring up a good point: I've asked ones who couldn't provide me with a code sample due to either #1 or #2 above to give me a sample of a personal project they worked on in their free time. To me, when they still *can't* provide a code sample--because they don't do any development in their free time--it tells me that they're not too serious about developing their skills. I may have 75,000 un-finished projects that I've started in my spare time, but at least there's something to be said for taking it upon myself to learn some new things and get some practice.

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

                                      If I was doing the hiring, I would expect myself to understand their code, if not be competent in their IDE. If their code was very unfamiliar, I would find their ability to explain its logic (justify their excessive duplication) as at least one metric of ability/experience.

                                      1 Reply Last reply
                                      0
                                      • H hairy_hats

                                        Since I started programming for a living I have done far less of it in my free time than when it was a hobby. I want to get away from it when I am outside work these days. If your candidate does little else outside work but program I would be worried.

                                        I hope you realise that hamsters are very creative when it comes to revenge. - Elaine

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

                                        Yes, but when you aren't programming for a living, and you are seeking an employment of that nature, you should be doing at least some hobby programming. You should also be doing some personal programming that is more than just hobby, but professional development whenever you have such an employ.

                                        1 Reply Last reply
                                        0
                                        • K kryzchek

                                          I can appreciate that and I'd hardly expect (or want to hire) anyone to spend the majority of their free time programming. But I feel like any potential candidate should have at least ONE sample of their work. It could be a school project, or something they made solely for the purpose of having it in a portfolio. When I first graduated and started going on interviews, I actually built a small e-commerce site just so that I'd have something to show employers.

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

                                          kryzchek wrote:

                                          or something they made solely for the purpose of having it in a portfolio.

                                          I got my last permanent job like that, and I sincerely expect to get several freelance ones like that as well.

                                          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