Common programmer errors when applying for a job

    Since 2007, I have been hiring someone all the time (even now). At first they were just coders and technologists for small websites, but now they are testers, front-end and back-end developers for busy medical projects. I want to share with the community the typical mistakes of the guys who come to get a job with us.



    1. Curve resume


    The resume immediately shows whether a person knows how to think or not. A normal person, when writing a resume, does this from the point of view of the user, asking himself the question: “Will my resume help the employer choose me?”. It is clear that the headhunter or my circle themselves form the framework of the resume, but even using these platforms, the applicants manage to make mistakes.

    Typical Resume Mistakes:

    • no contact (yes, it happens!)
    • there is no cover letter when it is necessary (why do you want us for this particular vacancy). It happens that a letter is not necessary, because everything is already clear: he worked for 20 years in the front line and wants to continue. But if the candidate worked as a plumber and decided to become a programmer, questions arise. It’s better to remove them right away by writing about your motives in a cover letter
    • the level of estimated income is not indicated. Sometimes it seems that if you do not specify a salary, then you will have more space for maneuver. However, this way you find yourself outside the filter of the employer if he indicated a specific range of money when searching.
    • The resume is not written in the employer's language. If you want to get a job in the Russian Federation, write in Russian. If abroad - in English. It is best to have two versions.
    • moronic jokes. A sense of humor is a dangerous and relative thing, do not try to flash it in the resume. The text does not convey emotions, so your joke may not be understood.

    2. No projects and experience


    If you are applying for a job as a programmer, you must have experience. Even if you are taking a position as a junior, you still need to have behind your back some projects at the level of a hobby or study. Ideally, if you have a decent github account where you push something at least once every few months. Personally, I have such an account and I constantly work in it. One often hears that the candidate cannot show the code because he has an NDA. Personally, I do not believe in it. You can always show your code, even if it is closed by the NDA, but out of context: just show some part by which your coding style is clear. If there is absolutely nothing to show, you will have to do a test task, and this is a waste of time, and, first of all, of the applicant. So it’s in the interests of the applicant to prepare a code for demonstration in advance.

    3. Does not answer calls / letters


    This thing happens so often that I wonder how such people even find work. In my understanding, a decent person calls back on missed calls and answers letters. If I see that the same number is persistently calling me for the fourth time in two days, I will definitely call you back. If they write a letter, I will answer with at least one sentence. And some candidates respond to vacancies on HH, send resumes and do not answer calls and letters. For me personally, this is a sign of irresponsibility and / or carelessness. Both are bad, so I write such candidates in anunahs.

    4. Curved test task


    Often they send a badly done test task. I’ll give an example of typical errors for Java, but this list is perfect for other languages.

    • Inattentive reading of the task. For example, the use of ORM when it is written that it cannot be used;
    • Exception jamming through e.printStackTrace ();
    • Lack of comments;
    • OOP curve: what classes should do what;
    • Insufficient code separation
    • SQL injection
    • Noodle code; Huge methods that can be divided into several parts for clarity;
    • Working with git: extra files in the repository;
    • Naming of classes, methods, coding style;
    • Database settings in the wrong place;
    • "My English is very good." If bad, write in Russian
    • Lack of tests
    • Unclosed resources: files, connections

    5. Bad relationships


    I live in a small provincial town Cherepovets and all the programmers know each other. When a candidate comes to me, I almost always know who to inquire about him. Almost always they tell me something and I make a decision based on the opinions of others. It is not enough to be a good programmer, you also need to be a good person. Even, I would say that human qualities play a paramount role in reception.

    One day a good programmer named Nikolai came to settle for me. After talking with him, I realized that he was an asshole and in some form refused him. After a couple of days, my Most Important Manager calls me and asks:

    - Nikolai Pupkin called and complains that you did not pick him up. Why didn’t you take it?
    - Because he’s an asshole
    - Ah, I understand, well.

    Sometimes we take completely unprepared juniors, because "a good man." If he were a good person, we would push knowledge into him at internal courses or send him to study at external courses.

    6. Inability to substantiate their decisions


    If you are doing a test task or throwing off an example of your code, you need to be able to talk about this code: why these or those decisions were made. If you immediately understand that the solution is not obvious, write right away why you did it and not otherwise.

    I had a case when I hired a programmer, and he began to constantly argue with me on some architectural issues. Arguing is good, but you need to be able to justify your position, and not say "because it is necessary." Over time, a strange situation turned out: I say one thing, and he quietly does the other. I had to leave. But in this situation there was also my mistake: it was necessary to clarify immediately when hiring who is the boss in the house and who makes the final decision. When I was looking for a replacement for this guy, I fixed this error and we immediately agreed at the entrance who makes the final decision. Now no problem.

    7. Misunderstanding of income


    Often a candidate comes and does not know how much he wants to earn. When I ask a question, I often hear this answer: "Oh, this is a difficult question, I have not thought about it yet." Such a candidate always receives a minimum. My tactics:

    - How much do you want to earn?
    - I don’t know
    - 10 thousand is enough?
    - No, not enough
    - Good, but 25 thousand is enough?
    - No, not enough, it’s only for a loan for a car
    - Ok, then 45?
    - Yes, more or less.

    With such a dialogue, the candidate always receives less than he could. If he prepared in advance, knows his level and salaries in the market for his level, he can really evaluate himself.

    8. Laziness in self-development


    I ask candidates about books that he would recommend to me to read in his industry. I say something like this: "I do not know Angular 6. What do you recommend to read / see in order to learn"? If the candidate is not keen on his job, he will answer something very relative. And if the candidate is accustomed to continuous training, he will immediately recommend a specific book or specific courses.

    These are the errors. Sometimes it seems that my requirements are too high, however, as a result, it turns out that only the coolest people work in the team.
    Hope this helps someone find a good job. All happiness and Divine Love =)

    Only registered users can participate in the survey. Please come in.

    Which of the following mistakes have you made / are making?

    • 21.7% Curve Resume 28
    • 30.2% No projects and experience 39
    • 17% Unanswered calls / letters 22
    • 27.1% Curve test task 35
    • 13.1% Bad relationship 17
    • 22.4% Inability to substantiate their decisions 29
    • 61.2% misunderstanding of income 79
    • 40.3% Laziness in self-development 52

    Also popular now: