The Interview Prep Module provides a template for the job application process. Follow steps from each module page and you should be getting offers shortly!
Among all companies that hire software engineers, the key to getting interviews is demonstrating on one's resume that one knows how to code, either via portfolio projects or a Computer Science degree. With a "can-code" resume and an employee referral, it is highly likely that one will be invited to interview.
Different companies emphasise different topics in SWE interviews. There are generally 4 kinds of companies that hire SWEs: Big Tech, Small Tech, Big Non-Tech, and Software Agencies, and each have general interview tendencies due to their size and nature. These are archetypes and there are exceptions, but so far we have observed these patterns among the companies our friends and students have interviewed at.
We define Big Tech companies as companies of >100 engineers whose primary product is software. Companies such as Google, Facebook, Grab, Carousell, and GovTech fall into this category.
Big Tech companies tend to focus more on data structures and algorithms (DS&A) interview questions. This is because they hire large volumes of engineers, and the only known consistent and scalable way to hire engineers is to throw standard problems at them, which tend to be DS&A problems.
We define Small Tech companies as companies of <100 engineers whose primary product is software. Startup companies at or before Series C tend to be in this category.
Small Tech companies tend to have more bandwidth to assess candidates individually, beyond standard DS&A interview questions. This means that Small Tech companies are able to evaluate portfolio projects and take-home assignments more thoroughly, and tend to evaluate candidates on their ability to build software products more than their ability to solve DS&A problems.
We define Big Non-Tech companies as companies of >100 engineers whose primary product is not software. These companies tend to be banks, telcos, FMCGs, or insurance companies.
Big Non-Tech companies tend to focus on language-specific interviews. For example, banking software is primarily written in Java for stability and ecosystem reasons, thus banks will typically require its engineers to be familiar with Java. Telco company software systems are typically less application-level and more systems-level, which may require lower-level languages such as C++. In general, Big Non-Tech software was typically created by external vendors and maintained over years, generally implying more legacy software that requires more niche knowledge to maintain and extend.
Language-specific interviews may ask about specific language features, for example about the differences between public, private, and static variables in Java, or how Java manages pointer data.
Big Non-Tech companies pay well for the niche skills they require, and they may still ask standard DS&A questions in their processes.
We define Software Agencies as companies that build software for other companies. Software agencies can be big or small, and typically serve big or small "non-tech" companies. Tech companies typically have less need for software agencies because software should be their core competency.
Software Agency interviews typically depend on the types of clients that that agency serves. For example, if the agency's clients tend to be banks, they will ask more questions around Java. If the agency's clients tend to be small startups, they may ask more questions around modern frameworks. In general, software agencies are all-rounders and will ask a variety of questions, including take-home assignments, DS&A questions, and language-specific questions.
The following summarises the types of companies that hire SWEs and the focus of each's interviews.
More focused on algorithm interviews
More focused on portfolio and take-home interviews
More focused on language-specific interviews
All-rounders, focus depends on that agency's clients