Omkar's face

Omkar Konaraddi

Resources when interviewing for software engineering roles

Published on 2021-08-06.

A short list of resources that I used when interviewing for software engineering internships and full-time roles in 2017-2019.

Recruiters

If you ask, recruiters will usually say what kind of interview questions can be asked during an interview at their company and how to best prepare for them.

Levels.fyi

levels.fyi is one of the best resources for looking at compensation at many well-known companies. Compensation can be filtered by years of experience, location, and company name. Some companies offer stock and bonus so levels.fyi shows how the compensation is divided between salary, stock, and bonus. Levels.fyi can be useful for evaluating offers and determine which companies to apply to or continue interviewing at. Remember to consider cost of living.

The data at levels.fyi seems to validate the idea that developer compensation is bimodal (at least in the US).

CB Insights

CB Insights has an update-to-date list of unicorns. If you're interested in working for a start-up, I think applying to these should be your top choices because most of them received substantial funding from well-known VC firms that do a good job of vetting the potential of their investments (with some notable exceptions). An alternative to CB Insights is Crunchbase but it costs money to filter for unicorns.

r/cscareerquestions

r/cscareerquestions is a community on Reddit that's heavily geared towards those either looking for roles or currently working at well-known tech companies or trading firms. The most valuable part of r/cscareerquestions is its quarterly Salary Sharing Threads for Interns, New Grads, and Experienced Devs. In contrast to levels.fyi (at the time of this post), the salary sharing threads include compensation at smaller companies and in lower cost of living areas. Search for "[official] salary sharing thread" to find those threads. If you choose to browse the subreddit, beyond the salary sharing threads, remember to always take Internet strangers' advice with several grains of salt and do your research.

Glassdoor

Glassdoor is useful for figuring out the types of interview questions previously asked at a company. Search for "glassdoor REPLACE_WITH_COMPANY_NAME interview questions" on your favorite search engine.

GitHub repos

Some useful GitHub repos include github.com/yangshun/tech-interview-handbook (especially the section on questions to ask your interviewer) and the GitHub repos with lists of links to the applications for internships and new grad roles at various tech companies (for example, this repo is for 2020 new grad roles). You can find GitHub repos with links to applications by searching for some variation of "github internships list applications links REPLACE_WITH_YEAR" on your favorite search engine.

Leetcode, CTCI, and HackerRank

Common coding interview questions are present on leetcode.com and in Cracking the Coding Interview (a book commonly referred to as "CTCI"). Most online coding challenges are through HackerRank. These are good places to find practice questions and problems as you prepare for your interviews. There are enough elaborate posts on how to prepare for software engineering interviews on the Internet so I won't go over that.

Other resources and opportunities

Some resources I didn't use but are supposedly helpful include Blind's discussion forum, JumpStart's discussion forum, and Leetcode's discussion forum.

If you're a freshman or sophomore, look out for freshman-sophomore-specific opportunities like Google's STEP program and Microsoft's Explorer program. If you're a member of an underrepresented demographic, look out for opportunities like Facebook University.

There are fellowships like the Kleiner Perkins Fellows and HackNY Fellows program where you can intern at a start-up, attend workshops, network with entrepreneurs, meet other interns from other companies, and more.

Join a community

There's a lot of stuff out there that we don't know and should know. Joining relevant subreddits, discords, slacks, and other places for online communities is increasingly important for staying informed on the latest resources that can help you in your pursuits. Consider joining a community relevant to your interests and beware of its bubble.