IT DRILLDOWN
 
NEWSLETTERS
 

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

 Advice and Opinion

 CIO Consumer IT

 CIO Leader

 CIO Enterprise

 CIO Insider

 

RSS Feeds »

 
 
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!

» Subscription Services

» Reprints

 

 


Mon, Feb 4, 2008 19:02 EST

A Useful Interview Question for Developers

Topic: Development

Blog: You're the Boss

Current Rating: 3 Comments: 9

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 (2 votes)
3
 
 
Tue, Feb 5, 2008 5:46 EST
Anonymous user
Posted by: Rosco
Rating:

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:

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:

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:

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:

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

About this Blog

How would you solve this management problem?

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 77 of IT's most insightful thinkers.

advertisement

TOP USERS
UserPoints
1. laith al jazi12550
2. Akshay Upadhye7650
3. Chris Moore6750
4. abdhiraj6175
5. remi5350
UserPoints
6. asengupta3750
7. tmmackay3500
8. Sureshram3125
9. Mark Cummuta3100
10. Michael Kavis2950
  PARTNERS       PODCASTS       WEBCASTS    
 

Enterprise Content Management: From Strategy to Solution

Enterprise content management (ECM) has become an important competence and infrastructural technology, particularly for large and medium-sized organizations. Hear about industry trends for ECM and why standardizing your ECM platform is so critical to your success during this roundtable discussion.

Sponsored by IBM  View This Webcast »

 

Get Rich or Get Thin: The Secure Client Webcast

Malcolm Harkins, General Manager of Intel's Information Risk and Security group, looks at the increasing sophistication of attacks. He also talks about he pros and cons of thin and rich clients in fending off those attacks.

Sponsored by Intel
  View This Webcast »

 

The Greening of the Data Center

This report outlines a four-part strategy companies can employ to achieve an energy-efficient infrastructure.

Sponsored by Sepaton  Read this White Paper »

More Partners »

Resource Alerts

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

Podcast: Accenture's View on Software as a Service

Publisher Emeritus at CIO magazine, Gary Beach, talks to Accenture Chief Architect, Paul Daugherty, about where software is going, and in particular about the emerging concept of software as a service and its contribution to high performance.   Read More »

 

Business Service Management: Delivering Value Throughout the Service Lifecycle

Business and IT alignment is as much a priority among CIOs, as it is a challenge...  Read More »

 

Talking Innovation with a Hall of Famer

Bill Walsh, lauded for his innovative thinking on the football field, talks techniques for applying innovation to every job.  Read More »

More Podcasts »

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.

Crossing The Data Divide: The Case For Complex Data Exchange Technology

Hear the results of a new study conducted by IDG examining how to maximize the value of your enterprise information assets by automating the data exchange process. Join now and learn how technology can help you Cross The Data Divide.   Read More »

 

Collaborative Resiliency: A Unified Approach to Risk Management

Climate change, oil price shock, pandemic and acts of terrorism are true risks that cannot be ignored...  Read More »

 

The Great Escape: Contact Center Applications Are Moving into the Enterprise

With resulting benefits such as tighter integration with back-office applications, administrative control, and improved communications, contact center applications are moving into the enterprise. In this webcast...  Read More »

More Webcasts »

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 Advice & Opinion Newsletter

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

White Paper: Learn how to succeed with BPM

Webcast: Research insight into how organizations are using virtualization

ITIL V3 and the IT Service Catalog

The New Growth Paragidm: Multi-Enterprise SOA

3M saved $3M on printing. Learn how HP can help your business

Enterprise Service Bus: A Definition

Let's Get Virtual: A Look at Today's Server Virtualization Architectures

Increase conversions on your site with the help of EV SSL.

Get Control of Mobile Data (and More)

Data Loss Prevention Starts at the Endpoint

Building a Foundation for Pragmatic Service Management White Paper

Performance Brief: Mobile Application Acceleration

Strategies for centralizing data backup

Citrix XenServer FREE trial

Nothing Short of Revolutionary: Four Steps toward More Effective Enterprise Finance

The Best IT Strategy for a Company with Global Operations

Speed, agility, flexibility - The HP BladeSystem c-Class

The Business Value of Symantec Data Center Foundation Solutions

Webcast: Why standardizing your ECM platform is so critical to your success

The PCI Data Security Standard

White Paper: Assess Your SOA

The Universal Wireless Client: Simplify mobility and reduce the cost of supporting mobile workers

Tuning ERP and the Supply Chain for Profitable Growth

Compliance by the numbers- addressing requirements with online document management and collaboration technology

Webcast: Learn how to Simplify and Standardize Architecture

Global Crossing is the most viable alternative for voice, video and data.

The New Foundation of Storage: Xiotech's Intelligent Storage Element

BPM Done Right: 15 Ways to Succeed Where Others have Failed

3 Reasons to Invest in Integration Technology Now

A CIO's View of Server Virtualization

Survival of the Fittest: Disaster Recovery Design for the Data Center

Windows Server 2008: To Upgrade or Not to Upgrade?

How Office 2007 Exposed Bill Gates

How to simplify mobility and reduce the cost of supporting mobile workers

Helping IT Become a Service Provider White Paper

Extending PCI Compliance to the Mobile Workforce

A proven approach to WAN optimization

Wireless Vulnerability Management: What It Means for Your Enterprise

Green IT: Reducing Your Carbon Footprint with Citrix

Wide-area data services enable todays global enterprise

Discover PMI's credentials and career path tools

Symantec State of the Data Center Report

Getting the Most from your Data Protection Solution

Tripwire PCI DSS Solutions: Automated, Continuous Compliance

ITCi White Paper: Challenges and Opportunities of PCI

TDWI Research report clears confusion about automating data governance

White Paper: Unlocking the Potential of B2B

See why 93 of the Fortune Global 100 depend on Blue Coat.

Taking Document Automation to the Next Level

Video Series: IT Leaders discuss how IT is becoming part of the innovation cycle.