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 1 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 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
                      • S Stuart Jeffery

                        To test skills in the workplace the best thing to do is set the potential employee (PE) an example that you have had to complete in the past. Generally some quick mini app would be best mainly to check how the PE codes and if they are at least equal to your expectations. Try to make the example use code that would not easily be found in a book or in a google search.

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

                        I agree with your general scenario, but I must qualify it with the opinion that I would test a candidate not on their code, but on somebody else's. One of my strongest skills is debugging and evaluation that always impresses me in inatesterviews, as well as in candidates.

                        1 Reply Last reply
                        0
                        • R realJSOP

                          kryzchek wrote:

                          They may not own a laptop

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

                          kryzchek wrote:

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

                          Not a valid assumption. I have a laptop, and I have a development environment on it that includes all of my tools and whatever source code *of mine* I might be working on. That's what I meant by "development environment". Providing a code sample without being able to show that it actually works and that I know what it does is a waste of everyone's time. I took my laptop to every job interview with several of my codeproject articles ready to demonstrate, as well as some of the web sites I've built. Nobody wanted to see them, but I was ready if they did.

                          .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

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

                          John Simmons / outlaw programmer wrote:

                          kryzchek wrote: They may not own a laptop They're not serious about being a programmer. Don't hire them.

                          Bullshit. Most of the better programmers I have known and worked with, have not started out with their own laptop. OK, in my country, laptops are damn expensive. My first, an Acer bought only this year, cost R15k, with my take-home after about six years as a senior programmer, being just over R25k, just before my R7k mortgage. As an 'overpriced' consultant, working a full 160hr a month, I can only get R48k. Most of my colleagues have actually taken their office desktops home every night. BTW, it's about 8-9 USD to one ZAR.

                          R W 2 Replies Last reply
                          0
                          • D Dalek Dave

                            A good conversation is an indicator of their ability. If they can talk with ease and confidence, and answer quickly and incisively any questions thrown at them then mark them up. Have a 'Long List' of phone interviewees, (no more than, say, 10-12) and from that conversation select 5-6 for F2F meeting. Whilst there, ask them what they would like to be doing in months and a years time, ask them how they learn new stuff, ask them if they are happy in a secondry position. If successful, would they be able to cope with a demanding schedule? Look at the past history, and why they are leaving/have left the previous employer. If all well, have a short list of your two favourite candidates, and select the one you will feel happier working with, after all it is important you are happy too. If the better qualified one comes accross as a bit stiff and formal, not to easy to be sociable with, choose the slightly less able if he/she is closer to your social type, after all you will be with this person many hours a day. Otherwise just employ the one with the biggest breas.....CENSORED...

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

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

                            Dalek Dave wrote:

                            Look at the past history, and why they are leaving/have left the previous employer.

                            Good call. Either way, their answer will be very informative.

                            1 Reply Last reply
                            0
                            • C Corporal Agarn

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

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

                              Where do you work? :cool:

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

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

                                Evil interview questions (which I have been asked, and personally, don't care much for, but it's not so much the rightness of the answer than how the interviewee answers): What are the most popular design patterns? Name 5 and explain what they accomplish. Describe basic blocking and synchronization methods and their support in .NET What's the difference between Thread.Abort and Thread.Interrupt? What are the methods in the Object class? What are the constraints one can apply to a generic class? What's the difference between identity and equivalence, and how do you check for both, and why? What's Inversion of Control? What's the Composite Application Block (or Spring.NET or similar)? What's the difference between a delegate and an event? Write some LINQ to parse this XML block to extract all the company names (make up some XML beforehand) What's the difference between const and read-only? What's a value type, what's a reference type, and what can you say about both? What's boxing? (No, not Boxing Day) When does boxing occur implicitly? What is finalization? When do you use IDispose? What is the Finalization Queue? How does finalization work? What's the difference between an abstract class and an interface? When do you use one vs. the other? How does the "using" keyword work? What is proper way of catching exceptions (I love these philosophical questions)? What is an attribute? What attributes have you used, and why? What is the difference between overloading and overriding? Enjoy! And that doesn't even cover ASP.NET!!! 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

                                R D 2 Replies Last reply
                                0
                                • I Ian Shlasko

                                  The other suggestions are good... You do want to see a sample of their code, if possible... But that only tests how well they can program in THAT LANGUAGE, not how well they program in general... I'm no expert in this (And I'm dreading the day when I'll be put in your shoes), but I'd care less about their actual code and more about their general knowledge... I like the old "What's the difference" questions, like: - What's the difference between a quick sort and a bubble sort? - Between a class and a structure? - Between passing parameters by reference or by value? - Between an array and a list? - Between an interface and an abstract class? I think anyone who can answer those, and sound like they actually understand the subject matter (As opposed to just quoting books), would probably be at least somewhat competent. One I've always wanted to throw in... "What runs faster? C# or VB.NET, and why?"

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

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

                                  Ian Shlasko wrote:

                                  - What's the difference between a quick sort and a bubble sort?

                                  The former is quick, for large values of n in O(n), but mall n insertion sorts may even actually compete with bubble sorts.

                                  Ian Shlasko wrote:

                                  Between a class and a structure?

                                  No contest.

                                  Ian Shlasko wrote:

                                  - Between passing parameters by reference or by value?

                                  You have to use the 'ref' suffix for some? :laugh:

                                  Ian Shlasko wrote:

                                  - Between an array and a list?

                                  A list can be written on average paper.

                                  Ian Shlasko wrote:

                                  One I've always wanted to throw in... "What runs faster? C# or VB.NET, and why?"

                                  Because VB.NET has filtered exceptions?

                                  1 Reply Last reply
                                  0
                                  • M Marc Clifton

                                    Evil interview questions (which I have been asked, and personally, don't care much for, but it's not so much the rightness of the answer than how the interviewee answers): What are the most popular design patterns? Name 5 and explain what they accomplish. Describe basic blocking and synchronization methods and their support in .NET What's the difference between Thread.Abort and Thread.Interrupt? What are the methods in the Object class? What are the constraints one can apply to a generic class? What's the difference between identity and equivalence, and how do you check for both, and why? What's Inversion of Control? What's the Composite Application Block (or Spring.NET or similar)? What's the difference between a delegate and an event? Write some LINQ to parse this XML block to extract all the company names (make up some XML beforehand) What's the difference between const and read-only? What's a value type, what's a reference type, and what can you say about both? What's boxing? (No, not Boxing Day) When does boxing occur implicitly? What is finalization? When do you use IDispose? What is the Finalization Queue? How does finalization work? What's the difference between an abstract class and an interface? When do you use one vs. the other? How does the "using" keyword work? What is proper way of catching exceptions (I love these philosophical questions)? What is an attribute? What attributes have you used, and why? What is the difference between overloading and overriding? Enjoy! And that doesn't even cover ASP.NET!!! 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

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

                                    I have realized, all these questions are useless when it comes to hiring someone. I trained my 4 year daughter to answer some of these questions. My aim was to have her in a phone interview and pass it. But I never did it. :)

                                    Click here to get a Google Wave Invite.

                                    D 1 Reply Last reply
                                    0
                                    • I Ian Shlasko

                                      The other suggestions are good... You do want to see a sample of their code, if possible... But that only tests how well they can program in THAT LANGUAGE, not how well they program in general... I'm no expert in this (And I'm dreading the day when I'll be put in your shoes), but I'd care less about their actual code and more about their general knowledge... I like the old "What's the difference" questions, like: - What's the difference between a quick sort and a bubble sort? - Between a class and a structure? - Between passing parameters by reference or by value? - Between an array and a list? - Between an interface and an abstract class? I think anyone who can answer those, and sound like they actually understand the subject matter (As opposed to just quoting books), would probably be at least somewhat competent. One I've always wanted to throw in... "What runs faster? C# or VB.NET, and why?"

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

                                      R Offline
                                      R Offline
                                      ragnaroknrol
                                      wrote on last edited by
                                      #59

                                      Problem is I can answer almost every one of those fairly easily and I still can't actually code past simple forms. Understanding the concept and grasping the manner to use them is different. I can tell you why using datasets to represent customers is bad compared to making them objects and using that to keep track of them. But actually coding this stuff is beyond my skills right now. Least you didn't suggest asking what a delegate is...

                                      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)

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

                                        I have learnt this trick before, and I know what the "&" operator does, but I would be pissed of with someone failing me for forgetting today. I think ++ is much more important. When does it happen in C#? don't answer, just think or learn.

                                        1 Reply Last reply
                                        0
                                        • B Brady Kelly

                                          Where do you work? :cool:

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

                                          Small shop that you need a background check, they did not want to waste it. :laugh:

                                          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