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?

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 113 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 »

 

Service Level Management Best Practices Life Cycle Overview - Improve Service Levels

Best practices for Service Level Management (SLM) is a process for consistently meeting customer requirements and delivering on IT's promises. See the steps required to ensure high-quality SLM.

Sponsored by Compuware  Read this White Paper »

 

Keeping Your Members Safe from Online Scams and Predators

In order to keep fraudsters out, romance sites must deploy effective solutions that look at information independent of what is supplied by users. A device fingerprinting solution such as iovation ReputationManager™ provides unique insight into the computers being used to create multiple accounts and exposes hidden device-account relationships that identity-based fraud solutions often miss.

Sponsored by iovation  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.

Defend Against Blended Threats: What You Need to Know

Blended Web and email threats are becoming increasingly complex and represent a huge...  View Now »

 

Prescriptive Actions to Reduce Risk

In this Webcast, learn best practices for effective systems management in a heterogeneous environment and keep client systems cost under control.   View Now »

 

Webcast- Vantage 11: Redefining Application Performance Management

Compuware's latest release, Vantage 11, is a major advance in end-to-end application performance management--bringing together proactive issue identification, quantification of business impact and problem resolution into a single solution. Tune in to learn how Vantage 11's top-down approach helps you make better decisions and dramatically lower operations costs.  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

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Return on Information: Google Enterprise Search pays you back. Get the facts.

VMware. The source for Business Infrastructure Virtualization.

ShoreTel tells businesses to untangle from competitors' complexity and turn to its brilliantly simple UC solution

See how AT&T can help protect your network.

Streamline IT Costs. Boost Performance with WAN Optimization.

Build your 1st app FREE with Force.com

TDWI checklist helps define data readiness for analytics. Download report.

A Clear View Toward Virtualization

Virtualization Technology as a Business Solution

The rules of infrastructure management just changed.

A Clear View Toward Virtualization

Interactive Q&A helps you discover key ways to maximize IT assets.

Ready to virtualize tier one applications? Check your virtualization maturity.

Think you can't afford a Cisco Switch? Cisco Catalyst Switches are now more affordable.

Five minute business analytics assessment. Immediate results.

The Case for Investing in Business Analytics Technology. Read white paper.

Upgrading to VMware vSphere with vWire

Top 10 Lessons Learned for Corporate 3G Mobile Broadband Deployments

CRM Built for IT: The Executive Guide to Selecting CRM that Meets IT Needs

Return on Information: Google Enterprise Search pays you back

ROI of Application Delivery Controllers

Making Consumer Two-Factor Authentication Simple and Cost-Effective

Mining the Cloud to Ease the Enterprise Compliance Burden

Solve Five Key IT Security Challenges with Cloud-Based Authentication

White Paper: Right-Sizing Your Power Infrastructure

AT&T Synaptic Storage as a Service. Expand on demand

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

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

Top Five CIO Challenges

Read the RSA report: Security for Business Innovation

64-page prescriptive guide to security, compliance, and IT operations.

Increase UPS efficiency without sacrificing protection.

eZine: A Roadmap to Reducing IT Complexity

Reduce risk, gain agility. See how Progress can help your business.

Virtualization Technology as a Business Solution

eZine: A Roadmap to Reducing IT Complexity

World-class trading technology solutions from NYSE Technologies.

If You're Paying for Telecom, You're Paying Too Much. Contact Asentinel Today.

Trade-In your old printer and save up to $1,000 plus free recycling!

infoBOOM! - The Mid-Sized Company CIO's Exclusive Community

Live Webinar: Applying Business Analytics. Click here to learn more

Removing Barriers To Better Server Virtualization Efficiency

4G Revisited. The Continued Evolution of Wireless Mobility.

What's Next for Enterprise Resource Planning?

Maximizing website Return on Information with high-quality search

Gartner Magic Quadrant, Application Delivery Controllers 2009

Authentication as a Service by Forrester Research

Cloud-Based Authentication for Next-Generation Extranets

Cut Costs & Green Your IT Operations with PC Power Management

White Paper: 4 Customer Service Myths