To win a game without knowing its rules is not an easy task. As a rule, developers fail to pass an interview at product companies because they don’t know what factors employers pay attention to. They lack that technical portrait of a Product Guy who they want to hire. And I’d like to share with you a few recommendations that should definitely help you “sell yourself” and do it effectively!
So, what are those criteria that are important for product companies?
SOFT SKILLS
It’s important. Very much. The times when one could get a job being equipped with a good base of technical skills only have gone in the past. Success of a product depends on the whole team. Synergy of the team is effective communication.
A lot of developers fail here. And the reasons are numeric:
- don’t spend sufficient time, preparing for an interview. A good idea would be to learn the typical questions asked at a certain company and prepare answers;
- give too short replies a-la “I wrote a code on JavaScript and HTML at the previous place” and silence. The opposite reaction, but not more successful is to give too long answers with all the details and technical novelties of the last project;
- focus on the work of the team and say little (or nothing at all) about their personal contribution in the project. Of course, everyone would like to find a team player, and you should prove to be the one, but not overdo it: “Our designer offered….”, “All communication was supervised by our PM”, “The team decided to do it in a way…”, etc;
- don’t ask questions after the interview;
- try to make up any reply when they don’t know the right answer. It’d be way better to say something like: “I understand tasks and problems of…(mention here what was asked), but for specific of the project, didn’t personally apply it”;
- express a lot of negative emotions; motivation comes from denial: “Don’t want to work on the project as I don’t like our PM and we are not allowed to write unit-tests”.
Tips:
Try to positively impress an interviewer in the beginning of the interview. Talk about the weather or something abstract. You can also mention that you plan to visit a city of the client in the nearest future (you may be invited for a personal interview) or that you know a few developers from the team, and so on and so on;
- If the interview is remote and connection is too weak, ask your interviewer to call you back just a few minutes later so that you can fix the problem or switch to skype. Too often good candidates were refused only because they couldn’t properly hear the questions;
- Improve your English and pay for the language courses yourself. All those company’s treatments don’t have a lot of value when you plan to get a job in a prestigious product company abroad;
- Tell about business component of your product, at least in a few sentences; what problems it solves and what your audience is;
- Try to visit a few top companies such as Facebook, Skype or Amazon and pass an interview there;
- Take part in different meetings and prepare public speeches;
- Show a good sense of humor;
- Prepare interesting questions about the company.
1) No
1) Are you Agile-based company?
2) What problems has your team encountered with while integrating Agile?
1) Do you plan to create an Android app?
2) How many clients visit your site using mobile devices version of the app? and what is the strategy of product mobile development?
1) Do you write Unit Tests?
2) What restrictions does your business put on the code process creation? How is it going with the Unit Tests?
The frequent questions at the interview:
1) Tell us about yourself (it’s a good idea to start from the beginning and tell interviewers how you fell for programming, what University you’ve graduated from, where you worked first, what technologies you’ve learned and practiced, what you liked most about your job). However, don’t go deep into details as you’ve still got a lot to go;
2) What interesting tasks have you worked on the previous project?
3) What problems have you solved on the previous projects?
4) How did you solve these problems?
5) Tell us about the company of your dreams.
6) What do you do to professionally grow?
7) What are the advantages and disadvantages of your main programming language?
And the last, but not the least, avoid political, religious and other delicate topics during the interview because they can become the major reason of refusal.
PASSION FOR PROGRAMMING
Companies are looking for “passionate” candidates who would join their team. In my opinion, “passion” is how much you like what you’re doing.
Today most leading companies ask candidates to send them Github account. I personally like an idea of open-source communities when anyone can improve what he or she is working on. If you’d like to make the world better, create your own jQuery. This is what companies value a lot.
The attributes of “passion for programming” are:
- Github account with your own or open-source projects. The approximate statistics looks like follows: – 15k Github users in Ukraine, 500k Github users in the USA, 100k Github users in India;
- Stackoverflow profile. The approximate statistics: 2k users in Ukraine, 42k users in the USA, 12k users in India;
- Home projects that somehow facilitate people’s lives; new technologies that haven’t been introduced yet;
- Participation in local/world communities (Python Geeks, Rails Girls, JS Enthusiasts);
- Taking online-courses (Coursera, Standford online courses, Codeschool.com, etc.);
- Your own technical blog (preferably in English).
BE YOURSELF
Very often good candidates are refused for the following reasons: “too reserved”, “didn’t reveal himself/herself”, “behave like a bank employee”, etc. You probably often see in description of the company – “informal culture” or something like “we don’t wear jackets, we boldly share our opinions and focus more on “personality” rather than qualification”.
“Just be yourself” – this is the best recommendation to successfully pass an interview at such company.
PASSION FOR PRODUCT
You’ll never be hired by Google if you say nothing about their product and don’t offer any enhancements of your own. For some reason, too often our guys neglect this recommendation. Although, that is quite fair that leading companies hire those candidates who have at least learned their product and proved to be experienced specialists. You don’t have to be delighted with the product, but to do a few things is compulsory:
- Download application; install it on your phone/tablet;
- Read an engineering blog;
- Offer a few technical improvements;
- Share your thoughts with regards to modification of UI/UX part of the product;
- Understand the mechanism of product monetization;
- Analyze the market of competitors and ask your interviewers what makes their company different from the rest. But be ready that some of the companies may ask you the same question J
- Tell interviewers that you’d like to gain new experience and work exactly with this product, collaborate with the entire development team and make the product better (it’s important to say it all sincerely).
GENERAL PROGRAMMING
A lot of product companies actively use the tasks on General Programming – algorithms, data structure, etc. And yet, most candidates don’t expect to get a task with algorithms. After the interview they often regret that they lack just a day or two to properly get ready. However, time has gone. Therefore, it’s better to ask about all technical tasks beforehand – ask your recruiters, visit glassdoor.com, etc.
In addition, there are thousands of books on offer that can become very helpful (Cracking Coding Interview, for example).
Unfortunately, too often we see how the candidates use the model “I didn’t have time to even drop a look at your site” of behavior and believe it should work. But it doesn’t. More often than not, it yields in negative results and actual failure at the interview. Therefore, I sincerely hope that this article will help you get prepared for the interview and obtain the job of your dream.