top of page

Understanding and excelling in the software industry can be a difficult. Luckily, there is an abundance of online resources at your disposal with general information and interview practice.


Here are some guides to the software engineering industry:

Find more information about top recruiters in the industry and their opportunities for students here:

There are numerous online and print resources that are available to help you prepare for interviews. Furthermore, Harvard and MIT CS theory classes teach you core concepts that appear in technical interviews. Here are a few resources that students have found helpful:


 

These are some of the ways Harvard students studied and prepared for their interviews:


Practice smart.

“At the end of the day, it's practice. The more time you spend practicing coding questions on LeetCode, the more likely you'll get something similar to what you've done in an interview setting before.”

Software Development Engineer Intern at Amazon, Harvard Class of 2021


“Get the concepts, don't spend all day on LeetCode memorizing answers. And if you're going to get LeetCode premium, split it with multiple people.”

- Intern at multiple startups, Harvard Class of 2021


“I found that most of my actual technical preparation was grinding LeetCode. For me, Cracking the Coding Interview wasn't as helpful because it doesn't "force" you to solve the problems, whereas many online platforms do. The key is to do the problems thoroughly rather than quickly; understanding one solution really well will serve you a lot better than trying to bang out 100 problems a day."

- APM at Lyft, Harvard Class of 2020



Start early and stay organized.

“Prepare for interviews during the summertime. Applications begin almost immediately when school starts, in September/October. Interviews will also begin in late September and so you definitely want to start the school year mostly prepared. The recruiting process is stressful, depending on how many companies you apply to. There is a lot of logistics involved, many emails, and you definitely want to stay organized throughout the process! (Think spreadsheets).”

- Software Development Engineer Intern at Amazon, Harvard Class of 2021


Engage with CS through personal projects and/or teaching opportunities.​

“I’d not underestimate the importance of the non-coding sections of SWE interviews, including questions about your technical background and “fit” questions. Make sure that you can talk in-depth about past programming experiences and any challenges you faced. If you’re considering recruiting for SWE, I’d consider starting a personal project on your GitHub. Working on personal projects is a great way to see if you’re passionate about software development. You can also reference these experiences during an interview or on your resume.”

- Software Development Engineer Intern at Amazon, Harvard Class of 2022


“Outside projects absolutely make you stand out. Every time a recruiter talks about a stellar applicant they mention a project that interested them. However, they are absolutely not necessary. I had outside projects that weren't on github so I basically only mentioned them in interviews, but it didn't seem like they made a huge difference. And the fact that I made it to the interview stage without having big outside projects should so that they're not 100% necessary. Other things that make you stand out, is being a TA for a CS class, tutoring in CS work, and being able to be both a normal sociable human being and a CS student.”

- Intern at Facebook and Microsoft, Harvard Class of 2020


“Having teaching experience definitely helped me excel in my interviews, so try to pull from any sort of speaking experience if applicable.”

- Software Engineering Intern at Dropbox, Harvard Class of 2021



Run through interviews with friends.

“It's really important to be able to explain your thought process clearly, as if you were collaborating on the problem with the interviewer. Practice here is key; doing mock interviews with friends is very helpful; clubs like WiCS will also be hosting several mock interviews throughout the year."

- Software Engineering Intern at Dropbox, Harvard Class of 2021



Information Sessions

Throughout Fall Semester

In September and October, tech companies come on campus. They host information sessions and dinners, partner with clubs, and man booths at career fairs. Take the opportunity to explore different firms and ask questions about their work and culture.


Applications Open

Summer/Fall for Juniors and Sophomores

Tech companies recruit the heaviest August - November. For juniors seeking full-time roles at these companies, it's a good idea to start applying in August/September, especially if working with competing return offers. However, many opportunities open up and remain open through October/November. For sophomores who are seeking internships for their junior fall, recruiting can begin as early as September but generally peaks in October/November as well.


Winter for Freshmen

For first-years and also sophomores, programs targeted for underclassmen often open up in the winter.


Spring for Startups

Startups recruit all year round but generally after big-tech in the spring.


Online Coding Challenge

Candidates that pass the resume screen usually have to complete an online coding challenge. You will be given a specific time frame to complete this challenge.


Phone Screen/Campus Interview

If the coding challenge goes well, you may have an interview either on the phone or on campus. These usually involve a coding challenge with the interviewer who is in the position you are applying for.


On-Site Interview

On site interviews typically begin with a behavioral question, are followed by technical questions, and then end with questions for the interviewer. For the technical questions, be prepared to answer algorithm, whiteboarding questions. You will have several rounds of these interviews. Remember to get your interviewer’s contact information and follow up with a thank-you email!



The following is a list we compiled of the skills you need in order to succeed in software engineering:


Technical Skills

You should be fluent in at least one programming language, as your primary job is to code. Often times you will be required to work with multiple languages, so it is important to not just know language syntax, but also be familiar with theory, which will help you pick up other languages more easily. You should understand programming fundamentals such as data structures and algorithms, in addition to proper design principles.

"Much of the job, and the recruitment process, involves learning new skills and technologies, so being comfortable with reading through software documentation, Stack Overflow, video tutorials, etc., and generally being a diligent learner is important." (Software Development Engineer Intern at Amazon, Harvard Class of 2022)

Teamwork and Communication Skills

Coding and building your program is often an individual task, but software engineers typically work in teams to serve a larger project. Thus, it is important that you can explain your code and also articulate your thoughts about the project clearly so that everyone is on the same page.

"Increasingly, software development is becoming more collaborative, so being able to use source control tools (git) and work and communicate well within a team are valuable skills." (Software Development Engineer Intern at Amazon, Harvard Class of 2022)

Attention to Detail

Software engineers must be detail-oriented, as often one small bug in code will cause errors. It is important for you to be patient. You should also be able to think through future issues that may occur and prevent them before they happen.


Problem-Solving Skills

At its core, software engineering is problem-solving. You are designing programs and systems to solve problems and make people’s lives easier. It is not about thinking of any solution--you should be able to think through a solution that is efficient and considers trade-offs.


Featured Employers

McMaster-Carr

Williams Companies

Industry Guides

Standard_lower_res_edited_edited_edited.

Career Guide

by The Crimson Brand Studio

A Harvard Crimson site

University Daily since 1873

bottom of page