Interviewing Successfully
Getting the right software engineering job
Created by Peter Asher
With Edits from Eitan Rosenfeld & John Ellis
Software engineering is set to explode in South Africa. As part of the early participants in this IT rush, you are uniquely positioned to take advantage.
Knowing how to interview well will enable you to advance your career effectively in a booming economic sector and “ride the wave”.
Why am I qualified to teach this?
What we will cover
From the Perspective of the Interviewer
It’s important to get inside the interviewer’s head to think about what they want to see out of you.
In general, they are trying to answer the following questions:
Do your best to remember that this is what you want to show them during the time you have in the interview. They should be asking you questions that allow you to display these facets, but if they aren’t, you need to find a way to show them.
From the Perspective of the Interviewer
The most difficult part of interviews is finding a way to allow someone else to view your critical thinking, behavior, and attitude in the space of a few hours.
Practice being communicative, and make sure you are reaching the other person(s) on a deep level. You are working as a team with them to transfer as much information about yourself as possible.
Be comfortable, do your best to establish common ground to make an emotional connection, and once this is done, the pipeline between the two of your minds will begin to open.
Qualities to project
Preparation
Preparation
Company Preparation:
Why? Showing you’ve done your research indicates that you’re interested
Technical Preparation:
Why? Showing you are a capable engineer is the most important part of the interview
Behavioral Questions
Companies use these to:
Guidelines when answering:
Behavioral Questions
STAR Technique:
Technical Questions (The focal point)
Companies use these to discover:
General Answer Guide:
Turning negative into positive:
When you don’t know parts of the answer, admit to it, and ask questions to the interviewer. An engineer rarely knows all the answers, and your ability to synthesize their answers and come up with a solution will impress. Thinking on the fly & learning quick are huge upsides to have, so be confident and remain unphased when you aren’t all-knowing.
Technical Questions (The focal point)
General Answer Guide:
Resolve ANY questions you have about what is being asked. So many brilliant programmers end up wasting time doing the wrong thing. Good communication skills are ALWAYS useful and valued by engineering companies.
Example of Requirements Clarification
Task given:
Design a program that will read the words on a web page and return common words.
Questions you could ask:
Technical Questions (The focal point)
General Answer Guide:
Attack the problem with a top-down approach. Break the problem up into chunks, and continue to do so until the parts you have separated are easy to understand. The most complex assignments can be made simple by dividing parts up.
Example of Top Down Approach
Task given:
Design a program that will read the words on a web page and return common words.
Example of breaking problem down (partially):
We will need to grab the words, process them, and return the common words.
Technical Questions (The focal point)
Example of Synthesizing Knowledge
Unknown within task:
Interviewer has asked to use a SQL database, and to draw out a table structure. Interviewee doesn’t know how to do this.
Example of Dialogue:
Interviewee: I’ve never designed a table structure, is there something similar that is analogous to help me grasp the concept?
Interviewer: Think of it as an Excel document with labeled columns and data types where you can run simple queries.
Interviewer: In that case, my design would be to have a column of strings entitled “Words”, and a column of integers entitled “NumOfOccurences”. I will increment the NumOfOccurences column every time we encounter a given word.
Turning negative into positive:
When you don’t know parts of the answer, admit to it, and ask questions to the interviewer. An engineer rarely knows all the answers, and your ability to synthesize their answers and come up with a solution will impress. Thinking on the fly & learning quick are huge upsides to have, so be confident and remain unphased when you aren’t all-knowing.
When it’s your turn to ask questions
Why do companies let you do this?
What should you ask?
How to choose the right job
Closing Remarks
References