Disclaimer: All of the opinions in this article are completely my own and are not affiliated with any company.
So, youâre interested in coding and want to learn about how to land a software engineering (SWE) internship? Maybe youâre in college, self-taught or from a bootcamp, regardless internships are incredibly valuable. Software engineering internships can give you experience working in different areas (mobile, web, security, site reliability), compensate you well and let you network while also building relationships with companies that can lead to full-time offers. They are typically 8â12 weeks and while most are for the summer, they can occur during the fall, winter or spring too. Finding software engineering internships can really be broken into two major phases: getting an interview and passing one. Weâll be going over one of the most important things youâll need to land an internship; a good resume. This article will also cover some alternatives to traditional industry internships, resources for finding internships and more.
Photo by Glenn Carstens-Peters on Unsplash
The first step to finding a software engineering internship is creating a good resume. As a freshman, you might find this especially difficult like I did since you likely have only been coding for a semester, may not have a GPA and donât know what to add but Iâll highlight this later. In general while youâre in school you want your education section to be near the top of your resume and to have your GPA listed if its over a 3.0. If your GPA is low (<3.0) itâs best to leave it off since most employers like to see at least a 3.0 but most will never ask you directly, although in my experience most internships applications ask for a GPA so it can be hard to avoid. People sometimes put their major GPA instead of their cumulative GPA if itâs higher and mention the type of GPA on their resume. If youâre only a freshman in your first semester and donât have a GPA yet thatâs normal you can just list your university youâre currently attending or a bootcamp if youâre not enrolled in a university.
I think itâs good to look at a high GPA (>= 3.5) as icing on the cake. A high GPA can send strong signals to an employer especially if you donât have much experience (like being a freshman or a recent grad) but when looking at other things like work experience, projects (personal, open source contributions), hackathons and leadership experience which makes up the cake itâs a lot less important. Regardless I would try getting the highest GPA you can while maintaining your sanity and doing others things to make yourself employable like developing a solid understanding of programming and doing internships. Computer science is thankfully very meritocratic in many ways so even if you donât go to a well-known university (or one at all), have a low GPA or have any referrals you can still break into the industry and land an internship by doing well in coding/behavioral interviews. Not having those will definitely make it harder but hard work and persistence will pay off.
Listing computer science courses youâve taken is a great way to show recruiters or engineers who happen to look at your resume what CS domains you know and what you can be tested on during an interview. When listing course names abbreviate and avoid course numbers. For example:
Courses: CSIT 110: Fundamentals of Programming I in Java (Current) // Bad
Courses: Fundamentals of Programming I (Current) // Good
Say youâre taking a computer networking course and some internships youâve looked at want students who know about computer networking concepts, should you list a course even if youâre currently taking it? Yes, for courses youâre currently taking you can add the words âCurrentâ, âCurrently enrolledâ or âIn progressâ in parenthesis after the course.
You can add clubs to your resume especially if they are relevant to CS or you have a specific role (president, marketer, treasurer). Hackathons are coding competitions typically lasting around 24 hours, have prizes and are great networking events for students. Not only can you code something cool (Uber for horses, Instagram clone), your side project can show passion and commitment to learning that extends beyond the classroom and can be a conversation starter if itâs on your resume. If you win especially at a large hackathon, it can show competency and that youâre coding-interview ready. Winning at a hackathon hosted by a company can often get you an interview there. If you do go to a hackathon, youâll be uploading your code to GitHub publicly, so others and potentially employers can see. GitHub if you donât know, is just a website used for sharing code and collaborating on projects. Clubs and hackathons can show youâre well-rounded and can give your resume more personality to stand out. You can add this to your education section or make it its own section.
Doing side projects, outside of fast paced hackathons is a solid resume builder. Side projects let you put the knowledge from class into the real world. Itâs the difference between learning about inheritance and code reuse in your textbook, to creating well-designed child classes which call parent methods to follow Object-Oriented Principles which re-use your existing code. Side projects help you exercise your skills to back up your claim of knowing how to code. Although side projects are great to have on your resume, they arenât essential. Many employers like to see them but they probably wonât visit your GitHub and see your code at all. You donât need to spend time creating several side projects in order to get an internship. Listing school projects youâve done on your resume is enough. Itâs really about quality over quantity and coding with the intention of developing your skills and not solely doing projects just to put on your resume. Basically, have fun with side projects which are nice but not required! Whatever projects you do, make sure to clean up the code (indentation, variable/method/class names), upload it to GitHub and add your profile link to your resume. Also add the languages or technologies you used to create the project.
Foodstagram (Swift, Python, Django)
Work experience is the most important part of your resume but you might be thinking, âmy work experience isnât relevant because Iâm looking for work experience with a software engineering internshipâ. Thatâs okay, list whatever experience you have, whether itâs from retail or babysitting. Non technical jobs teach transferable skills like how to handle difficult clients and time management. For your experiences make sure to avoid using generic names that give little context about a job such as âStudent Assistantâ and use more specific job titles instead like âAdmission Tour Guideâ. If you already had a SWE internship and want more tips, avoiding generic names is especially important for SWE related internships. Companies frequently use very specific job titles like âTechnology Product Analyst Internâ which are really just âSoftware Engineering Internâ positions in disguise. You want to stick with common position names, understandable to anyone outside of that company. When writing experience pay attention to the tense as current positions should be in the present and old ones in the past tense. Vary your use of starting action verbs on each bullet point, with words like learned, created and managed. Be concise and focus on impact. Instead of saying you did some task, quantify tasks and mention a statistic if possible that shows the impact.
Other resume formatting tips include having a LinkedIn and GitHub profile link on your resume and using a professional email, preferably involving your first and last name like: firstname.lastname@gmail.com
In your skills section you can add languages you know and their **proficiencies **(Proficient or Familiar) along with other categories like âTechnologiesâ, âToolsâ or âAdditionalâ to highlight other skills that arenât programming languages. A one page resume in either PDF or Word format is the standard. I would personally try to avoid fancy templates if applying online (ok in person), simply to avoid getting filtered out by the Application Tracking System (ATS). You can check how parsable your resume is, by seeing how well your application is autofilled when you apply to jobs. If your fancy resume template parses well, you can keep on using it otherwise you can stick to a safe and plain resume template.
Once youâre done with your resume you can start applying on popular job boards.
#job-hunting #internships #software-engineering #software-development #interview