三月 01, 2007

There ARE programmers that CAN'T program

Coding Horror has been one of my favourite blogs recently.

Jeff Atwood's recent post on the issue of "Why Can't Programmers.. Program?" has caused a buzz around us.

In the article, Jeff brought up a problem while interviewing candidates for the post of a software engineer or programmer -- MOST OF THEM CAN'T EVEN PROGRAM!

They have this test called FizzBuzz, in which is as simple as (quoted from here, which is another good post):

Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".


If you are a programmer, you might come out with a solution within 2 minutes. That's normal (or average). Yet, there are many who can't do it.

A few years back when I interviewed for the job at SingTel, the guy who interviewed me (Sunny) instructed me to construct an application too. I did it from scratch, and was offered the job.

During the two years at SingTel, I have helped Sunny and his colleagues to setup the testing environment for interviewees that were thrown the same questions, and I was really astonished: Many of them went on to the Internet for solutions, some interviewees even brought their own application, which was written at home (and took them obviously long hours becuase its very sophisticated and... Internet-found)...

There were candidates who struggled for 1 hour and yet nothing came out; there were candidates who spent 5 minutes and gave up...

It is really a shame, we graduated in Computing majors, and didn't know how to program.


Back at NCS, my ex-boss (he has now moved on to another company) didn't know much programming, and thus I wasn't asked to construct an application this time.

I have a colleague from India that has a Masters' Degree in Computing, he came in a few weeks earlier than me and was sacked for his incompetence in programming, this is what happened:

We had a project that was modularized into several components, and to help us get familiarize with the programming practices employed in the company, we were assigned to implement a module that is totally independent from the main system.

I was assigned to implement a Custom Windows Control and managed to complete it within 2 days using C# (I hooked up to C# after this, it is much better than VB.Net). But that ex-colleague of mine took 2 weeks before giving up and my team leader got to complete that module for him.

Later, he was assigned to implement the installer for our application. I was the one who studied the proper procedures to implement a deployment project, and handed the details over to him. Yet, he took another 2 weeks to come out with an installer that couldn't install.

My team leader got so furious he sacked him.

A lesson learnt: Always interview a programmer by asking him to construct an application first.

没有评论: