Background check
There are certain patterns of interviews. I get questioned why on earth I switch jobs that often. But no one tried to address the references I have in order to talk to my previous employers and ask what’s the real reason. How do i know that?.. At first, most of my previous employers (or PMs, Team Leads: people who actually worked with me, not just payed me a salary) are my good friends right now, and they know the reason i left, and can answer whether it’s a risk or no to hire me. So, the first #fail when people are trying to employ someone - is not to check the person’s real background.Ways to recruit people
The second thing I’m wondering about is when people are being hired for a leading development positions from outside of the company. I mean, for me it’s good. I’m glad to come and start leading project, try to dive into it as much as i can, devote my time and bring fresh stream into existing routines. I can’t really tell whether it’s a bad practice or no.Most likely, every single case deserves it’s own decision. Sometimes people get responsible for certain parts of software, and it’s easier to leave them and train other people to do something “new” (or whatever a new person was supposed to do), but…
Having dedicated people for certain parts is quite risky for company (even if they’re planning for long-term employment), because of human nature of responsible person, and for employee himself, because very soon he will get tired of particular unit, and his performance will get lower (you can check out a wikipedia article about Hype Cycle, it’s about acquiring a new technology, but in pretty much similar manner people get and loose interest to certain things, but that’s another story to tell).
Also, when i’m coming to a new company, i’m expecting some kind of personal growth and (please forgive me) career growth as well. That’s quite natural, isn’t it?.. Will i grow in a company that’s hiring new senior people (who’re brilliant, no doubts), but leaving people on old positions, without any changes (even thou performance seems to satisfy). New person will take some time to be trained, and sometimes it makes sense to promote (and motivate) existing people…
But it may seem that i’m against hiring people from outside of a company at all. That’s not quite true. Hey, how many programmers do you have involved into project? How many programmers do they know? Do you know any programmers, whom you trust? Great! Invite them! If your project is a piece of
(please find all these words useless since i myself use HR announcements to find jobs)
Technical values
You may call me geek, but still, i would never work with person until i’ve seen his code. Ok, i’ve checked out the website you made. Looks great, JavaScript obfuscated (so, basically useless). But that’s pretty much all i can see out of it. I’m not sure i want to see the best piece of code you ever written (if it’s that good, it may be to tough for interviewer to read through roughly). Just solve some trivial problem in an eager manner. Ask to try to make code as flexible, maintainable and scalable as possible. You don’t know how many ways to solve the problem exist until several people show you their solutions! Don’t be afraid to scare people. Programmers love tough things, just try to stay adequate!Tests are the worst thing humans ever invented. Use them only for your IQ. I usually pass most of them but hate every single one. I’m not sure whether it actually displays my knowledge in any manner, but bothers a lot. We will pass it thou (if you really think it helps).
Don’t ask silly questions. Yes, i know what’s the difference between span and div. And what’s the difference between left, inner and right joins. I will probably hit the next person who asks me this kind of thing, and leave an interview immediately. If you ask something really tough, leave person some space to think. If it’s purely theoretical question, try to accept an approximate answer (i do remember most of classes and namespaces, but some methods’ signatures got faded for some reason). It’s nice to answer some conceptual questions, solve abstract design problems and find algorithmic solutions.
I would rather fail 10 interviews and get to know something new and interesting, than pass 20 successfully and stay wondering whom people were looking for. This way you will not only raise the knowledge threshold for your own company, but also make people who did not pass an interview think about their knowledge, and re-estimate their skills.
What a brave speech, you may think. But still, i’m speaking this way only as long as i have a good place to work and am able to pass most of interviews in my field. And i will do my best to extend my skills and keep my knowledge up-to-date.
Process of recruitment is crucial for every company. Because you’re looking for people to work with. That’s extremely important. You need to know who you’re looking for exactly. If you find a right person, try your best to make a “win”-“win” situation. Don’t make people bargain. If the expected hourly rate varies, don’t take a lowest price right away, just hoping that person will agree. Even if he does, he will know for sure that from out of a range you picked up a lower limit. Actually, once i came to one of the companies i worked for and named the price i think i was worth. They called me a same day and offered 1/3 times more than i expected. I was shocked and happy, took this job and never regretted.
If there’re several open positions, state out clearly, which one a candidate will take. Describe his new team, new environment and his responsibilities in order to be on the same page. Tell him more about what’s going on, show him several public components you work on. It will ease his decision for sure! It’s always great to know where you go. Have fun interviewing!