NEWSLETTERS
 

CIO.com updates, insights and advice on technology, management and your career.

 CIO BlackBerry News and Tips
 CIO Research and Analysis
 CIO Microsoft
 CIO Insider
 
 
 
SUBSCRIBE TO CIO
 
Are you involved in setting the direction for your company's IT budget or strategy?

Apply today for a FREE subscription to CIO Magazine!

 


Mon, Feb 4, 2008 19:02 EST

A Useful Interview Question for Developers

Topic: Development

Blog: You're the Boss

Current Rating: 5 Comments: 10

IT managers rarely know what to ask when a programmer is led into their office during a job interview. Here's one that can separate the true subject matter experts from the tyros.

Here's a lesson I just learned.

When I assigned three articles to freelance writers about the relative strengths and weaknesses of perl, PHP, and JavaScript, I never imagined that programmers would agree with the lists assembled by our language experts. After all, these are essentially opinion pieces, and every professional will have a personal list of when a language is the best tool for the job, and when its use will have techies muttering old adages about "...everything looks like a nail." So, no surprise—there's lots of comments on these articles.

The nature of those comments is another thing, though. I knew that these articles would attract attention from fans who believed their favorite language is sacrosanct and appropriate for every possible use. However, I also expected that we'd get plenty of thoughtful comments from experienced developers who'd say, "I disagree with your third point in particular... but here's what I think are the appropriate and inappropriate use of the language." The collection of reader could give everyone far more depth than any one individual author's article. Instead, most of the comments attack the authors but offer no alternatives. (One exception is a thread on theserverside asking the community to compare Java's strengths and weaknesses. It's still largely about language than business applications, but that's copacetic.)

I've been a software development participant and groupie for most of my life. I've worked with or examined dozens of programming languages. I've liked some, found others impossible to think in. But I never imagined that any of them was the One Right Answer. So the lack of deliberate thought was a small shock to me... until I reminded myself that the world is populated by far more novices than it is experts. I've spent most of my time, in recent years, with subject matter experts. They don't always agree, but they can argue their viewpoint and respect other's opinions. Low-level people, however, don't have the data to back up their opinions, so all they can do is criticize those who appear to poke at their favorite (which is usually the same as "the only one I know").

There's a little "life lesson" in this that managers can put to pragmatic use. Let's say yours is a C# shop. The next time that a developer is interviewing for a job in your department, ask, "In your experience, what are C#'s strengths and weaknesses? What's it best at, and worst at?" It'll be an instant litmus test for whether a developer is actually experienced or has a single year of experience repeated multiple times. Anyone who can think in a language can evaluate it dispassionately. Anyone who has used more than a few languages will have an opinion. You and your development staff might not agree with that opinion, but what's important is that the applicant has one.

It almost doesn't matter what the developer's answer is, as long as there's something on the "... and here's what I don't like about it" side. On the other hand, someone who insists that C# is great for everything immediately shows that's he's just a beginner, no matter what "senior" tag he puts on his résumé.


You do not have flash or javascript support.
Average (4 votes)
5
 
 
Tue, Feb 5, 2008 5:46 EST
Anonymous user
Posted by: Rosco
Rating: 70

As a non technical IT Recruiter I find this suggestion VERY useful as a generic (basic) qualifier of applicants.
The logic is there and makes sense.
Thanks VERY much for the tip - brilliant!

 
Tue, Feb 5, 2008 20:54 EST
Posted by: Adrian Tudor
Rating: 80

Great points… I see this so much. Hiring good talent is so important to the success of a product/company and separating the wheat from the chaff is getting harder and harder. Similar to this recommendation I also practice the following; Ask the applicant to think of two projects or products or deployments – whatever fits the category, one good, which they considered was successful and one bad, which they would consider a failure. Then have them describe why was there success/failure in each case. I found that this really separates those who think things through, who choose to build an awareness of the overall context of the projects they work on from those who only care about writing some code and are completely oblivious to the other dynamics affecting a project.

One other option to ensure good hires is to always have an opening posted on your website weather you are actually hiring or not. Good technologists come when they are available not when you need them. So in this manner at list I get a heads up – hopefully – when they are available.

 
Thu, Feb 7, 2008 13:15 EST
Anonymous user
Posted by: Cal Evans
Rating: 90

Hi Ester!

IT managers rarely know what to ask when a programmer is led into their office during a job interview.

As a (previous and future) Director of IT, I've had my share of experience in hiring developers. In most cases, I have hired developers that I understand and while I could easily quiz them on their knowledge, I almost never do. Back in '99 I actually wrote up my thoughts on this in the article Nerd Herding. A non-technical manager should not try and evaluate a developer. It's the height of arrogance to think that there is a magic question that they can ask a developer to "separate the true subject matter experts from the tyros". The very premise of your post is that the manager is not knowledgeable, in your scenario, how can they be expected differentiate a good answer form a bad one?

If a non-technical manager is required to hire a developer, my advice is to call in another developer, or as I propose, several developers, and let them evaluate the potential hire. IMHO (and for the record this comment IS an opinion piece) this is a much more successful way to hire qualified developers. (The side benefit is that watching your existing developer staff interact with the new hire will give you an idea of whether the person will fit in personality-wise...and how they fit in is 50% of the hiring decision.)

One final word on the PHP article, as I've stated before, you can say that it was an opinion piece, but it was not presented as such. It was presented as a factual article from a subject matter expert. The response from the community, especially since several leading members of the PHP community (not me…I’m just a reporter, others) took the time to respond, should tell you that maybe you got it wrong there and should reconsider it.

Oh and just so you know, my bulleted list of when I would not use PHP is this:
* Real-time server processes
* Anything that requires persistent state.
* Long running server processes
* Desktop applications (Yes, it can actually be done but I would never do it)
* Windows server processes (and I’ll get hate mail for that but this is MY list)
* Graphical applications (since these are usually desktop applications, that would cover it but I felt it necessary to list it separately)

Notice the absence of words like "scalable" and "security"?

Thanks again for posting on my blog,

=C=

 
Thu, Feb 7, 2008 17:23 EST
Anonymous user
Posted by: Pádraic Brady
Rating: 50

As a developer who enjoys programming in Ruby, PHP, C, Javascript, Java, Perl, and Erlang what I'd love to see is a response to that PHP article you're referring to where all the factual lies (as disproven again, and again, and again by those "Low-level people" you keep ignoring) are finally revealed as truth. I'm sure Google will cooperate if you dig deep enough into anything written pre-1999 when at least some of it was then true.

The truth is that the article was never going to be responded to the way you're seeking because the article was a piece of factual abuse. The comments posted were an often emotional reaction to what the PHP community realised was a horrific attack on PHP which lacked any semblance of fact, truth or reality. One cannot debate lies when the liar insists they are truth. The only part anyone agreed with - which seems oddly to be only part you're plying as an excuse that the commentors don't agree with - is that PHP is not a good fit for every, or even most, programming tasks. Let's look at how many languages I have learned and use before you turn that one on me. I'm not even a rarity in PHP.

This sudden burst of advice just pronounces this magazine's continued blindness to how atrocious the referenced PHP article is. It is a laughable litany of factual errors, lies, outdated failings, and poorly conceived advice with precisely zero basis in reality. Your response to these failings has been frankly disgraceful. No amount of comments, additional insulting articles dressed up in a professional advice packaging, or attacks on the responses the article has garnered will change that.

The article speaks so much for itself, that I invite any programmer of any level to go read it right now. I'm dead serious. If you believe PHP is total crap - still go read it. If you don't like PHP, you'll probably find it hilarious - until they reach your preferred web app alternative language. There is a tipping point where intelligently delivered criticism of a language drops off the cliff into a steaming pile of babbling garbage, and this is one of the finest examples I've ever seen. It's tripe.

Why don't you, as editor, respond to the comments pointing out the flaws instead of this transparent attempt to redirect attention to the one facet of the article nobody has been disagreeing with - especially since anyone can see your ridiculous ploy if they can read. I might then have some modicum of respect for your editorial prowess.

As for a clear cut response to the PHP article in question. One of PHP's most enlightened community members has delivered a comprehensive retort for your viewing pleasure:
You Use PHP to Troll WHOM?! You Used PHP to Troll WHOM?! (PHP and Enterprise Scalability Part 1/5)

Respond to that if you can. It's so comprehensive, it had to be broken into 5 parts to cover all the facets.

 
Mon, Feb 11, 2008 11:08 EST
Anonymous user
Posted by: gxi@georgeingram.com
Rating: 10

I am sure most of the experts like me reviewed all three articles, and printed to PDF for later use. These scripting languages like Java serve their purpose and the articles are well articulated. But good old fashion C, C++, and low level Assembly for firmware can not be replaced.

There are far more techoweenies out there that can write script, and far fewer can debug the mess created by them. For that application the word “Wrappers” comes to mind.

Yes it is faster, but unfortunately it is easy to hack, creates security issues, and the boss saves money because he or she can get a scripter at cheap, cheap , cheap..... It come down to this "you pay for what you get", if you want "disposable" code so be it, place it in file 13 and “forgetta bout it”

Cheers,

George Ingram, "Old School", wasting my words again to Idiots

Post new comment

* Subject:
* Username:
* E-mail:
The content of this field is kept private and will not be shown publicly.
Homepage:
* Body:
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <strike> <p> <br>
  • Lines and paragraphs break automatically.
More information about formatting options

* Denotes required field.

About this Blog

How would you solve this management problem?

Hot Conversations

Ex-Microsofties Look Back in Anger

Posted by Shane ONeill in News | 3 comments

The Price of IT Outsourcing

Posted by Beth Bacheldor in Best Practices | 2 comments

Start a Conversation
Click to post

Got something to say? We want to hear it! Click the Post button to get started. GO»

EXPERT ADVICE
See our roster of experts.

Advice & Opinion from more than 115 of IT's most insightful thinkers.

  PARTNERS       WEBCASTS    
 

Windows 7 Webcast Series

There's a lot of buzz about Windows 7 out there. Each month in our webcast series, listen to analysts and customers discuss how Windows 7 and the Windows Optimized Desktop is impacting large companies around the world. Learn how they evaluated Windows 7, including the cost of deployment, deployment strategies, and tangible benefits.

Sponsored by Microsoft  Listen to on-demand Recordings »

 

A Framework for Better Application Delivery

The complexity of application delivery is driven in part by the evolving applications environment. Instead of approaching application delivery from a siloed fashion, this handbook looks at end-to-end guidance and discusses the impact of ignoring the WAN, Web apps that are chatty, data center consolidation, SaaS, Web 2.0 and virtualization.

Sponsored by Riverbed  Read this White Paper »

 

Microsoft® Exchange 2010 includes archiving - but is it enough?

Microsoft® Exchange 2010 includes basic email archiving. But many organizations will find that it does not meet their requirements. This paper describes why organizations need to archive, what capabilities Exchange 2010 includes and why 3rd party archiving solutions will be necessary for most organizations.

Sponsored by Google, Inc.   Read this White Paper »

Resource Alerts

Get instant email notifications by topic when white papers, webcasts, and case studies are added to our library.

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

Enterprise Capture: Your Onramp to Business Process Automation

Today more than ever companies are seeking to reduce costs and...  View Now »

 

The True Cost of Legacy Systems

How well are you maximizing existing software assets? This webcast reveals the results of a commissioned study on top migration and modernization priorities for IT leaders.   View Now »

 

How To Maximize Your Virtualization Strategy and Deployment

Join award-winning technology journalist Stan Gibson in this webcast as he discusses how to enhance your virtualization strategy with the ROI, planning, implementation and platform advice. Exploit the business benefits of virtualization and successfully expand your current deployment.   View Now »

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

 
NEWSLETTER

Sign-up for the Blogs & Discussion Newsletter




*Required fields

By clicking the sign-up button, you agree to the Privacy Policy.

View all newsletters »

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Manage limitless content todayread EMCs 15-minute guide to ECM.

HP Exstream. Get a Free Document Assessment for Financial Services.

Take the Netezza TwinFin TestDrive!

Webinar: Jump-start your in-house e-discovery with Ringtail QuickCull from FTI Technology

Let Progress Software help your business make progress.

Best Practices to Reduce IT Operational Costs

Real-world testing ranks Trend Micro #1 against malware. See results.

Forrester: The real-world financial impact of Windows 7

Turn your desk phone and mobile phone into one with Sprint Mobile Integration.

Maximizing efficiencies with unified communications.

Stay informed with custom newsletters from Tech Dispenser

Selecting the Right Reporting Technology

An IT Leadership Action Plan for the Economic Recovery

Consolidate data centers and lower IT service costs. Learn How.

WAN optimization techniques significantly improve application performance. Read More.

The Revolution and Evolution of Private Cloud Computing

ROI of Application Delivery Controllers

Cut Costs & Green Your IT Operations with PC Power Management

Enterprise Capture: Your Onramp to Business Process Automation

Adobe® LiveCycle®solutions for intuitive user experience

Unlocking the Mainframe: Modernizing Legacy System to SOA

State of the Data Integration Market

Enhance Customer Loyalty through Higher Responsiveness

Achieving Business Agility with Application Grid

Seven Ways ITIL Can Help You in an Economic Downturn

Does your IDS really work? Find out with a free Endace Audit

Verint Systems. Discover the Power of Intelligence in Action"

CA ARCserve r12.5 is More Than Backup! Download Trial Version Today

Enterprise search helps employees get more done. Get the facts from Google.

See why ShoreTel is named best overall VoIP provider by Nemertes Research

Trend Micro ranked #1 against real-world malware. Read more.

AT&T Application Management & Hosting. Let us help you STRETCH

Microsofts new client operating system helped Pella reduce power consumption.

Efficiency goes up. Costs come down.

Dark Fiber from Sunesys Save on Unlimited Bandwidth with Fixed Costs.

Trend Micro ranked #1 against real-world malware. Read more.

Webcast: Solve Your Data Visualization Needs with Open Source BI

Webcast: Delivering the Enterprise-Ready Cloud

Ensure cost effective application delivery. Learn More.

Cloud Computing: The Impact CIOs See

What's Next for Enterprise Resource Planning?

Gartner Magic Quadrant, Application Delivery Controllers 2009

Global Research: CIOs Weigh In On Virtualization

Adobe® LiveCycle® solutions for business process automation

What's New in SOA Suite 11g?

Unleash the Power of Java with Oracle JRockit Real Time

SOA Best Practices and Design Patterns

Application Grid: Ideal Platform for IT Consolidation

Taking the Service Desk to the Next Level