Top tips for technical interviews from nine of Instagram’s tech girls
My job-hunt came to an end a few weeks ago. After endless phone interviews, coding challenges, and on-sites, I got three Software Engineering job offers. (More on that in another post). I started preparing in November, after graduating from my Master’s in Computer Science program. So I had three months of failing, being frustrated, and getting rejected (aka learning and getting better).
I’m over-flowing with advice right now about things I did wrong and didn’t understand when I started interviewing. I wanted this post to be mostly tips and advice on attitude, approach, and what matters, not a “what to study” guide. So, I asked some of the ladies behind my favorite Instagram accounts to collaborate with me (some of whom have conducted technical interviews themselves).
Each of us have unique insights and experiences when it comes to interviewing for our current jobs/internships, so hopefully this post is well-rounded. It comes from female engineers from all over the world, in a range of industries and positions.
So here goes:
1. Rachel: You can be yourself.
Rachel (me — @secretlifeofcode on Instagram) is a new grad with a M.Sc. in Computer Science from University College London. She’s a GSoC-er (Google Summer of Code), and Community Lead for She++ London. She’s Irish, but has lived all over (Paris, London, San Francisco, North Carolina). Rachel is moving back to the west coast for her first Software Engineering job soon, and is obsessed with MedTech and all things health.
The most honest piece of advice I can give based on my experience is that you can be yourself.
I cringe a little when I think back to my first on-site. Not because of my performance on the technical questions, but because I felt like I couldn’t be myself.
Getting ready that morning, I wore my glasses, no make-up, hair up, and the most drab clothes I could find. I thought I’d blend in more. Fast forward to my most recent interview with a big tech company, and I’d adopted a “screw it” attitude. I put on the leather jacket I wear every day, hair down, and all of my usual make-up. I felt like myself, and not like a rigid-phoney who was supposed to fit whatever stereotype I thought they wanted. It went great.
I learned a ton from this interview. I found that “being yourself” extends beyond just personality and appearance. Before I started interviewing, I imagined being asked questions I had zero clue how to answer, and how easy it would be to freak out when sitting across from an interviewer. But I realized that having the confidence to frankly say “oh, I don’t actually know” felt relaxed and natural. In this case, the question was “what’s the difference between TCP and UDP protocols?” ¯\_(ツ)_/¯
But what hopefully feels equally relaxed and natural is having the confidence to tackle coding questions you’d never dreamed of solving in a 30-minute session, in a logical, coherent way (instead of panicking).
I’ve gotten asked really hard technical questions over the past few months (think >4.5 on Geeks for Geeks), but I now understand that their purpose was to assess how I thought and how I approached hard problems.
In this case, the interviewer explicitly stated that I didn’t necessarily have to write code — just talk it out, and figure out how to get a solution. So, give them what they want! Talk out loud immediately, before you’ve stared at the problem silently and come up with a solution. Interviewers are interested in how you got there — not always how quickly or perfectly.
Bottom line: staying cool, and understanding that you don’t have to be perfect is key.
2. Lea: Externalize what is out of your control.
Lea (she/her) is a software engineer currently at Google on Local Search and Google Maps. Stanford Computer Science alumna, and former intern at Apple and Facebook. She is the Founder of Women of Silicon Valley, an intersectional feminist photo series modeled after Humans of New York.
Do practice technical interviews with a friend. Ask a peer to play “interviewer” for an hour so you can practice white-boarding algorithms in front of another person. Research projects at the company you’re applying for and be prepared to talk about them with an interviewer.
Do network, or whatever that means to you. Even if you don’t know anyone at the company you’re applying to, find a recruiter’s email online and ask for application tips or a tour of campus.
As a candidate, you are entitled to have your questions answered, and you’d be surprised how many people are willing to help you. I once asked an engineer I didn’t know to give me a tour of Twitter, and they did it. I didn’t even have a Twitter.
Don’t break any furniture at the tech companies you’re invited to. I knocked over a vase, spilled my coffee, and broke a bathroom stall door all in the span of one on-site interview. This company will remain unnamed.
Do externalize the things that are out of your control. There are so many systemic injustices at play in the technical job market that can adversely affect the way you are treated as a candidate, especially if you’re a person of color, fem/femme, TGI (transgender, genderqueer, intersex), and/or differently abled.
While I was at Stanford, I heard everything from friends being referred to by the wrong pronoun after correcting their interviewer multiple times to having interviewers pay inordinate amounts of attention to their hair or clothing.
So, if you feel like you’re being evaluated for anything besides your ability to code and work with a team, the problem probably isn’t yours. Remember that.
Do internalize your successes and little victories, which you are in control of. If you performed well on an interview, own it and feel good about it. If you didn’t, just learn and take away from it what you missed. Try your best the next time.
3. Sage: ask questions that matter to you.
Sage Franch, aka theTrendyTechie, is a developer, blockchain educator, entrepreneur, and creator of tech lifestyle blog TrendyTechie.ca. She specializes in blockchain, mixed reality, and cognitive computing, and is passionate about leveraging emerging technologies to build a better future.
An interview is not a test that you pass or fail, it’s an opportunity for both you and the company to determine if you fit well together.
It’s common knowledge that you should ask questions during your interview — but don’t ask questions just because you think you should. Ask what you want to know.
Before the interview, make a list of the things that need to be true about the job for you to take it. Is company culture important to you? The programming languages or operating systems they use? The gender ratio on the team?
These are the questions you should be asking. And when it comes to the coding component, explain your thought process throughout. The critical thinking skills you demonstrate are more important than perfect syntax.
4. Alison: interviewers want to see your passion.
Alison is a front-end application developer for a healthcare solutioning company. Outside of her 9 to 5, she is a lingerie model and is enrolled in The George Washington University Master’s of Cybersecurity Engineering program. She is an assistant instructor at @momscancode as well as a member of @thewomenofsextech.
I was really suffering with imposter syndrome when I started my interview process as a front-end developer, because I was fresh out of a bootcamp. A friend gave me a really awesome piece of advice that I will never forget.
“It’s really easy to find someone to do the job. But it’s very difficult to find someone who’s passionate about the work they’ll be doing. And that’s what I look for when I interview for new team members.”
That advice propelled me to make an effort to display my passion on my resume and to be able to discuss it in person.
So besides studying code, I contributed to online platforms writing about my experience in tech, attended meetups to network and learn new skills, began freelancing to build a portfolio, and offered to volunteer at organizations looking for help teaching others simple coding skills.
After being hired at my current job, I found out that even though I still had a lot to learn code-wise, they chose to bring me on the team because I displayed a lot of passion and excitement to learn and grow as a new developer.
5. Stephanie: Have a conversation, not an interview.
Stephanie is a computer science major at Occidental College, a small liberal arts college in Los Angeles. She has had experience at companies like Google, Facebook, NASA Jet Propulsion Laboratory, and soon Twitter.
Technical interviews are mentally exhausting! I’m still learning tips and tricks on how to survive them. Here are a couple of the most useful things I’ve learned from them:
#1 Think out loud — This is probably the most common/generic piece of advice that people will give you for technical interviews (but it doesn’t make it any less important). Say everything you’re thinking, no matter how silly you think you sound. This gives the interviewer an idea of how you think about problems, but more importantly, helps them figure out ways to help you!
#2 Ask questions — Interviews are **not** final exams, and you’re supposed to tell the interviewer when you’re confused. My common phrases in interviews were “what do you mean?” and “can you give me an example?” It does you and the interviewer no good if you’re stuck on something, and software engineering/coding is all about collaboration. Just like in the real workplace setting, you would ask another engineer for help when you’re stuck!
#3 Have a conversation, not an interview — This is an approach that I’ve recently taken and has helped me so much with my nerves.
It’s intimidating to be explaining your thought process to a smart, successful engineer. Try to imagine that your interviewer is a friend who needs help and you have to walk them through the question.
Because that’s exactly what you’re doing. Treat them as an equal and be as casual and relaxed as you need to be to make sure that only possible thing holding you back is your computer science knowledge.
Remember, the fact that you were able to score a technical interview is already an amazing achievement in itself. Keep calm, be yourself, and prep in advance to ensure that you give it your all when the time comes! :)
6. Robyn: you can be open about needing special accommodations.
Robyn Silber is a software engineer with a master of science in computer science. She currently works for a startup that creates VR apps to help children on the autism spectrum.
A lot of companies in the US have created initiatives to hire more neuro-diverse and differently-abled individuals. If you have a disability, disclose it on your job application. For your technical interviews, disclose your disability to the recruiter and request extra time. The amount of extra time should be based on the testing accommodations you received in school.
During my experiences interviewing, I felt accepted as someone on the autism spectrum.
In some cases, the companies asked for documentation. I re-used my “letter to professors” from my college’s disability center that explained my accommodations.
Surprisingly, that letter was taken more seriously by potential employers than it was by a number of my college professors. Your disability is confidential, so your interviewer won’t be notified as to why you receive extra time. Despite this, I almost always disclosed the reason to my interviewers.
Each time, I was met with respect and appreciation for my openness.
Awareness and advocacy are important, especially in the workplace. Don’t be ashamed to ask for what you need in order to succeed. Now’s our time.
7. Johna: your “thinking out loud” doesn’t have to perfect!
Johna Rutz spends her workdays developing custom software solutions for clients at Credera, and her weekends with friends searching for specialty coffee shops around Dallas.
As a student, I was terrified of technical interviews because I’m terrible at rote memorization. But as someone who’s had the chance to observe interviews with candidates, my viewpoint of them has completely changed.
Don’t be afraid to get the answer wrong. Unless you’re professionally certified in a language, no one expects you to have an encyclopedic knowledge of a certain language, framework, or algorithm. It’s cool that you’re up to speed on all of Java 8’s syntax, but all that tells me is that you memorize things well.
Instead, practice thinking out loud. If you can explain your problem-solving thought process to your interviewer, it demonstrates two things. First, if you’re stuck, you’ll be able to explain your problem and thought-process to someone trying to help. Second, you’ll be able to explain logic to less-experienced people who ask for your assistance.
Be humble about your skills and ask for help if necessary. It is better to get 90% of the way to the correct answer and be talking the whole time than to sit in silence and get the answer 100% wrong.
8. Kristina: be able to talk in-depth about past projects.
Kristina Balaam is an Application Security Engineer with Shopify. She builds web and mobile security tools and helps discover vulnerabilities in the existing platform.
It’s important to be able to demonstrate your passion through past work experience or projects. If you’re a recent grad or self-taught, personal projects are just as important! If you work full-time, just be able to discuss recent work with clarity and enthusiasm.
As an interviewer, the best discussions I’ve had with candidates have been when they’re able to easily (and excitedly!) chat about projects they’ve worked on — what they enjoyed about those projects, what they learned, and what they found most challenging.
Projects — whether personal or work-related — are also a great way you can stand out in your application. While I was in university, a professor told our class about three students who developed a game as part of their assignment. One of those students demo’d the game during an interview with a game development studio. He mentioned that he had worked on the project with two friends. All three of them were offered positions!
9. Olivia: Soft skills are what can set you apart.
Olivia Shanley is a software engineer with a degree in Computer Engineering and a love for animals, social justice, and good coffee.
The most important advice I can give isn’t technical. When it all comes down to it, technical skill more or less comes a dime a dozen. With the rate that the industry changes, languages and frameworks come and go all the time, especially in web development.
In the often cut-throat world of software engineering, soft skills are what set you apart. Qualities like adaptability, eagerness, and creativity, along with being a critical thinker and team player, are what make you stand out in a sea of equally talented and qualified candidates.
In your interviews, make sure to ask questions and engage the interviewer. Explain your thought process and tie in any relevant knowledge that you can.
If you’ve self-taught, worked on any personal projects, or have had any experience working in a team, make sure to put emphasis on that.
Ask questions about the team dynamic and office culture, too — after all, you’re interviewing the company just as much as they’re interviewing you.
Showing that you’re interested in these things helps lets the interviewer know that you care not only about the potential for your own career growth, but how you can grow with the company as well.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —