The thought of walking into an interview can be daunting to anyone, especially software engineers. With multiple rounds of interviews, both technical and non-technical, it can be hard to know what to prioritize. We talked with some of our software engineers here at 7Factor and discussed what they think are the most important aspects to keep in mind when going through the interview process as a software engineer.
We talked about how to prepare for your interview, what skills interviewers are looking for, how to stand out from the rest, how to stay focused and upbeat if you don’t get the job this time around, and more. Let’s go over their advice so that you can ace your next software engineer interview!
How should you get in touch with a recruiter for a job opening?
Starting from the beginning of the process, what should you do after filing your application if you don’t hear back? Start by simply sending a follow-up email or phone call two to three weeks after applying. Following up too soon isn’t helpful as they might not have gotten to reviewing applicants yet. Additionally, check the listing to see if there’s a timeline. The worst thing to do is contact them two weeks after when it explicitly says to wait three weeks.
If you still haven’t heard anything after following up you can try to contact the recruiter through LinkedIn. This usually doesn’t hurt your chances of getting the position, especially if you’ve waited several weeks after your initial application. However, make sure you find the actual recruiter and not a random manager at the company.
Be considerate of other people’s time. If you’re constantly contacting the recruiters and getting the same or no response back, it’s probably not doing you any good. Follow up a few weeks after applying and if you don’t get any promising response then it’s likely time to move on to another listing.
What skills should a software engineer have?
For software engineering there are general skills that could help you in technical interviews. For one, you need to be able to take complex, technical concepts and break them down so that they can be conveyed to non-technical people. It doesn’t matter if you can solve the most complicated problems if you have no way of communicating it with your clients who don’t have the technical understanding.
It is also essential that you be able to work well in a team. Teamwork is a fundamental part of any engineer's day-to-day life. You need to be able to communicate respectfully and effectively, convey information accurately, answer any questions, and directly work with other engineers on collaborative projects.
Curiosity may have killed the cat, but it is the lifeblood of the engineer. As an engineer, you must always be trying to find innovative solutions to both new and old problems. Curiosity is what allows engineers to never lose their drive and always give it 110%, regardless of the complexity of the problem.
A newsletter for software engineers!
We've just launched a free 5-minute newsletter that'll keep you updated on the tech industry!
The Dev Better newsletter is a free monthly email with tons of valuable insights including...
- The most important headlines from the previous 30-days.
- Open job positions in tech that you may be interested in.
- Tips for developers and software engineers.
- The latest content from the Dev Better podcast
Subscribe and join software engineers and tech industry members reading every month!
What are technical interviews really for?
Technical interviews are used to evaluate a candidate’s problem-solving abilities and critical thinking process. Interviewers will observe how you solve problems under time constraints. If you fail to solve a problem, that doesn’t necessarily mean that you won’t get the job, as long as you showed your process and the interviewer understood your way of thinking.
Everyone makes mistakes. Staying calm and maintaining a good approach will ensure that even if you make a mistake the interviewer will understand your thought process and evaluate it from that perspective.
What should software engineers do to prepare for an interview?
Now that we know why technical interviews are important, let’s go over how our engineers recommend you prepare for them.
Solving problems under time constraints can be extremely flustering if you’ve never done it before. Pick a couple of common problems that relate to the specific job and go down the list with a timer on. Give yourself 10-15 minutes per problem and work from there. This will allow you to be more comfortable under pressure during the real interview.
To avoid getting caught off guard by a problem you are unfamiliar with, research common algorithms related to the job and make sure you are comfortable with them. Interviewers will usually give a problem that is related to the position. This allows them to see if you have demonstrable experience in their field. Convincing your interviewer that you are already comfortable with the work they do can help give you an advantage over other applicants.
Finally, go back to the listing and check for any technology that is called out. Oftentimes, recruiters will list relevant languages or libraries in the job listing, focus your time on these topics and make sure you are 100% confident, as these will certainly be a discussion point during the interview.
How can a software engineer stand out in an interview?
Being personable is something that is crucial for almost any interview, but there are extra benefits to being personable for software engineers. If you give one-word answers to every question that is asked of you, it won’t convey your full understanding of the topic. Demonstrate how adept you are and give more thought-out answers that truly convey your grasp of the problem.
Don’t sell yourself short. If you’re asked if you have experience working with C#, don’t just say yes. Say, yes I’ve worked with C# for a number of years and completed several projects. If you'd like to take a look I’d be happy to talk about them. This not only gives them more information than a vague yes, but it is your chance to prove that you are competent and creates an opportunity for you to prove yourself. Putting these projects in your resume can make this more convincing as well.
Speaking of resumes, if you put something on your resume be prepared to discuss it. It’s a bad look if you list an item on your resume and you can’t answer basic questions about it. Anything that is on your resume should be something you can discuss at length.
What should you ask recruiters in an interview?
An often overlooked part of any interview is the time when you get to ask the recruiter questions. The key here is to ask questions you actually want answered. Don’t disservice yourself because you think the recruiter is looking for you to ask specific questions. Generally speaking, they’re looking for interest and passion in whatever question you do ask.
A great question that our engineers recommended is “What does it look like for me to be successful at this company?” This question insinuates your interest for the company, the success of the company, and the success of your position, which are all things a recruiter is looking for in their next software engineer.
If you’re going to ask a question about the company, don't make it something generic. Generalized questions such as “what does a typical day working here look like?” often look more like a cop out than genuine interest. Instead, try “In your mission statement it says you are supporting x with the work you do. What do those efforts look like internally, and would I be a part of it?” This question shows you did your due diligence before the interview.
How should you follow up after an interview?
The obvious and harmless thing to do is to send a thank you email. A simple email thanking them for their time and citing your interest in hearing from them is a small effort you can take to stand out from other candidates.
Additionally, if you haven’t heard anything after a few weeks, email them asking for an update. An email inquiring about the decision is often not a bad idea. Simply ask if they have come to a decision about the relevant position and reinstate your interest in hearing back. Good interviewers will give you a general timeline for how long the process will take. Respect that timeline and don’t follow up too often or too early.
How do you stay on the company's mind for future openings?
We can’t win them all! However, it’s good practice to not burn any bridges. After all, these recruiters are the ones that will be reaching out to you in the future.
A great way to stand out for future positions is to ask for feedback from the interviewer's perspective. This shows them you welcome advice and are always looking to improve, which are two crucial traits when working in a team environment like software engineers often do. This will help you stay top of mind if they see your name again.
Remain professional and respectful even if you don’t get the job. Thank them for their time and specifically ask them to contact you if a position opens up at their company in the future. Many companies have an email or contact list. Ask about this and request that they put you on it.
We understand that interviews can be nerve-wracking. But, doing your research about the company beforehand, preparing yourself by understanding the skills and topics they’re looking for, staying professional and respectful throughout the process, and asking for feedback on how you can improve are all things that could help you secure a position in your next interview.
Being a software engineer isn’t easy. It’s a long road with a lot of work, but we’re so glad you decided to join us! We wish you the best of luck in your interviewing journey! Let’s build good things.