How To Prepare for a Software Engineering Technical Interview
How you perform in a technical interview can make or break a job offer, so it’s absolutely critical to prepare. Here’s career coach Bill Souders on six things to prepare for if you want to ace your next technical interview.
This article on preparing for the technical interview is part of the Coaching Collective series, featuring tips and expertise from Flatiron School Career Coaches. Every Flatiron School graduate is eligible to receive up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School.
When you are invited for a technical interview, it’s essential to prepare for both the technical challenge and cultural questions you may be asked.
Too many of my coaching clients prepare for the technical challenge and get caught off guard when they are asked cultural and behavioral questions.
Be Ready For Non-Technical Questions
You need to be prepared for both types of interview questions, regardless of what you are told about the specific type of interview you are to prepare for. Here are some of the typical cultural/behavioral items you should come to your technical interview prepared with:
A 30-second to a 1-minute elevator pitch for the “tell me about yourself” question and examples/stories for other interview questions
Review your resume and be able to talk about everything that is on there.
Avoid going through a chronological recitation of your resume. Rather than summarizing what’s on your resume, consider your response an opportunity to highlight the aspects of your resume that show that you’re a great match for the role. Specifically, highlight your skills and experience and how these align with the primary specifications in the job description. Review the projects on your resume and be prepared to speak about these in technical and qualitative detail.
General Culture Questions
Make sure that you have prepared responses for these typical cultural interview questions.
- Tell me about yourself.
- Why do you want to be a software developer/engineer?
- What interests you about this role or company?
- How can your previous background add value to [this company/role]?
- What did you learn in your Flatiron School’s program?
- Walk me through one of the projects that you are most proud of. (***Use the respective rubric to help you prepare this answer and explain your process: [SE Project Rubric]
- Tell me about a time when you successfully solved a problem/resolved a difficult situation and how you did that.
- What are your salary expectations?
- What questions do you have for me?
Study Up On Computer Science Fundamentals
No matter how advanced your software engineering studies have become, it is always helpful to review the basics before a technical interview.
Some of the foundational concepts to brush up on include:
- Data structures
- Big O Notation
- Sorting and search algorithms
- Hash tables
- Dynamic programming
Be An Expert In One Programming Language
You need to know one programming language. Typically an interviewer will allow you the choice of a language that you want to use for the technical interview, so this is why it is important that you go deep into one particular language.
If you have the flexibility, choose one of the following languages: C++, Java, Ruby, Python, Go, or C. Higher-level languages such as these provide standard library functions and data structures that allow you to translate solutions to code more easily.
Go for the language you have the most practice with and can showcase your skills in best. Even if the company uses a different tech stack, choosing the language you know inside and out will often be the better option.
Complete Coding Challenges
Aim to solve 2-3 coding interview practice questions per day.
If you keep this pace then you should be ready to tackle a typical technical challenge in about 4 weeks. Work up to the moderate difficulty level with these challenges.
Chances are you will not receive a challenge at the most difficult level so don’t waste your time with these. By the same token don’t just study challenges at the least level of complexity. Check out HackeRank, leetcode, or Interview cake as resources for technical challenge interview questions.
Do Pre Interview Research
Ideally, you should know the tech stack, the interview format, and also get an idea of the types of technical challenge questions you may encounter. Some recommendations on how to go about this:
- Identify the company’s tech stack by going to Slintel. Focus your technical challenge around the tech stack that the company uses.
- Use Glassdoor to review prior interview information that others have posted for the company in which you are going to interview.
- Go on LinkedIn and identify a current software engineer that is working at your target company. Reach out to them, letting them know that you have an upcoming technical interview, and ask if they have any tips on how to prepare.
Have A Project To Showcase
Just like you should tailor your cover letter to the company you apply to, you should think about a highly relevant project to feature during your technical interview preparation.
Build a project that matches the complexity of the work for which you are applying. Perspective employers will then be able to see that you have done the work that they require.
Study the requirements of the role and the type of projects the role is expected to work on. With this information develop projects of equal or greater complexity. Check out this LTCWM podcast episode with Parker (Interview Cake) for more tips on how to come up with coding projects to build and talk about in interviews.
About Bill Souders
Bill Souders is a career coach with Flatiron School. Bill spent 30 years working for the Coca-Cola Company in various sales leadership roles before transitioning into coaching. His expertise is in the career coaching, transition, and placement of college grads, high-potential entry-level and emerging leaders, and c-suite executives.
Disclaimer: The information in this blog is current as of 26 December 2022. Current policies, offerings, procedures, and programs may differ. For up-to-date information visit FlatironSchool.com.
Posted by Bill Souders / December 26, 2022
Learn to Code Python: Free Lesson for Beginners
How To Get The Most Out Of Student Advising
The Flatiron School Student Advising team is here to support our students through all of the ups and downs that come with pursuing a bootcamp.