How to Succeed in Technical Interviews
Teresa Wu
VP of Software EngineerHow to Succeed in Tech Interviews: Insights from a Software Engineer
Hello, everyone. My name is Teresa Wu, a seasoned software engineer at JP Morgan and a recognized Google developer expert. With my years of experience in the field, I'm here to share the insider's guide on how to ace your tech interviews. Regardless of where you are in your career journey, these insights will serve as your compass in navigating through the tech industry's interview landscape.
Understanding the Engineer Ladders
Progressing in the tech industry comes with a certain ladder. Base levels such as entry, associate, or junior positions expect you to independently handle tasks and implement code. Then, you evolve to the senior engineer level where you're expected to lead projects, design solutions, and guide less-experienced team members. After gaining ample experience, you further promote to staff or principal engineer, driving engineering standards and leading teams or projects.
The Interview Process: How to Get Started
The journey towards landing your desired job in the tech industry commences with preparing a CV. Alongside your CV, it's equally important to develop a strong LinkedIn profile. This illustrates your professional identity and shows recruiters that you're a genuine applicant.
Upon sending in your CV, you should anticipate calls from recruiters. These calls typically serve as a preliminary face-to-face or phone conversation to get to know you a little better. The recruiters will also discuss how they can assist you in obtaining the most suitable job.
Tech Interviews: A Deep Dive
Start with a résumé and cover letter
To start, ensure your résumé and cover letter are concise, compelling, and free of errors. For beginners, listing down your technical skills and any school projects can be an added advantage. Remember, recruiters spend an average of six seconds on each CV. Thus, it's crucial that it is well-formatted and easy to read.
Prepare for the introduction
Now then, let's step into the interview session. This stage often starts with a brief self-introduction where you'll have the chance to showcase your skills and interests. This stage not only helps set the tone but also helps you relax.
Take on the coding challenge
Following the introduction, you will typically be presented with a coding challenge. Here, it's vital to communicate your thinking process while coding. Let this be an interactive session where you aren't just coding but also explaining your methods and logic. Remember, the aim here isn't to code a program that compiles and runs perfectly but to demonstrate your problem-solving skills and coding strategy.
Test your code before the end
It's always a good practice to allocate some time towards the end of the coding session to test your code. Even a simple mention of this intention could score extra points during the interview.
Remember to ask questions
The Q&A session provides a direct opportunity for you to ask questions about the team, the projects, the processes, and essentially any aspect of the job that you are curious about. This is a time to show your genuine interest in the role.
Final Thoughts on Acing Tech Interviews
Your career is more than just a job—it's a blend of what you do at work and how you continuously develop your skills. Expand your horizons by participating in various training and workshops. Finding a mentor – someone not necessarily within your direct line management – can also provide invaluable insights.
Acing tech interviews might seem daunting, but remember, the key to success is to be yourself. Be authentic, show your interests, and bring forth the best version of you. Feel free to connect with me on Twitter or LinkedIn if you have further questions or want more insights into the tech interview process. Here's to your success in your next tech interview!
Teresa Wu is a software engineer at JP Morgan and a Google developer expert. Follow her on Twitter or LinkedIn for more insights on navigating the tech industry.
Video Transcription
Hello, everyone. Welcome to the uh conference and um thank you for joining my talk. My name is Teresa Wu. I'm a software engineer at JP Morgan and I'm also a Google developer expert.And by the way, uh what I'll be talking about today has nothing to do with how we hiring um at my company. But because I've been working in the field for many years uh from the hiring side and from um the side of when I'm looking for a job, so I'll be talking about how to succeed in tech in tech interview today from my own experience and hope you enjoy the session today. And if you have any questions, right, feel free to pop in the chat session. And I'll, if there are time left in the end of the session, I'll be um able to answer and communicate uh with you. So let's begin. So before we go to talk about interview, let's look at the engineer ladders. Um Unfortunately, I couldn't see, um um like I couldn't interact with you at the moment. Usually I ask, what is your um uh at the moment, let's assume that if you are thinking of um going a different um a job at the moment or looking for a job or thinking of a change in your career at the moment.
This might be the good decision for you to prepare. So engineer ladders means differently in different country. But in general, we have this entry level which you, you might be uh saying uh as associate or junior or entry level or graduate, they are the first level of um engineer. And what we expect this level is um that you can uh you can complete the task either independently or with the guidance and then you can implement the um the code of functions we talk about like a software engineer, right? So you can, you can implement the code functions independently and as time progress and you step up, then you will become uh from the junior junior level. You come, you become more a senior, more experienced in your field. In this case, you become a senior engineer and the expectation from senior engineer is um you are a experienced contributor and in some teams and in some company, you might be leading some projects already and you expect to design and implement uh the solutions on your own or maybe with the team.
And you are also expected to guide others like people who are less experienced in your team. And then um as time goes on, you will be moving on from senior engineer to staff engineer or some in some place, they called principal engineer. Those are people who are more experienced and they can lead teams or project and they can also drive engineering standards. So those are different expectations from different engineer ladders. And how do we actually tackle interviews for each of them? Right. So here we will be concentrate on more tech interviews. But overall, the interview process for software engineer job is um you are from preparing a CV. And one thing is quite important is uh definitely Polish your linkedin profile. I'm not saying this is like a ma hi process or essential, but it's definitely nice to hive. What usually uh recruiters do is when they look at your CV, they will quickly browse your uh profile. Um If you have a linkedin to see if this person is genuine, to see if you your linkedin profile match what you're saying on your CV. So there will be a big question mark, right? This from my own experience, right? Nothing to do with my work from my own experience.
It will be a, it might be a question mark for recruiter if you are a principal engineer or a senior level engineer, but you don't have uh um like a profile that they can see in a public uh website. Either you build your own website or you put some social link on um somewhere, right? So they want to actually see bit more of you apart from your CV. So definitely Polish your profile. The reason I'm saying is because it's already hosted that you don't have to host yourself. Right. And once you've done that you put your CV online, you would expect recruiters to give you a call. Right. Probably, like, immediately or in the next day. Right. So, why, so, um, when you talk to recruiters, right? Just be relaxed because they just want to know you. Right. It's not an interview. They just wanna say hi and see who you are and they just have a chat with you, see what, how they can help you to get the best job you want. So the recruiter call you is something that you, you can just talk, relax, right? Think that this is your friend and after the recruiter call they will match you to uh your desired job.
What happened next is, um, after you've been selected to uh step in the interview, the interview process, the coupling or the recruiter might be give, you might give you a, a phone screen or um a code challenge. So this is the first step of a job interview. So like a very first step. This might last from various, right? 30 minutes or an hour, depends on how the company um arranging it, right? It might be a quick conversation of their phone or they might just give you a link uh to a code, a code challenge after you pass this step, the next one you usually will see is a tech interview and this again, the time varies, it can go from an hour to three hours or even half a day or on site.
This is a very in depth interview to actually understand how technically um you are and how skillful you are. Are you able to fit in the job as from the tech side? Right, not the soft skill side. After this tach interview, there may be another um interview or they might be combined together. So this one something we call the soft skills interview, you might, you might spend like some time with the team, go for lunch or talk to your uh your potential manager of the team or some product, people from the team to know how good you can work as a team member. How can you communicate and you look at a bit more of, of you other than your tech skills. And after all that, then you are successful, you should be um successfully getting your job offer. So now let's step into the tech interview, right? So, although I'm this slide is talk about how you can prepare your CV, but do not have a CV, like this uh structure, right? Because it's I have too much information on, but when you have your CV, right? Make sure you do your grammar check and you list all the, all your tech skills. If you are junior engineer that you don't have lots of job experience, list all the jobs uh list all the tech skills that you know, that you studied from school.
Ideally, you probably have some personal project or some shared public profile on github, right? Some project, you don't share your code, right? Just put as much as you can but don't have to um over Polish, right? So say you should actually state clearly. This project is a self uh is something I do for myself. But my own project, it's a huge difference than building something on your own comparing to work in a team. So definitely make this quite clear that this is your own uh project, not like a professional experience. And the six second rule here means usually right, in a very popular um job offer or job opening recruiters usually spend the six seconds on each CV to decide whether he or she will continue reading it or continue analyze it. So your saving format is quite important. The template is also important. You can, you can build the template yourself or download something that you, you like online, right? Just make sure that your, your CV look clean and easy to read. And if we move on from here, um when you go to the tech interview, if this is on site, like in person interview or even if it's on Zoom, usually they will give you five minutes to introduce yourself and please take this like as an advantage for yourself. To open up the conversation. Why do we have this five minutes introduction? Right. First is to give you some time to warm up to relax because interview is always stressful and then we got nervous.
So in the beginning, we want to like, you know, make, make the environment nice and open. So you have like these five minutes to talk about the things you do, who you are to make yourself sound like I'm someone who, you know, we can have a conversation here now and also for you to relax and then it will follow by some coding session. It can be 40 minutes or one hour or half an hour, right? Depends on the sampling requirements. And here you can actually uh use the time to actually show the best of you how you can code and one tip I can give you here is that in the coding session? If it's um someone watching your code again, it's a very, very stressful, right? Don't take this as something that you code alone, right? Don't code silently do share your thinking process because as a senior software engineer or any engineer, right? In a team, there's no way we can finish a very complicated function in 45 minutes, I take time to think about it, to design it and to test it.
That's why when we give you a coding challenge in a 45 minutes time frame, we are not looking for a polished solution or something that even, that's something that can even compile or run. It's fine that your code doesn't compile or doesn't run because there might be some small issues here and there. What we're looking for is how you design your code, how you do pet programming, how you think of this uh challenge, how you analyze this issue. So definitely, definitely talk while you do the coding session, think about this as a pet programming. You are the one coding it, thinking about the process, but communicate with whoever is pairing with you the interviewer if they spend like half an hour or 30 minutes or three hours, right? In their busy schedule to meet you, that means they really want to see you, they really want to hire you, they really want to talk to you. So think about it as your pair um in a normal um job place. So share your thinking process with them. This will actually relax to you a bit more and help you to actually um enhance your interview um experience as well. It will actually add more points uh to your interview session here and then take some time in the end, right? To ask questions, right?
Do not say I don't have any questions. I can just finish now, right? Show your um curiosity of, of this interview. Make sure that's um the other side of of the table, make sure that they actually know you are really interested in this this role. So take your time to think about what you want to ask, right? Questions you can ask is like uh how is the team structure? What will be the project? How is a process in the team? Uh like how often do you release? How often do you uh do I expect to finish my pr just like anything you want to know about the team? So here, right, we talk a bit already about how you introduce yourself, right? So this is the first five minutes you can use to introduce yourself. Sometimes I see people get like, for example, quite nervous in the first round. So I tried to talk to them to relax them. So think about the introduced process. I like you talk to your friend, right? Just show the best of you say hi. My name is Teresa. I um I, I work as a software engineer and also on the side of it, right? I like to play sports. I like to travel and like just anything you want to say about yourself. And because of the timing, I'm going to quickly um step this um process because I'm I'm sure you know how to handle this the best, right? And we also talked a bit about the coding session as well.
So in coding session, you just think about this as a per programming pair programming session. And um I see there's a question, sorry. Do you have a CV template recommendation, a link I will yes, I can share it after the session. And if there's someone starting a program wants to start a career, is there a chance to join a junior program? Is the age limit um is so most of the coupling have junior program. Yes. And age limit is depending on the regulation of the um policies, right? So some country does require age, for example, who have to be 18 years above or 18 or 16 years above. I'm not hr person here. So it's better to check the coupling regulation to make sure that I'm not giving the wrong information, right? So let's continue to the coding session here. In a coding session, you might be asked to pick a language, so pick the language that you are most comfortable with, right? Don't go with what is most popular in the industry because this one is to show the best of you not to follow a trend. So if you are familiar with the C++ right, go with C++, don't go with um go la, right? For example, if you're not familiar with it, pick the language that you are most familiar with and think about the data structure, the design pattern here before you start the code, right.
Share your share how you want to design this project and think about this as a practice session. The reason I put the practice here is not just to practice on your own but think about this as your own, um your own um session where you do uh coding practice as well. Right. I just don't focus too much of all. I'm in the interview. So, because this one will actually stress yourself and make you be nervous and in the end it's very, very important to allocate some time to test your code. I see people doing interviews doing, applying BDD or TDD. Those are awesome. right? But if you don't usually do TDD, it's still OK? But definitely spend some time in the end of your coding session to test your code or at least mention that you want to test your code, have the framework ready uh have the structure of testing. You might not have time to finish everything, but definitely, definitely don't forget about test your code and the Q and A session, right? Is something that you take some time to ask questions about your team, show your curiosity of the, of the role, right? Just ask and also this might be relevant and I mean, they might add some points to your interview as well to show how deeply understanding you are with this job. But in the end, what I want to say is your career is more than just a job.
So your career is a combination of what you do at work, how you can skew up yourself outside your work as well. There's uh like uh talk about like uh there's a T shape engineer or even pi shape. That means you are specialized in one field. But at the same time, you can expect your skills in many other field. It might be applied to your job at the moment. Maybe not. But sometime in the future, you will find those skills that you find yourself for are super helpful. Maybe some training you can join in your company, some uh workshop, you can join outside your uh job, right? Just keep up skill yourself and um tech skills, right? You can also join some community and um join some mentor, mentorship program. Your mentor doesn't have to be a direct line manager. Actually, advice that it shouldn't be. And yeah, enjoy some mentorship program. Ask for questions. I talk to people who are expertise in the industry in the end. What I want to say is um try to enjoy in the interview, right? Be yourself in the interview. Just bring the best of you out in the interview and I'm sure you can uh be very successful in each of the interview. So thank you for your time today. If you have um questions you want to ask or maybe if I'm not able to answer you straight away right now. Um Do message me on Twitter or linkedin or I see my posts a medium, you might find some more information there.
Yeah, but do ask me a question or send me a message after um this session. I'll see if there are more questions you have mentioned. The mentorship. Would you have some tips and how to approach? So there are like a mentorship program on lots of uh websites. One that I could um recommend is that if you search for Google, there's a Google Woman tech makers, right? And uh role to GDE there are so many uh mentorship program you can actually go for, I also provide mentorship as well and I'm also someone's mentee. So you can be on both sides. Yes. So there are definitely lots of um good mentorship program you can go for and you can find expertise in your area to be your mentor as well. Um So I think that's, do you know on site course um on site? Of course, that depends on where you are. There are lots of courses you can do on site or um in either in person or on site or um uh via internet. But uh I don't, I need more information of, of you like where, where you are and to give you better recommendation, but drop me a message afterwards on Twitter. And uh we can talk a bit more about those informations and this probably end of my session. Uh I'm gonna stop sharing. OK. Thank you.