Real Programmers, please stand up

Source: Internet
Author: User

On the csdn Forum, there was a hot post titled "90% of programmers here are not programmers at all". It was said that not everyone who operates the code is a programmer, those who do not love the development industry are not programmers at all. And lists the behavioral characteristics of many "pseudo programmers.

Coincidentally, rethinkdb, a foreign technology company, also talked about this issue on its official blog, complaining about how difficult it is to find a truly qualified programmer. This blog post is compiled by the IT comments of the external journals. The full text is as follows:

We have been actively recruiting for more than four months. If you want to learn from this experience, I can only say that I finally understand, jeff Atwood's article in fizzbuzz is not a joke. (TRANSLATOR: programmers are not programming in this article ).

Among the newly established companies, rethinkdb is famous for its most rigorous interview process. This is a fact-we will not compromise on the interview process. We hope to establish a high-quality development team through the maximum range of screening. I have mentioned this intention many times in some previous articles. In the past few months, we have met many people who think that our requirements are too high and that we are recruiting rocket experts with both quantum mechanics and computational science. This is a misunderstanding. We only want to recruit programmers who can program.

To satisfy the public's curiosity, we announced some smoke tests, which were only a phone call within half an hour, 19 out of about 20 candidates did not pass the test. (These candidates are all screened out after the resume review ). We didn't ask them to propose a solution to a complicated algorithm. We didn't ask them to make sharp turns. We didn't ask them to do complicated pointer algorithms and operations. Just like the following question, the vast majority of applicants cannot answer the question correctly, even if they have been working for half an hour or even given a large number of prompts:

Write a C function to reverse a one-way chain table.

This is a question. We chose some irresistible candidates (including kernel development, compiler design, and a doctorate in Philosophy) written in our resume. No one can write them correctly, no matter how long it takes.

Of course we also asked some other questions. Insert n elements into a vector (or arraylist, Or something called a dynamic array in other languages you choose ), what is the worst and most complex computing condition? We do not evaluate the understanding of this data structure, but want them to explain it with their own opinions. We will tell them how the vector works internally. You know, we even accept answers like O (n log n.

How to implement a read-write lock? We don't want you to write such a program by phone. Let's just talk about the solution. If you can mention the hunger conflict (starvation issues) in your solution, then we will even win the championship. We really hope that we can drop talent in the future, but we have not found such a person.

We try to ask about the difference between the Cooperative Mode and preemptive mode of multi-task operation. We are testing how conditional variables work. 19 out of 20 people did not say a word from the beginning to the end.

Why are we asking these special questions? Because this knowledge is the core part of all the courses that a college graduate has learned, because it will be used in this or that form in our daily work. In addition, during the past four months of recruitment, we found that if you can understand the difference between threads and coordinating processes, you can know how to reverse a chain table, if you have a basic understanding of conditional variables, you can gain more opportunities to prove that you are a better programmer among many candidates. Many people cannot do this.

We want the programmers we hire to have more abilities than the skills we mentioned above, and we do not think these requirements are too high. I only hope that you have a solid grasp of the basic knowledge, the potential to complete the arduous tasks, and the sincere love for the programs you develop. I quoted my colleague's reaction when I first heard a comment in fizzbuzz: "What can they do if they cannot program ?" It takes several hours to select a resume, and each candidate needs more than 20 minutes to perform a smoke test. Then it takes 45 minutes for each person to complete the interview. The entire process takes about 15 hours. This takes a lot of time for a technical engineer to find an available candidate.

Real Programmers, please stand up!

 

Link: http://www.rethinkdb.com/blog/2010/06/will-the-real-programmers-please-stand-up/

Http://www.aqee.net/2010/07/19/will-the-real-programmers-please-stand-up/.

Source of this article: It comments of the journal [http://www.aqee.net/]

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.