Many top tech companies have notoriously long and complex hiring processes, and Lea Coligado, a 23-year-old software engineer at Google, is no stranger to them.
Each year she was in school at Stanford, Coligado told Business Insider, she applied to more than 20 software engineering or web development internships, including at Snapchat, Pinterest, Microsoft, Palantir, Yelp, and Whatsapp. She also applied to Facebook and Apple, where she completed internships.
After the initial "phone screen" — a phone interview and screen-share where the interviewee is asked to complete basic coding exercises — she'd be invited to an in-person interview, sometimes on Stanford's campus, and eventually, at the company's headquarters.
That may sound like a lot already, but the most pressure-filled part of the process came next.
"Imagine being brought into a room with a complete stranger, being handed a mysterious algorithm, then being told to implement and analyze it within 45 minutes while said stranger evaluates your ability to do it," Coligado told Business Insider. "On top of that, imagine knowing your opportunity to secure a salaried job at this company is predicated on your ability to perform well in that specific frame of time in front of this specific stranger."
Equally as nerve-racking, Coligado explained, is the fear that interviewers likely have "preconceived notions about your ability to code" based on "your race, gender, age, and physical ability."
Plus, it's extremely difficult to predict what problem you'll be presented with, she said. In fact, during her first recruiting season, Coligado said she prepared for technical interviews by reading "Cracking the Coding Interview: 189 Programming Questions and Solutions," by Gayle Laakmann McDowell for 30 minutes each morning to "nail down one algorithm" and then do another at night after homework.
"I stayed home whiteboarding 'how to balance a binary search tree' while my friends were out partying, and while it sucked at first, I sure as hell knew how to balance a binary search tree by my 20th birthday," she said. "Mind you, I was asked in exactly zero interviews that year to balance a binary search tree."
Coligado soon realized that it was impossible to learn everything, but continued practicing the same exercises in the book. "It helped me recognize certain patterns in algorithms, such that even if one algorithm wasn't exactly like one I'd studied before, I could analyze it in a similar, methodical way," she said.
In fact, the exercises in "Cracking the Code Interview" are "more than enough to prepare for technical interviewing," Coligado said, "because it's an all-in-one guide; the constraint is it's hard to study for technical interviews in college when you're already being assigned a ton of coursework."
"Most importantly, [studying] gave me a sort of exposure therapy for overcoming my enormous fear of interviewing," she said. "Since I was practicing new algorithms every day, solving them in real-life interviews was a lot less scary."