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. Who would you hire and why?

Who would you hire and why?

Scheduled Pinned Locked Moved The Lounge
questioncsharpjavadesigntesting
40 Posts 30 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.
  • T TheOnlyRealTodd

    You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

    R Offline
    R Offline
    R Giskard Reventlov
    wrote on last edited by
    #7

    Candidate A appears to fit your requirement more closely. Whilst Candidate B has some great skills but has no proven coding ability. Given what you need B would require a longer learning curve to get up top speed. Further, how much of your work requires intimacy with and or creation of complex algorithms? In any case, hire the one that fits best with the rest of your coders. Getting a good team culture going takes time and effort - bringing someone in who might disrupt that or not fit can be very damaging.

    1 Reply Last reply
    0
    • T TheOnlyRealTodd

      You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

      D Offline
      D Offline
      Deflinek
      wrote on last edited by
      #8

      This looks to me a bit out reality. Like choice between car mechanic that can take engine apart and put it back blindfolded but has no idea how to drive and a perfect driver that can drift around town all day long but can't change a tire. They are two extremes unlikely to happen without anything in between. But to answer your question I would hire the one that I enjoyed talking to more. The one that is friendlier and seems more team player as it would go a long farther way than any skill he has already.

      -- "My software never has bugs. It just develops random features."

      1 Reply Last reply
      0
      • T TheOnlyRealTodd

        You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

        C Offline
        C Offline
        Chris Maunder
        wrote on last edited by
        #9

        Candidate A. You can teach algorithms. You can't teach extremely clean and readable code.

        cheers Chris Maunder

        L J F A 4 Replies Last reply
        0
        • C Chris Maunder

          Candidate A. You can teach algorithms. You can't teach extremely clean and readable code.

          cheers Chris Maunder

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

          main(I,Il)
          lOL*Il[];
          { FILE *L;
          unsigned lO;
          int Q,OL[' '^'0'],llO = EOF,

          O=1,l=0,lll=O+O+O+l,OQ=056;
          lOL\*llL="%2x ";
          (I != 1<<1&&(O1O(QI\[0\]),O10(1011-1010))),
          ((L = QLQ(Il\[O\],"r"))==0&&(O1O(QI\[O\],Il\[O\]),O10(O)));
          lO = I-(O<<l<<O);
          while (L-l,1)
          {	QO0(Q = 0L;((Q &~(0x10-O))== l);
          		OL\[Q++\] = OlQ(L));
          	if (OL\[0\]==llO) break;
          	O1O("\\0454x: ",lO);
          	if (I == (1<<1))
          	{	QO0(Q=Ol0(QI\[O<<O<<1\]);Q<Ol0(QI\[0\]);
          		Q++)O1O((OL\[Q\]!=llO)?llL:QI\[lll\],OL\[Q\]);/\*"
          		O10(QI\[1O\])\*/
          		O1O(QI\[lll\]);{}
          	}
          	QO0 (Q=0L;Q<1<<1<<1<<1<<1;Q+=Q<0100)
          	{	(OL\[Q\]!=llO)? /\* 0010 10lOQ 000LQL \*/
          		((D(OL\[Q\])==0&&(\*(OL+O1Q(Q-l))=OQ)),
          		OlO(OL\[Q\])):
          		OlO(1<<(1<<1<<1)<<1);
          	}
          	O1O(QI\[01^10^9\]);
          	lO+=Q+0+l;}
          }
          D(l) { return l>=' '&&l<='\\~';
          

          }

          What are you trying to say?

          In this present crisis, government is not the solution to our problem; government is the problem. ~ Ronald Reagan

          C S 2 Replies Last reply
          0
          • T TheOnlyRealTodd

            You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

            OriginalGriffO Offline
            OriginalGriffO Offline
            OriginalGriff
            wrote on last edited by
            #11

            The one with the big t*ts. Because ... :-D

            Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

            "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
            "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

            P 1 Reply Last reply
            0
            • T TheOnlyRealTodd

              You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

              J Offline
              J Offline
              Jorgen Andersson
              wrote on last edited by
              #12

              I can't believe noone asked yet what the product is. Are you building missile control systems, or a CMS? I'd say that is quite important for choosing.

              Wrong is evil and must be defeated. - Jeff Ello

              1 Reply Last reply
              0
              • C Chris Maunder

                Candidate A. You can teach algorithms. You can't teach extremely clean and readable code.

                cheers Chris Maunder

                J Offline
                J Offline
                Jorgen Andersson
                wrote on last edited by
                #13

                I'd claim the opposite. Algorithms require understanding. Clean code only training.

                Wrong is evil and must be defeated. - Jeff Ello

                C 1 Reply Last reply
                0
                • OriginalGriffO OriginalGriff

                  The one with the big t*ts. Because ... :-D

                  Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

                  P Offline
                  P Offline
                  Pete OHanlon
                  wrote on last edited by
                  #14

                  Because the guy with the big t*ts looks like he spends more time at his desk?

                  This space for rent

                  1 Reply Last reply
                  0
                  • T TheOnlyRealTodd

                    You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

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

                    A. What Chris said. Marc

                    V.A.P.O.R.ware - Visual Assisted Programming / Organizational Representation Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                    1 Reply Last reply
                    0
                    • T TheOnlyRealTodd

                      You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

                      M Offline
                      M Offline
                      Mark_Wallace
                      wrote on last edited by
                      #16

                      Not enough information.

                      I wanna be a eunuchs developer! Pass me a bread knife!

                      1 Reply Last reply
                      0
                      • L Lost User

                        main(I,Il)
                        lOL*Il[];
                        { FILE *L;
                        unsigned lO;
                        int Q,OL[' '^'0'],llO = EOF,

                        O=1,l=0,lll=O+O+O+l,OQ=056;
                        lOL\*llL="%2x ";
                        (I != 1<<1&&(O1O(QI\[0\]),O10(1011-1010))),
                        ((L = QLQ(Il\[O\],"r"))==0&&(O1O(QI\[O\],Il\[O\]),O10(O)));
                        lO = I-(O<<l<<O);
                        while (L-l,1)
                        {	QO0(Q = 0L;((Q &~(0x10-O))== l);
                        		OL\[Q++\] = OlQ(L));
                        	if (OL\[0\]==llO) break;
                        	O1O("\\0454x: ",lO);
                        	if (I == (1<<1))
                        	{	QO0(Q=Ol0(QI\[O<<O<<1\]);Q<Ol0(QI\[0\]);
                        		Q++)O1O((OL\[Q\]!=llO)?llL:QI\[lll\],OL\[Q\]);/\*"
                        		O10(QI\[1O\])\*/
                        		O1O(QI\[lll\]);{}
                        	}
                        	QO0 (Q=0L;Q<1<<1<<1<<1<<1;Q+=Q<0100)
                        	{	(OL\[Q\]!=llO)? /\* 0010 10lOQ 000LQL \*/
                        		((D(OL\[Q\])==0&&(\*(OL+O1Q(Q-l))=OQ)),
                        		OlO(OL\[Q\])):
                        		OlO(1<<(1<<1<<1)<<1);
                        	}
                        	O1O(QI\[01^10^9\]);
                        	lO+=Q+0+l;}
                        }
                        D(l) { return l>=' '&&l<='\\~';
                        

                        }

                        What are you trying to say?

                        In this present crisis, government is not the solution to our problem; government is the problem. ~ Ronald Reagan

                        C Offline
                        C Offline
                        Chris Maunder
                        wrote on last edited by
                        #17

                        :rolleyes:

                        cheers Chris Maunder

                        1 Reply Last reply
                        0
                        • J Jorgen Andersson

                          I'd claim the opposite. Algorithms require understanding. Clean code only training.

                          Wrong is evil and must be defeated. - Jeff Ello

                          C Offline
                          C Offline
                          Chris Maunder
                          wrote on last edited by
                          #18

                          Maybe we have different experiences ;)

                          cheers Chris Maunder

                          J 1 Reply Last reply
                          0
                          • T TheOnlyRealTodd

                            You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

                            D Offline
                            D Offline
                            David Crow
                            wrote on last edited by
                            #19

                            TheOnlyRealTodd wrote:

                            Candidate A...has the software engineering side of things down, but he knows nothing about algorithms or data structures...

                            How is this even remotely possible? Perhaps he is not truly an engineer. I would further postulate that a programmer generally precedes an engineer, and a programmer most assuredly knows about algorithms and data structures.

                            "One man's wage rise is another man's price increase." - Harold Wilson

                            "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                            "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

                            P 1 Reply Last reply
                            0
                            • T TheOnlyRealTodd

                              You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

                              R Offline
                              R Offline
                              RossMW
                              wrote on last edited by
                              #20

                              TheOnlyRealTodd wrote:

                              You're a hiring manager

                              If you're one of these then you'd probably wouldnt have a clue as to what the difference is between the two so you'd hire the cheapest! :-\

                              1 Reply Last reply
                              0
                              • J jgakenhe

                                Since it is a long-term position, rather than a short-term or consultant position, I would choose the candidate that would be the best fit long-term. Not every candidate will know everything, if they did, then they'd probably get bored or want a raise and leave. To be the best long-term, I'd think they'd need to show a history of following through on their goals. Candidate A most likely does not have a B.S. programming degree as he/she does not know anything about algorithms and data structures. Candidate B obviously does and was on a learning path prepared from a university, rather than self study. The 2 candidates both have a place in the industry, but my pick would be Candidate B, because he/she has proven themselves they follow through with their goals and obviously learned something and will continue to learn in the future. Also, I'd choose a candidate from an average to hard program as they have proven problem solving skills; which is what we do.

                                P Offline
                                P Offline
                                Paulo Zemek
                                wrote on last edited by
                                #21

                                B.S. programming degrees vary a lot according to university, region etc... Today there are many universities that tell all about OOP, SOLID principles etc and yet the teachers themselves don't know much about algorithms... so you cant assume one is self-taught and the other isn't.

                                1 Reply Last reply
                                0
                                • D David Crow

                                  TheOnlyRealTodd wrote:

                                  Candidate A...has the software engineering side of things down, but he knows nothing about algorithms or data structures...

                                  How is this even remotely possible? Perhaps he is not truly an engineer. I would further postulate that a programmer generally precedes an engineer, and a programmer most assuredly knows about algorithms and data structures.

                                  "One man's wage rise is another man's price increase." - Harold Wilson

                                  "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                                  "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

                                  P Offline
                                  P Offline
                                  Paulo Zemek
                                  wrote on last edited by
                                  #22

                                  Actually that's quite possible. Maybe it shouldn't be and they shouldn't be called engineers, but there are lots of self-called "Engineers" that actually barely know how to code, yet they are able to talk a lot on how to write maintainable code, unit tests etc... but somebody else probably needs to write the code for them if they are doing anything more complex than a "Hello world" application.

                                  1 Reply Last reply
                                  0
                                  • T TheOnlyRealTodd

                                    You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

                                    M Offline
                                    M Offline
                                    Mycroft Holmes
                                    wrote on last edited by
                                    #23

                                    Hire the girl, they can be a pleasure to work with and we need some gender balance in our industry. If one is not a girl then throw em back until you get one.

                                    Never underestimate the power of human stupidity RAH

                                    S 1 Reply Last reply
                                    0
                                    • T TheOnlyRealTodd

                                      You're a hiring manager. You are responsible for picking a candidate who will be in a long-term position with the company and who you know you will be able to mold/teach. Both candidates are friendly and willing to learn. But there's a slight challenge. Candidate A writes extremely clean and readable code, follows SOLID principles, writes great unit tests, and overall has the software engineering side of things down, but he knows nothing about algorithms or data structures aside from just using what is provided in the standard libraries. Candidate B knows all of the sorts, trees, and hashes like the back of his hand and is able to whiteboard them out no problem and answer all of your questions quickly under pressure. However, Candidate B has no experience with object-oriented design, SOLID principles, has a few demo apps which are only procedural in nature, and has never written a unit test in his/her life. Both candidates are friendly and both seem like they have potential to learn. Your firm uses object-oriented programming in either C# or Java and produces applications that must meet a efficiency standard and also meet OOP design guidelines. Who do you hire and why?

                                      D Offline
                                      D Offline
                                      dan sh
                                      wrote on last edited by
                                      #24

                                      Hiring manager: The one who asks for smaller paycheck. Me: I would give A some time and read up about one of the algorithms that you might be using. If he can pick it up in say 30 minutes (at least bare basics) I would know if he is a quick learner. And by pick up I do not mean cram it up; I mean if he can at least tell me why are we doing what we are doing for at least first two steps. For B, I would ask him to write a complex algorithm. I guess he will be done with it fairly quickly. Then I can ask him to refactor it and make it cleaner. Post these two tasks, I might have a better understanding of whom to hire.

                                      "It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[^]

                                      1 Reply Last reply
                                      0
                                      • C Chris Maunder

                                        Maybe we have different experiences ;)

                                        cheers Chris Maunder

                                        J Offline
                                        J Offline
                                        Jorgen Andersson
                                        wrote on last edited by
                                        #25

                                        Well, they actually depend on each other. If you don't understand what you're doing, the code will certainly appear as unclean

                                        Wrong is evil and must be defeated. - Jeff Ello

                                        1 Reply Last reply
                                        0
                                        • L Lost User

                                          Neither, because they are both figments of your imagination. If you ever do have the good fortune to meet such people in the future ensure that you breed with them.

                                          M Offline
                                          M Offline
                                          Member 11683251
                                          wrote on last edited by
                                          #26

                                          I'm sorry but you aren't the right candidate at this time but would you care for a marriage with my daughter instead? ;P

                                          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