GT-How: A Comprehensive Guide to Getting a SWE Internship

By: Aksh Tyagi and Francis Fataki

A graphic that displays a figure wearing graduation regalia and a briefcase that is located to the left of the figure.

A Software Engineering (SWE) Internship is highly important for CS majors’ future careers. Image from Reddit.

Introduction

The objective of most undergraduate students once they graduate is to obtain some form of full-time employment. However, in the current social climate, the job market is quite competitive, and it is even more difficult for those who have acquired little to no professional experience throughout their undergraduate careers.

Additionally, most students devote most of their attention to their courses, which does not leave them with a sufficient amount of time to develop the professional documents that they will need in their careers. As a result, a step-by-step guide that outlines the process of obtaining an internship.

Table of Contents:

Step 1: Specialize If You Can

Step 2: Join the GT CS Careers Club

Step 3: Craft a Resume

Step 4: Be on the Lookout for In-Person Opportunities

Step 5: DSA + Algos + Leetcode

Step 6: Apply Early and Often

Step 7: Be Prepared for all Aspects of an Interview

Step 8: Don’t Give Up

1. Specialize If You Can

Displays a gear that has a star in the middle of it.

Do what you love and you’ll never work a day in your life. Image from Wikimedia commons.

Try to figure out what you are interested in and make moves to specialize into that. It is fine if you don’t know or want to be a general SWE (ie. CRUD), but specializing early on makes it more likely that you will end up at a job you enjoy. For example, say you have always been interested in robotics. Knowing this can allow you to shape your schedule around robotics classes (ie. CS3630, Embedded systems, etc.), and you can join VIPs or clubs that focus on robotics.

Taking part in these will enable you to build a resume that is full of robotics experiences, which makes you a strong candidate for robotics positions as you are more likely to pass ATS resume screens and will have a lot to discuss in your interviews. Moreover, if you specialize in something you enjoy, you are more likely to want to put effort into it rather than burning out. Georgia Tech has ample Vertically Integrated Projects (VIPs), clubs, and research opportunities, so start looking at them to see if you can find something that interests you.

2. Join the GT CS Careers Club

The official logo for the GT CS Careers Club

The GT CS Careers Club has some of the smartest CS students at GTech. Image from Reddit.

The Georgia Tech Computer Science Careers club is a great resource for learning about the ins and outs of the internship process. It is primarily run through discord, where there are hundreds of upperclassmen who have gone through many internships that are available for you to ask questions. Here are a few of the resources you can find:

  • Resume reviews: As you are building your resume, you can reach out to upperclassmen for critiques on how your are phrasing things or even the overall structure of your resume
  • Mock interviews: If you have an interview coming up, you can connect with students who may have gone through the same or similar process and have them mock interview you to maximize your chances for success.
  • General advice: There are various channels within the discord server that enable you to ask for general advice on technical or behavioral aspects of the interview process.
  • In person events: These events are great for networking with your fellow peers and maybe even securing internship referrals.

3. Craft a Resume

Displays a magnifying glass that's hovering over a resume

Your resume is the most important document when it comes to applying for internships. Image from Wikimedia Commons

A good resume can open doors for you into top companies, but it can also be the reason you aren’t getting any interviews. When building a resume, you want to robustly explain your experiences in a way that makes it clear to employers that you know what you are doing. Here are a few tips on that:

  • Use a format that ATS can fully read. Jake’s resume is recommended.
  • Include numerical evidence of your impact (ie. 10+ clients were helped, 1000+ megabytes of data were handled, etc.)
  • Prioritize experiences over personal projects as companies typically care more about those
  • As mentioned before, reach out to peers or places like the GT CS Careers club to get your resume reviewed as there could be issues with it that you aren’t seeing.

4. Be on the Lookout for In-Person Opportunities

When you apply online, you are competing with a sea of computer science students from all across the nation. Going to in person events hosted on campus narrows down the number of candidates and makes it more likely that you will be selected for an interview. Moreover, companies will appreciate that you took the time to come out and meet with their representatives in person instead of just submitting an application online. Here are a list of on-campus events to look out for:

  • Career fair: Both the all-majors and computer science career fair are great opportunities to meet in person with employers, exchange and discuss your resume, and potentially get an interview.
  • Bill Moore student success center: Companies will sometimes have booths set up at Bill Moore for students to come up and converse. Think of this as a mini career fair as the number of companies is usually smaller.
  • College of Computing Events: Companies will also set up stands within the CoC for students to interact with them, exchange resumes, and get exclusive merchandise.

Most of these events are broadcasted to students via email, so be sure to frequently check your outlook.

5. DSA + Algos + Leetcode

Showcases the following three stages of the interview process:

Technical Aspect: describes how well you can solve problems

Behavioral Aspect: Describes how well you can communicate in a personable way

Resume: Details your abilities and past experiences

There are various elements to the SWE interview, with the most important ones being highlighted in this infographic.

Most technical round interviews for internships involve being asked a technical coding question. It is difficult to say what percentage of these questions actually come from leetcode, which is an online platform for solving technical coding questions, but many companies do pull their questions or take inspiration from leetcode. Without any knowledge of Data structures and algorithms, it may be difficult for a student to find success in solving leetcode problems. Here are the intro steps to take once getting into leetcode:

  • Take CS1332 (GTech DSA class) as soon as possible. From this, you will gain many of the fundamental skills required for understanding and implementing solutions to leetcode problems
  • Follow a curated list such as Grind75 or Neetcode. Instead of doing problems randomly, these lists organize some of the most popular problems in a natural progression so that once you solve some of the earlier ones, it will become easier for you to solve the later ones.
  • For more difficult interviews or companies with higher technical bars, take CS3510 (Algorithms) as soon as possible. This class will cover more advanced topics such as dynamic programming and graphs, which is something that companies with higher hiring bars may ask in their technical interviews.

When it comes to technical interviews, it is all about practice, so doing as many problems and getting into as many technical rounds as you can is the best way to get better.

6. Apply Early and Often

Shows a bird standing on grass with a worm in its mouth. The background of the image contains a sunset.

As they say, the early bird gets the worm! Image from Wikimedia Commons.

Applying early improves your chances of getting selected. Submitting an application during this window limits the amount of competition that you may experience since most applicants apply in later stages. Additionally, an early application demonstrates that you have a strong sense of initiative.

Also, apply to multiple internships. In most instances, it is unlikely to receive an offer from the first job that you apply for. Instead of hoping to receive an offer from a few companies, apply to several. This increases your chances of receiving an offer, and it also allows you to explore other opportunities that better align with your skills and interests.

7. Be Prepared for all Aspects of an Interview

An invaluable ability that is common amongst virtually all professions and academic fields is effective communication. In fact, being able to communicate well could greatly assist you in performing admirably for an interview. As it relates to your resume, ensure that you can summarize the experiences listed on your resume and reference certain experiences based on how well they relate to the job that you are interviewing for. As you discuss your background, explicitly mention how they link with the job position. This strategy gives the interviewer great insight into how well-suited you are for the job. 

Familiarize yourself with the qualifications of the job so you can get an idea of which concepts may be tested during the interview. Find related problems, using online, school library, or other resources, that will allow you to practice these skills. 

Shows the following steps of the STAR Method:

1) Situation: Give a general description of the situation that you would like to. This should include enough information to explain the context.

2) Task: Discuss the task that you were assigned.

3) Action: Explain in detail the actions that you took to complete the task. HIghlight any skills that were demonstrated.

4) Result: Describe the outcome of the task and focus on including results that are quantifiable.

The STAR method is one of the most tried and tested question answering methods out there.

Lastly, practice answering behavioral questions that typically arise in interviews.

One of the best ways to answer behavioral questions involves using the STAR(Situation, Task, Action, Result) approach. Basically, structure your response using the STAR acronym, and discuss the situation, the task that you were assigned, the actions you took to handle the task, and the outcome that resulted from your course of action. 

8. Don’t Give Up

Shows a creature attempting to crawl out of a dark tunnel towards a source of light.

Keep going, no matter what. Image from Steam Commons.

Perhaps, the most important lesson in attempting to secure an internship is learning how to be patient with yourself and all of the aspects that are involved in the process. The application process can be extremely grueling, and it is not uncommon to receive more rejections than offers. On the bright side, there is a position that is perfectly tailored to your abilities and preferences. In fact, there might be several roles that you fit! The number of rejections that you accrue is not an indictment of you personally, but it is rather a strong demonstration of your ability to stay persistent and focused. So, endure whatever comes your way and keep applying!