How to judge talent?

Some days back, I came across this real life incident that happened in one reputed company in Bangalore. When I heard about it, I was shocked. It raised lot of questions in my mind.

The company had hired some freshers. During their training period, the trainer told students to write twenty programs which will include all the concepts taught by him that day. Almost everybody wrote 20 programs. But one of them (who was really smart), solved only five but presenting all the concepts which the trainer had taught.

Before knowing what happened next, let me tell you what I thought when I heard up till here. I thought that guy really loves to learn. He solved only five not because he was lazy to code twenty programs but he thought it was waste of time writing twenty programs when all the concepts could have been easily presented in just five programs. Trainer should have been interested in finding out if the students have properly understood the concepts or not. Showing all the concepts in just five programs would have saved trainers valuable time. Also, it would have given the student more time to learn more about the concepts. Excellent! I said in my mind.

But what happened in reality was quite shocking. Trainer was not happy with that student. Trainer wanted twenty programs. But before company could have taken any action against the student, he left the company himself.

Shocking isn’t it? Can writing twenty programs prove that someone is a great programmer? Or can it prove that he had understood all the concepts?

Well, which is the correct way of judging talent? I leave it up to the readers to decide. But if you ask that trainer, how would he identify a talented people, he might say, give them twenty programs to write and if they manage to write, declare him as talented………………