Intense competition and notoriously challenging interview questions prove it's no easy feat landing your dream job in tech.
Each year Lea Coligado was in school at Stanford, she applied to more than 20 software engineering or web development internships, including at Snapchat, Facebook, Apple, Pinterest, Microsoft, Palantir, Yelp, WhatsApp, and her dream company, Google.
"Since I was a freshman, the thought of working at Google was always a dream," Coligado, 23, tells Business Insider. "It symbolized all the greatness that can come out of a Stanford education, and it seemed like everyone around me was either trying to work at Google or start the next one."
But Google rejected Coligado's internship applications two years in a row. Instead, she went on rack up tons of interviewing experience with dozens of other tech companies and complete internships at Facebook and Apple.
By the time she was a senior, Google reached out to Coligado for an interview, this time for a full-time software engineer position. She was hired and began working there in the fall of 2016.
Coligado says that finally getting her foot in the door at Google "implied a certain understanding that No. 1, interviews are not a fault-proof system for discerning a candidate's ability — and sometimes even Google weeds out false negatives — and No. 2, that a candidate can learn and grow a lot from year to year."
Below, check out Coligado's four best tips for finally landing that dream tech job or internship:
1. Practice the interview
This is always sound advice no matter what industry you're in. But for engineering jobs in particular, the technical interview, where you'll be asked to show off your coding skills, can be especially difficult.
"Ask a peer to play 'interviewer' for an hour so you can practice whiteboarding 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," Coligado says.
2. Ask for help
Don't glean all your information about a position from the job posting — use your resources.
"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," Coligado says. In other words: network.
"As a candidate you are entitled to have your questions answered, and you'd be surprised how many people are willing to help you," she says. "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 account."
3. Don't obsess over things out of your control
"Externalize the things that are out of your control," says Coligado. Specifically, how you may be treated in the interview process based on your race, gender, or ethnicity.
"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 clothing (usually dresses)," Coligado says.
"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," she says.
4. Celebrate the small successes — and learn from the failures
On the other hand, Coligado says, "do internalize your successes and little victories, which you are in control of."
If you had a good interview, celebrate it. If you didn't, then evaluate your shortcomings and fix them for the next time.