Landing Your First Computer Science Internship

Tips for landing your first internship or job as a software engineer

Jake Richards
5 min readMay 24, 2019
Photo: MichaelGaida

A little over a year ago, I landed my first internship as a software engineer. After working full-time during the summer, I was offered the opportunity to continue working remotely part-time during the school year. This summer I will resume working full-time, so I wanted to sit down and reflect on how I got here, the steps that I took, and share my personal experiences. If you’re anything like me a few years ago, confused about how to grow your abilities as a programmer, then I think this post will bring you a lot of value.

I’m going to cover a few key pieces of the puzzle that have gotten me to this point. While I have by no means mastered these, I’m continuing to grow and make progress every day. That’s the goal, right?

Programming is one of those things that feels like a vicious cycle and hard to break out of. You want to get hired so that you can gain experience, but every job that you apply to requires that you already have experience. So how does one gain this experience? For me, it was a combination of personal projects and freelancing.

Personal Projects

Working on your own projects is great for not only practicing your coding abilities but also having tangible things to share with potential employers. I would strongly suggest working on projects that you are genuinely interested in, not just things that will look good on your resume. Working on projects that you enjoy will allow you to keep moving, even when it seems impossible — which happens often as a software engineer.

One of my big inhibitors while applying, interviewing, and even starting my internship was feeling intimidated. I felt inferior and unsure, especially during deep technical conversations where I didn’t even understand the question, let alone have the ability to give a competent answer. Working on personal projects gave me a way to transition the conversation into something that was related and that I could confidently talk about.

For example, one of the projects that I spent a good amount of time on was centered around Call of Duty. It was a matchmaking website that allowed competitive players to get together and compete against players of a similar skill level. It tracked ranks, XP, and there were a lot of cool little features. This ended up being the focal point of the very first phone conversation I had with a recruiter at the company where I ended up getting hired.

At the very least, you’ll be able to share a few things with friends, family, and potential employers. I personally store all of my projects on GitHub, where you can get unlimited free private repositories just for being a student and signing up for the student developer pack.

If you are interested in the types of projects that I’ve worked on, you can take a look at my profile. A lot of my repositories are private, but I’m trying to start working on more open source packages.

Freelancing

The summer after I graduated from high school, I gave freelancing a shot. I had been coding, specifically web development projects, on and off for a few years and thought that I could make some money. So like any other 17-year-old, I googled “How to make money as a web developer.” One of the most intriguing results was freelancing. Unlike personal projects, I was able to make money while practicing!

Overall, I’d give freelancing about a 4/10 rating, as it simply just wasn’t as fun as working on personal projects, and I felt that the money wasn’t enough to be a game changer. I made approximately $2,400 in about 2 months of working 60 hours a week. About $5/hour. The kicker is that with freelancing, you’ll end up spending more time communicating with clients than actually coding. Some projects paid more than others, but it simply was just too stressful to communicate with 7–8 clients at a time for only $5/hour.

If you’re curious you can check out some of the work that I did that summer on my Upwork profile.

Reflecting on my freelancing experience, I definitely could have made a lot more money, but I undervalued myself and wouldn’t charge nearly as much as I should’ve. If you feel that you fall somewhere between entry-level and intermediate, charge at least $20/hour. This will probably mean that after Upwork fees and subtracting the time that you’ll spend communicating with clients, you could probably bring home $10-$15/hour.

Money aside, freelancing is a great way to get a taste of what it’s like to work with real clients and solve real-world problems. I learned a lot about how to take the clients’ ideas and turn them into living, breathing projects.

Applying

Throughout the process of applying to jobs, I applied to as many positions as I could possibly find that were related to what I wanted to do and close enough to my home. I would strongly suggest that you do the same. Of the many positions that I sent my resume and application, only 2 companies got back to me. Of those 2, 1 actually gave me an offer.

It is crucial to put yourself out there as much as possible and give yourself as many chances and opportunities as you can. I used many websites to help me find relevant positions, and I’ll list a few here just to help you out.

or just google search — “Computer science jobs 2019”

Now go do it!

Practice makes perfect, and the most important thing that you can take away from this is to go out there and start creating and coding! To give you a head start, here’s a great list of ideas that may inspire a new idea for your next personal project.

Thanks for reading and good luck with your projects! Leave a comment or message me if you have any questions.

--

--

Jake Richards

Hey, I’m Jake — a Software Engineer. My passion is transforming ideas into reality through coding.