Thursday, July 9, 2020

How to Prepare Your Interview as an Experienced Engineers

How to Prepare Your Interview as an Experienced Engineers If youve been a software engineers for a little while, you will always heard  that new grads performed much better in job interviews than experienced engineers in average. It sounds weird, right? Experienced engineers have years experiences in software industry and have interviewed and been interviewed for many times before, they should always have better performance. However it is not the case.   From anonymous statistics collected by Gainlo, for general technical interviews more than half of new grads performed better than experienced professionals and some engineers with years experience may even failed in the simplest questions. So lets look into this interesting issue and this post will give experienced developer tips on how to prepare for an interview. Strengths and weakness of experienced  engineers To better understand why new grads performed well, its important to be more aware of experienced engineers strengths and weakness. Working experiences is  no doubt the #1 advantage of experienced engineers. from our mock interviewers feedbacks, engineers with more than a year working experiences usually have better understanding of the whole industry and also know more techniques like AWS, NoSQL etc.. In addition, they tend to have better communication skills and describe their ideas much more concise and clear. However, several weaknesses are quite obvious. Most interviewers mentioned that experienced engineers are usually slow to code the solution or even fail to complete. They often came up with a high level idea very quickly, but when they tried to nail down details, it often took more time than a new grad. Besides, although they know a lot of latest techniques, many of them cant describe those techniques clearly or correctly. In other words, many experienced engineers know no more than few fancy terms. So well cover some very practical tips to help experienced engineers better prepare their interviews. Tip 1: Take advantage of your network Most experienced engineers have many friends and connections in this industry and when you are preparing interviews for a specific company, its very likely that you can connect with someone working there, which gives you a lot of advantages. For instance, if you are aiming at software engineer position at Uber, what I suggest you to do first is to go over your Linkedin/Facebook/Twitter/G+ connections and try to reach out someone working at Uber. Sometimes you may ask your friends to refer you with a Uber engineer, but you should always try this approach in the beginning of your preparation. After that, no matter its a phone call, email or coffee chat, Id like you to accomplish the following things: Ask for referral if possible. Most people are willing to do this as many company have referral fee program and they have nothing to lose if you dont pass the interview. Ask as many information about interview process as possible. If they have gone thru the interview process, you can get informations like interview style/rounds, interview focuses like general technical interview or project based interview, things to keep in mind etc.. If they happen to be an interviewer at that company, you may even get to know the hiring process if its not confidential. Materials that are helpful to them. Its likely that these materials have overlaps with the interview. Tip #2: Do enough investigation about the company Many new grads came to interviews without even knowing what the company is doing, which might be fine for students, but its definitely not acceptable for experienced engineers. It wont take you much time to prepare this, however it may make a big difference. Things youd better to investigate including: What the company is mainly about What is its business model What are its competitors and their weakness and strengths What are its tech stack What is its company culture Its very important to prepare the question: why do you want to join XXX. Of course theres no standard answer for this and everyone is quite different. But apparently answers like I dont know or XXX is a better company is not that good. Tip #3: Prepare well for data structures and algorithms This is exactly what new grads excel at and its even more important for large companies like Google, Facebook, Linkedin etc.. I know that it might be years since the last time you took a look at a coding puzzle and those stuffs are never used in real world, however they are the foundation of computer science and one of the best and most efficient ways to evaluate a candidate. First of all, it shouldnt be a problem for you given you have years experiences and had gone thru this process at least once before. All you need is just picking up what you knew before and be more proficient. Experienced engineers generally will spend less time to prepare this well compared to new grads and the point is really about whether you pay attention to this or not. Some people are overconfident about their memories and theyll learn this in the hard way in a real interview. Second, with real industry experiences, its very likely for you to have better understandings of those coding questions. Actually its a great chance for you to refresh what you have learnt while at school and combine them with what you did in industry, which is what new grads wont have. Tip #4: Dont be overconfident about your technical strengths I never worry about the communication skills of an experienced engineer and in fact, its very easy to distinguish them from new grads in interviews as they tend to be much more professional and confident. However, some of them are more good at talking (especially high level ideas) than doing, you should really pay attention if you fall into this category. For instance, you may be working on backend especially database stuffs for many years, which however doesnt necessarily mean that you know everything about database and more likely you only know a small fraction. There are various reasons like you may working on a small components in your team and everything has been abstracted well so that you dont need to know them deeply or database, NoSQL are really a big topic and its almost impossible to know much about it within years. As a result, I would suggest: Tell people what youve been working on over the past X years instead of telling them you are an expert. Be honest about things you know and you dont know because its very easy to tell if you are bragging. Spend enough time to better understand/learn your domain knowledge. If you are working on something highly abstracted, its very likely that you are not aware of many important details and concepts. Conclusion Instead of making a 100 bullet points tips, Id like to suggest these four most important points to experienced engineers as they are very practical and shouldnt be hard to work on. Experienced engineers should at least have equal chance of being hired compared to new grads, and if limited preparation time is a problem, you should always find ways to solve it like night and weekend, or even consider taking a short vacation break. Do you have other ways to help experienced engineers to ace their job interviews? If you have more questions about interview, leave a comment or check Gainlo.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.