On duty, you sometimes have to interview people for various open vacancies in my department.
Basically, for a web programmer job.
In the application for recruitment in the requirements, I usually indicate very simple things:
- Good knowledge of SQL (MySQL, to be precise).
- Knowledge of Perl or PHP (with the desire to switch to Perl).
- Basic knowledge of everything else that can be useful to the developer - at least to distinguish HTML from CSS, Java from JavaScript, and a web server from a browser.
Why so simple? Everything is trite - as a rule, I do not need a guru.
The projects that my department is working on are not so complex as not to cope with a person with 2-3 years of experience in active web development. All the difficulties that will be encountered in the first months of work may well be solved either by me or by system administrators.
')
After the application is completed, approved by the head of the department and the general director, the personnel department begins to search for the right person.
Usually, I invite the owners of two out of every five resumes, which are recruited by Eychary, for an interview.
How are the others eliminated?
Chances of
not getting an interview are usually higher for those who
a) still studying in university
b) has too much or too little experience.
Why I am not very satisfied with the students?
The reason is simple - I need a person at the office full time.
Combining work and study under this condition is quite difficult.
I know this very well from my own experience.
Why don't I need people with too much experience?
First, as I wrote above, the projects are simple and will simply be boring to an experienced developer.
Secondly, our team is young and hardly a 35+ person will feel good about him.
Third, programmers with more experience want more money.
Exceptions, of course, exist in the first and in the second case.
I invite some of them - there are people in the department who are older than other department employees by several years.
Nothing working.
What else in the resume I do not really like.
These are basically three things.
First, they sometimes send resumes in English.
Colleagues, we work in Russia, write a resume in Russian, unless you are specifically asked to send the English version. No, of course, I read in English, but see above - we are in Russia.
Secondly, sometimes they list the skills and abilities that interest me little for a particular job.
For example, they indicate that for several years they administered FreeBSD or promoted sites. This, of course, is wonderful, but I do not need a system administrator. And not a SEO. If this is a web programmer’s resume, write about web programming. And all the rest can be mentioned in additional skills.
Thirdly, sometimes they write a lot of clever words a la "I know TCP / IP, HTTP, SMTP", "I know perfectly well how to configure Apache" or "listened to Oracle courses". Know the buzz words? Be prepared that I will definitely ask about this subject what you do not know. What is the difference between HTTP1.0 and HTTP1.1? How to use mod_rewrite to prevent all users from taking files from a specific folder, allowing it only to one and not using passwords? What is the difference between using PGA in a shared and dedicated server mode? Do not know? Well, there is nothing to write scary words in the resume. I'm afraid of them, yes.
But here the necessary people are invited, the time of the interview is scheduled, the person has come.
What's next?
Usually, someone from our personnel officers first communicates with the person.
If everything suits them, invite me.
All the interview I usually builds in this way.
At first, I am interested in what tasks the person has solved, asking for something from the subject area of these tasks. As a rule, these are theoretical questions - for example, something about asynchronous data processing, about the device of some DBMS nodes that a person worked with, about OOP, and so on. Not complicated. Solely, to see how deeply a person dug or how he can reason. I can give simple puzzles for ingenuity with the same purpose. Both related to web development and not related.
Then I start asking more specific things.
Usually, this is the work with regular expressions, the basic syntax of the language, SQL.
Strangely enough, already on RV and BS the impression is starting to take shape that the web developer somehow shattered. The tasks of the first-year level of the institute are either not solved at all, or they are solved incorrectly, or they use too complicated methods of solution where this is not required.
Example:The task is to write a regular expression that checks the IP address (IPv4) in the form in which it is used to see it for correctness. Even simpler - just one octet.
Most of those who interviewed, write the first decision is:
\ d + \.
Naturally, I write IP, which this regular is considered correct.
For example, 999.999.999.999
Which is just not correct.
And the process begins in a new way.
Decide. Not always.
SQL is still worse.
Usually I ask what projects a person uses on the Internet regularly and then I give a task, the meaning of which is to write one or two requests that implement one or another functionality of these projects. The tasks are very simple, but no one wrote perfect solutions the first time. Or do not write at all, or write such that it can easily put the database server. It's good if you understand that this request is bad. For example, it is rare that someone can throw a query that finds the first missing number in a sequence of natural numbers (a hole in the autoincrement, for example).
I also have a complicated SQL problem, but I know only four people who were able to solve it.
All of them once worked in our company or continue to work in it.
I have never given this task to anyone at the interview. They will not decide.
It would be strange if they could solve it if they could not show me the solution to simpler problems.
If after all the stages a person suits me, I invite him to ask questions about the work ahead, I answer and if everything suits both him and me, I set the time for the next meeting.
It would seem, everything is simple. But in reality, out of dozens of people who caught my eye, for the time being, only a handful of people took to work. The rest, unfortunately, do not pull.
But the most lousy thing is that with all this, the salary expectations of the majority do not very much correspond to the skills that applicants show during the conversation. People who can not write simple requests and at the same time claim to 60-70 thousand rubles, I am very surprised. 70 thousand is quite a normal salary for a
normal web developer in Moscow. Not for those who usually come to me and do not pass the interview.
Have a conscience, colleagues, evaluate yourself adequately. Yes, even if you do not get to me, you will surely find somewhere such a salary. But I will sincerely feel sorry for your future employers. Is everyone really interested only in money, and not what they have to do and what kind of experience can be gained by working on projects in which all the salt is their large attendance?
updFor those who want to know this very task.
I sent the conditions to the
first five people from those who were already
in the topic already a bunch of people.
Write in a personal, if interested. I will definitely answer the letters coming in PM, but maybe not immediately - after all, the working day is in full swing. However, so far I saw only one answer, which even remotely looked like a solution.
And further. Comrades, actively minimizing karma, it is purple to me, of course, but I simply can’t respond to your comments if you do it completely. :)
upd ++Thanks for the interesting thoughts. Some of them I will try to take into account.
Generally speaking, I did not expect such a response from the usual description of the interview process. :)