LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 05-21-2006, 12:52 AM   #1
ArthurHuang
Member
 
Registered: Jan 2006
Posts: 174

Rep: Reputation: 30
Puzzle: How can employer test C++ programming ability?


Most of job descriptions include C/C++ programming experience. However, a cpp program includes head/source code. Both of them are large and inconvenient to write or describe in a short time. So, how does the interviewer test the candidate's C++ programming ability?
 
Old 05-21-2006, 12:59 AM   #2
xode
Member
 
Registered: Aug 2003
Distribution: Mandrake 9.0; FC4; FC8; SUSE 10.3; SUSE 12.1
Posts: 551
Blog Entries: 1

Rep: Reputation: 45
The interviewer doesn't test for programming ability, objectively that is. His/her entire motivation is political (corporate political) under those circumstances.
 
Old 05-21-2006, 01:23 AM   #3
kencaz
Senior Member
 
Registered: Mar 2005
Location: Las Vegas, NV
Distribution: Mandriva Slackware FreeBSD
Posts: 1,468

Rep: Reputation: 47
A simple phone interview from an experienced programmer and some well asked questions can see right through bogus applicants...

KC
 
Old 05-21-2006, 02:23 AM   #4
ArthurHuang
Member
 
Registered: Jan 2006
Posts: 174

Original Poster
Rep: Reputation: 30
Yeah, I believe experienced programmer can judge bogus applicants at a glance-.
The questions is: What are instances of those well asked questions?
 
Old 05-21-2006, 07:30 AM   #5
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
A warning about phone interviews. You never know who is at the other end. Once interviewing an international candidate for a job we conducted a phone interview only (because of money) and we believe that the person at the other end was a different person, but we had no proof. However we walked away from it much wiser
 
Old 05-21-2006, 09:51 AM   #6
ArthurHuang
Member
 
Registered: Jan 2006
Posts: 174

Original Poster
Rep: Reputation: 30
Graemef: Show us some tips-
 
Old 05-21-2006, 09:56 AM   #7
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 54
Quote:
Originally Posted by ArthurHuang
Most of job descriptions include C/C++ programming experience. However, a cpp program includes head/source code. Both of them are large and inconvenient to write or describe in a short time. So, how does the interviewer test the candidate's C++ programming ability?
I've done a lot of technical interviewing, and been interviewed a lot myself.

One good idea is to get your best guys to talk to any prospect. Each of these "best guys" has some aspect of his personality and skill set that cause him to see the world in a particular way. By getting a reasonably broad understanding of the candidate by having him spend a few hours with several people it's extremely unusual to be fooled. Just like open source is usually good source, because of many eyes, this principle applies to most things.

I don't really approve of "testing" people with written tests, so I don't do it. But if that's your thing, debugging a memory leak is a good indicator of whether the guy can solve problems- under pressure. If he can do it sitting in a cube in a new office during interview conditions he'll probably kick a$$ on your staff. Another thing when possible is to ask him to bring source code. A lot of times this is impossible because of non-disclosures (at least in the world I live in) so not being able to do so should not raise any red flags.

When you are looking at a developer, problem solving has many faces. It could be debugging, or choosing the best algorithm given the constraints. Your best guys will be able to ask questions that don't have simple yes/no answers and so you can really understand how the candidate thinks. I could go on and on (and I probably already did ) but the key is having technical people talk to the guy and not hiring anyone just on the basis of some manager who never coded in his life. Those kind of hires will drag your company down every time.

Some of the places I've been have not hired anyone unless everyone in the group approved. Even the manager couldn't crowbar someone onto the staff unless all the techies were satisifed. And we had some good teamwork because of that.

The last thing I would say is that unless you are very short-sighted, you should be looking for a lot more than "experience." I don't care of a guy has ten years of working as a developer with technology x if he's not passionate about what he does and comes across as not being smart. I'll take a smart guy with no experience who loves coding and wants to learn everything before I'll take someone with experience on paper who doesn't love coding every time. And we've made some real good devs out of the former. I'm not saying experience doesn't count- good experience is better than almost anything. But just because someone survived as a coder doesn't mean much if he doesn't live for coding.

Last edited by Randux; 05-21-2006 at 09:58 AM.
 
Old 05-21-2006, 10:14 AM   #8
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
Everyone has their own style. I tend to ask questions to find out what the person is comfortable with and then go into more and more detail until I reach a point where the person doesn't know or is unsure of the answer. For example:

I might start with asking if they could explain to me what they understand OO programming to be. From there I will pick something up, maybe inheritance, maybe polymorphism and follow that with a line of attack. How do you have class inheritance in C++? What is the effect of a protected modifier in inheritance? When would a private modifier be used, as in class B : private class A? When might you have a private constructor? What is the difference between inheritance and association? Essentially their answer will trigger off my next question, sometimes I need to rephrase it so that they understand my question and occasionally I'll go off at a tangent but I want to understand their depth of understanding.
 
Old 05-21-2006, 11:02 AM   #9
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 54
That sounds like a good approach. Another thing I try to do is not to sound like I'm quizzing someone. That usually doesn't work so well. I try to ask questions that make the person show me how he thinks about solving problems. And I can tell from his approach whether or not he knows what he's talking about.
 
Old 05-21-2006, 11:15 AM   #10
xode
Member
 
Registered: Aug 2003
Distribution: Mandrake 9.0; FC4; FC8; SUSE 10.3; SUSE 12.1
Posts: 551
Blog Entries: 1

Rep: Reputation: 45
Quote:
From Randux

...is a good indicator of whether the guy can solve problems- under pressure....
And here is most of the problem of the corporate workplace in a nutshell. Pressure stifles creativity and creativity is definitely needed in programming.
 
Old 05-21-2006, 12:39 PM   #11
ArthurHuang
Member
 
Registered: Jan 2006
Posts: 174

Original Poster
Rep: Reputation: 30
Nothing tricks but read books completely and grasp the principle in practice.
 
Old 05-21-2006, 12:49 PM   #12
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 54
Quote:
Originally Posted by xode
And here is most of the problem of the corporate workplace in a nutshell. Pressure stifles creativity and creativity is definitely needed in programming.
You're right but there are a few different environments: there is R&D where people dream stuff up and then figure out if what they're trying to do is even possible. (I'm talking about heavy-duty software shop- this phase doesn't exist in applications development since applications present organization challenges that are known to be possible to overcome.) This sector is relatively free of pressure in the short term, but they have to deliver prototypes or eventually they won't have jobs.

Then there's development, where good first and second-line managers should keep the heat off the tech staff and be a force-field against management from below. That's probably the hardest job in IT, when done right, and it hardly ever is. There are still schedules to be kept, because the marketing and pubs guys need to have something to do also.

The support guys have to solve the memory leaks under pressure, but the majority of software support organizations are nothing more than glorified telephone operators, so this stuff gets thrown back on the devs. It's counterproductive for everyone. When it's done right, and you have really capable support staff, you will find that the quality of development output is unusually high, as you alluded to the converse in your comment. It's hardly even done right, though, so this is what I was thinking of when I gave the example.

Then again, when some company pays a half million bucks for a piece of software, there is going to be pressure on the whole supply chain, from the worthless sales guy all the way down to the guy who writes the bugfix.

Last edited by Randux; 05-21-2006 at 12:50 PM.
 
Old 05-21-2006, 08:11 PM   #13
xode
Member
 
Registered: Aug 2003
Distribution: Mandrake 9.0; FC4; FC8; SUSE 10.3; SUSE 12.1
Posts: 551
Blog Entries: 1

Rep: Reputation: 45
Quote:
From Randux

Then again, when some company pays a half million bucks for a piece of software, there is going to be pressure on the whole supply chain, from the worthless sales guy all the way down to the guy who writes the bugfix.
I couldn't agree more. However, I would like to add that: (1) your statement here is proof positive of what I stated above, namely that interviewers are controlled by corporate politics and are not objective; and (2) that the pressure arising from having paid a half million for a piece of software ultimately derives from the people having paid for the software wanting, perhaps even unconsciously, to get revenge for having had to pay. Speaking of revenge, many interviewers, beyond being political, also seek out revenge, and are looking for candidates, who, if hired, would be easy targets to be repeatedly dumped on (yuck!).
 
Old 05-22-2006, 02:58 AM   #14
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 54
Quote:
Originally Posted by xode
I couldn't agree more. However, I would like to add that: (1) your statement here is proof positive of what I stated above, namely that interviewers are controlled by corporate politics and are not objective; and (2) that the pressure arising from having paid a half million for a piece of software ultimately derives from the people having paid for the software wanting, perhaps even unconsciously, to get revenge for having had to pay. Speaking of revenge, many interviewers, beyond being political, also seek out revenge, and are looking for candidates, who, if hired, would be easy targets to be repeatedly dumped on (yuck!).
No, the way you understand what I said is not what I meant; and, I don't agree with your conclusions:

> (1) namely that interviewers are controlled by corporate
> politics and are not objective;

In companies that I've worked for and with that have been big enough to charge a half million dollars (and sometimes much more) for software, the developers (and even many managers) are very far from corporate politics. These guys are certainly objective, perhaps to a fault; they don't care if the company stays in business another day- all they care about is that they don't have to work with some idiot or do-nothing "developer" who doesn't know or want to learn anything. It's quite interesting and effective that their own selfish concerns actually work towards the greater good which is that when good guys get hired, everybody wins.

I agree that as one proceeds up the ladder politics play an ever-increasing and harmful role, but this does not (at least not in my experience) affect technical staffing in the least. Senior management is most certainly chosen on the basis you mention, but technical staff- I haven't seen it happen.

> (2) that the pressure arising from having paid a half million
> for a piece of software ultimately derives from the people
> having paid for the software wanting, perhaps even
> unconsciously, to get revenge for having had to pay.

Again, no. The people writing the cheques are indeed far removed from the users of the software. The end-users and programmers in the company who bought the product have no idea of the terms under which the applications and software they use were obtained; and they certainly make every effort to establish friendly relations with the support and dev people of their vendors in order that their problems would be handled expeditiously.

I suppose that there are circumstances unlike what I've experienced so perhaps if you have a particular case that you've witnessed you might care to point it out if it bears on the interviewing question.

I don't disagree with you, if what you are trying to bring out is the tremendous pressure and harmful effects of greed in the corporate world as they apply to the software business. I've seen many lives ruined from stress-related illnesses including strokes, heart failure, and all kinds of other woes. But I think in terms of technical staffing, this is a self-healing area, for the reasons I mentioned above. The one pleasant side of all the ugly politics and greed is that the technical people often develop a kind of comeraderie as a result of the awful conditions.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming a Test Card GTrax Linux - Software 0 04-14-2006 07:05 AM
GPL and employer permission Ipolit Linux - General 4 03-08-2006 07:20 AM
simple test circuit to learn kernel device driver programming slzckboy Programming 3 01-30-2006 02:12 AM
A note on my first MS-related post (AKA,my employer is forcing me to use M$ Access.) opioid Programming 9 08-11-2004 12:06 PM
Multicasting puzzle tachyon273 Linux - Networking 0 03-14-2003 04:38 PM


All times are GMT -5. The time now is 03:36 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration