Job Recruitment Website - Zhaopincom - How do I recruit programmers?
How do I recruit programmers?
I wanted to write an interview-related article a long time ago. Today, I saw an English article on how to interview programmers on the Internet. I found that there were many things that resonated with me, so I imitated the title and wrote this article through my own experience. After working for so many years, I have tried face to face and interviewed others. For programmers, I have experienced very good interviews, very professional interviews, and some BT and unpleasant interviews. Personally, I think the interviewer is very important for a good interview. So this article wants to explain it from the perspective of "interviewer". So with the following article, I hope this article is useful for your professional experience, especially for those friends who are recruiting interview programmers. I think this article will inspire you a lot. Besides, as the interviewee, you can read other articles related to programmers, such as how other programmers look at your resume, the basic skills that programmers need, and the ten habits of excellent programmers. For the recruiter, when recruiting programmers, I estimate that when interviewing candidates, I mainly want to know the following three points: Is this programmer smart enough? Can this programmer get things done? Can this programmer work with my team? I believe that these are three issues that all team managers should consider when recruiting people, and all the problems basically revolve around these three issues. Sometimes, you may think that the technical skills of programmers can solve these three problems at the same time. A person with excellent skills must be a smart person who can do things well, and of course he can also cooperate with the team. Yes, it feels like this, but it's not. Some people are really smart, but they can't handle things well at work. Such people should be your friends and consultants, but they should not be your employees. Some people are very nice and get along well with everyone in the team, but they are not very smart, but they work hard. Such a person can be your subordinate, such as an assistant of a subordinate backbone, or an assistant of the whole team. If someone can't work with a team, you shouldn't work with him, no matter how smart he is or how strong his problem-solving ability is. Everyone thinks that team harmony is the premise of everything. For the traditional interview recruitment process, it is basically like this: look at the resume of the candidate and let the candidate introduce himself. Ask some difficult and detailed technical questions in the form of questions and answers. Give the interviewer some programming questions. (For example, some weird arithmetic problems) Personally, I think this interview method is ridiculous and terrible, especially the last two points. Generally speaking, such an interview will only make you interview some "nerds" or some "tech addicts". Let me analyze the shortcomings of these items one by one. It is difficult for you to know a person from his resume or self-introduction. Because these are written by the parties themselves or elaborated by themselves. So, this is not very accurate. You can only know very simple things through your resume, which is not enough for joining the league. At the beginning of the interview, letting the candidate introduce himself will only make the interviewer face the whole interview with a very formal attitude. Once the interview process is very formal and serious, it will make people very free. Actually, this is not what we want. What I want is the true and natural performance of the applicant, so that we can learn the most authentic things. Ask some technical questions. For example: I personally experienced-"What does the -a parameter of PS mean?" , "What is the command to delete line breaks in vi?" , "What's the use of the keyword explict and mutable in C++?" Wait, wait, wait As an applicant before, I hated this kind of question very much, because you can find it by looking it up in the handbook. Is he going to recruit a dictionary manual? Not alone? In this respect, what matters is not knowledge, but its ability to discover knowledge. Give the examinee one or several difficult algorithm questions for ten minutes, and then ask the interviewer to write down the pseudo code or code. This is ridiculous. We can't discuss and check information, so people can answer under pressure. This is not the state of actual work at all, and our interview has become a problem. My most abnormal experience was that when I handed in the code written on two pages, the interviewer gave it to the programmer next to me and asked him to output it to the computer for verification. As a result, the programmer said there was a compilation error. So, the interviewer said, "Sorry, maybe you haven't written many programs", which is quite ridiculous. For this, the important thing is not the answer to the question, but the ideas and methods to solve the problem. I have experienced many interviews before. When technicians came to me for an interview, I found that "the thinking of technicians" could not distinguish interviews from exams for some people. Subconsciously, they are not interviewing this person, but making things difficult for this person to show their skills. Personally, I think I am an excellent programmer, but I can tell you that I couldn't pass the interview because it was for themselves, not for the candidates. So, how did I go to the interview? First, confirm your resume. First of all, it is necessary to read other people's resumes. From resume, work experience, project experience and technical skills, you need to know all three things. Generally speaking, you can confirm his work experience, project experience and technical skills by phone first, and then, if he meets the requirements of the person you need, you can call the company for an interview. Don't call others. You said there was a gap between your experience and our work. I once had an interview experience. I won't talk about the company. Anyway, the company claims that it needs good communication. It interviewed me about 9 times, from chief programmer, PM, manager to general manager, and told me directly for the last time that my previous experience was far from their requirements. I can't help asking, what were they doing in the previous interview? ) 2. The interview has started. Secondly, it is very important to invite people to the company for an interview, and candidates come to the company for an interview. That is, you must make the whole interview process very casual and relaxed, just like ordinary chat between ordinary friends. Only in this way can candidates relax, show their true features and chat with you, and you can learn more in a short time. It is the responsibility of the recruiter to let the applicant put down his psychological burden and let him behave naturally. Never say that others are too nervous to play well. Sometimes, recruiters have to consider their own problems. At the beginning of the interview, never let the candidate introduce himself, because the candidate has sent you a resume and you have called him. In addition, candidates are usually well prepared for this kind of interview exercise. On the other hand, it will make the whole interview process too formal and serious. So, why don't you ask the candidate how he came? How's it going? You can also talk with the candidates about a hot topic, such as sports, music, movies, social hotspots and so on. And don't keep a straight face, talking and laughing, trying to make everyone relax. In addition, through these chats, you can know his/her interpersonal skills and some personality. In addition, don't put the table between you and the applicant, so that the environment is more casual. Third, let the candidate talk about his experience. Next, if you want to feel that this candidate is a problem solver and a person who can do things well, don't ask him/her what he/she will do, just ask him/her what he/she has done. What did you do? It is hard for a good programmer to imagine that he has no relevant practice, and even if you are in college, you should make a difference. If you have the ability to solve problems, then obviously, you should have solved many problems and solved many things today. Listen to the applicant talk about him. Don't ask and answer questions to make candidates talk more, but listen more and think more. When he talks about his own project, generally speaking, you should pay attention to the following points: communication and expression ability. Can the applicant explain one thing clearly? If this person is smart, he can explain a complicated thing clearly in the simplest language. Moreover, this is the most basic ability of an excellent programmer. Moreover, when you describe the candidate's experience, you can have some good back-and-forth conversations with the candidate, so that you can understand his communication ability and communication style, and thus understand his personality. Roles and positions. Maybe he participated in a big project, but only made a very simple module. Therefore, it is very necessary to understand its role and position in the project. When candidates talk about words like "we" or "everyone", they must be detailed and clear. The contribution made and the problems solved. This is very important. Knowing this, you can know whether the interviewer is smart, has the ability to solve problems and has a good technical foundation. Demonstration. If possible, you can ask the candidate to show some of his code and design, or directly show you the demonstration of his program. You can learn a lot about design, code style, reusability and maintainability. Understand some basic knowledge of the technology used by the candidates in this project, for example, through the whole process, you can ask some basic knowledge of network, language, object and system. Basic knowledge is very important, which is directly related to his ability. Processes and tools. Understand the familiar project process (silver bullet, waterfall, agile, ...) and some artifacts in the process (such as requirements documents, design documents, test documents, etc.). ), as well as the tools used in the development process (memory testing, code checking, BUG reporting, version maintenance, development and debugging ...) (For the basic skills of programmers, you can refer to "Programmer Needs" Yes, it can. However, don't forget that there are more lies behind a lie, so you don't have to worry about this problem. As long as you gradually refine and refine the problems in the candidate's description, you will know whether the candidate is making up a story. Remember the following points: the style of conversation should be casual and natural, and don't stick to the form. Don't get too involved when you know what the candidate has done before. Because recruiters are also technicians, sometimes recruiters will be attracted by the technology in the project that candidates are doing. Attention should be paid to guiding candidates. Believe me, eight out of ten programmers can't tell what they used to do. Because they directly skip the background of the project and what kind of problems to solve, and directly enter the specific implementation. Don't ask and answer, let the candidates talk more, so as to understand a person in all directions. Knowing a person's past and what he has done is more important than knowing what he will do. Understanding a person's personality, thoughts, thinking and behavior is more important than understanding his technical skills. The ability of communication, expression, language organization and understanding is related to whether you can work with people. Basic knowledge is much more important than a little knowledge. You may not know the key words of C++, but you should know the inheritance and polymorphism of C++. Although skills are important, what is more important than skills is people's ability to acquire knowledge. In such a rapidly changing industry as computers, learning ability is a must. Training is more important than mastering skills. Fourth, actual participation in this step may be difficult to achieve. Because this requires some applicants to pay a certain amount of time. If you are a graduate, there is no problem. Let them practice for a while first. But it's not good for others to have jobs. Maybe you will say, this is the use of probation. However, personally, I think you must respect the applicant. People quit their jobs there to work here. A three-month probation period, if there is no problem in principle, it is not good to go back on our word as a recruiter. If such a thing is found, it can only be the recruiter's own problem. During the interview, some recruiters will let the candidates play a game together, or hold a debate contest, or team up to do a simple thing on the spot. Some even ask candidates to take a day off, work with their own team in their own company, and complete some things (even set a deadline for them), so as to consider the actual participation ability of candidates. Yes, if you haven't worked together and nothing practical has happened, it's hard to get to know a person just through a few hours of interviews. It is understandable for the recruiter to set up these interview links and know everything about the applicant in the shortest time. And sometimes it can get good results. I just want to mention one thing here. Sometimes this cycle is very long, which makes the applicant pay a lot, which in turn makes the applicant feel disgusted and bored. In a sense, this is indeed a disrespect for the applicant. I have always been skeptical about this, so I put two question marks behind it. To tell the truth, my personal opinion is that enough is enough, because time is too short to fully understand whatever I do. If you can't understand it completely, then get what you need most, that is, the three questions at the beginning of this article and the "third point" mentioned above (understanding the applicant's past experience). Maybe there are some opinions you don't agree with in this article. No problem. Criticism is welcome. If you have a better idea, I'd like to hear it. You might as well leave a message here, or you can send me an email if you don't want to leave a message.
- Related articles
- Where can I buy wholesale comic books in Tianjin?
- Which area does Lincang Industrial Park belong to?
- Function module of recruitment system
- Shanghai Rong Media Working Hours
- What is the purpose of recruiting new talents?
- What's the use of reading novels without writing them? (online novel)
- Recruitment of Aaron's factory
- What suggestions do you have for the management of student services in law schools?
- Shenyang Yuhong sofa factory recruitment information, what about Shenyang Yuhong sofa factory?
- Can the MG 5 manufacturer find the location of the car?