Photo from http://www.flickr.com/photos/thomasthomas/258931782/

Recently I interviewed tens of candidates for a kernel programmer’s position. These candidates are from big, good companies, which are famous for chips or embedded OS/systems. Many of them claimed they have at least 10 years on-job experience on kernel. Their resumes look fairly shiny — all kinds of related projects, buzz words and awards…

But most of them cannot answer a really basic question: When we call the standard malloc function, what happens in kernel?

Don’t be astonished. When I ask one of the candidate to write a simple LRU cache framework based on glib hash functions, he firstly claimed he had never used glib — that’s what I expected — I showed the glib hash api page and explained the APIs to him in detail, then after almost an hour he wrote only a few lines of messy code.

I don’t know if the situation is similar in other countries, but in China, or more specifically, in Beijing, this is reality. “Senior” programmers who worked for big, famous foreign companies for years cannot justify themselves in simple, fundamental problems.