Hello fellow nerds, we're back with a new blog post for today. I've been busy lately on a job search for my first developer internship for my school's co-op program. I thought I'd share with you some of the things I've learned so far along the way. Most of what I'll say for now will be second-hand knowledge of good advice I've gotten from the professionals in my school's co-op team or senior co-op students. I'll update this post in the future (or write other posts on this topic) as I gain more first-hand experience in looking for internships. If this is something that interests you be sure to subscribe to my newsletter so you don’t miss out on future blog posts.
Search Volume is Key
One of the biggest pieces of advice I've been given is to apply to as many opportunities as you possibly can. From what I've been told by my school's co-op advisors, it can take dozens of applications to secure internship opportunities. You have to treat this whole process as a numbers game, even if you only have a small chance to get hired for any given position, with enough persistence you will get some offers. I like to see it as being a door-to-door salesman, even though you'll likely get many people slamming the door on you (especially if this is your first internship like with me) you only need a small percentage of successful applications to be successful. Companies will start their hiring 4-6+ months in advance from the time of the work term so you'll have time to get a large volume of applications going. I've currently been doing around 1 application per day because of how busy I am but it certainly doesn't hurt to go beyond that if you can.
Note that if you are looking to get into the larger tech companies, they will start hiring sooner!
Writing Effective Tailored Resumes
I've gotten a lot of advice from a senior co-op student and the co-op team around making an effective resume. Through this advice, I've gradually made my resume better and better. To start, the biggest tip that helped me create the best resume I could was that you need to try to fit in as much as you can on a single page (within limits of course). I used a small size 10 font for the contents of my resume and a size 14 font for the headings. Furthermore, I also added shortened margins to leave even more space for the contents. From there, I put in as much of my experiences as possible mentioning the names of all the tech or skills I've used that might be keywords. Of course, use clear examples so they know to what extent you've developed that skill and what to expect from you. Try to show as many of these keywords as possible because recruiters will often spend less than a minute looking through a resume. Many even use automated systems to scan for what they are looking for. Because of this, I've also been told to keep the content in the form of digestible bullet points that are easy to read and go straight to the point.
Another big piece of advice I've received was to tailor your resume towards the particular job posting you are applying to. Look through the application and try to see if there are any key things they want in a candidate that you have and try to create a new version of your resume to emphasize it. You don't have to completely rebuild your resume every time, it could be as simple as changing the different keywords there, adding and removing a couple of bullet points here or there, or replacing one section with something else that might be more applicable to that job. This way, you can try to maximize your chances of success with each job application.
For resume format, I structure my resumes as follows (in this order):
- A header containing my name, city, phone number, email, a link to my LinkedIn profile, a link to my Github profile, and a link to my website.
- A summary of my skills/qualifications.
- An education section talking about my post-secondary education (if you have more than one school listed, go in order from most to least recent).
- An experience section talking about any work/volunteer experience (in order of most to least recent).
- A projects section talking about any side/school projects I've done (again, in order of most to least recent).
I keep my resume to a single page but I believe you can get away with a two-page resume although no longer than that.
Writing Effective Tailored Cover Letters
Similarly, some job postings might require you to give a cover letter along with your application. This is a letter you'd write to express why you believe you are a good fit for the company and would succeed in the position. While not all job postings require this, it's nice to include it even if it's optional. This extra bit of effort goes a long way since companies want to know you are interested in them and their vision. While this might seem like a lot of work, I've just copied older cover letters and made appropriate changes to them; you don't need to start from scratch every time.
Like the resume, you want to tailor it well to what the company is looking for and how you can provide that. Alongside that, you should mention what interests you about that company. I formatted my cover letters to start with a brief intro about myself, my current education, and a little bit about my qualifications. Then I went on to talk about what caught my eye about their company. Of course, that part needs to be out of genuine interest so be sure to do your research to find what you like in that position and company. It can be anything from culture, looking to build skills in an area, admiring their work, or a deep interest in what they are using. Then, to end that opening paragraph, I would finish with a general statement about how my abilities make me a good fit for that role.
From there, you'll need to talk about your personal experiences that back up the reasons you think you're a good hire. An experienced hiring manager from my school's co-op team gave this great strategy for this called the STAR method. Here, S stands for situation T stands for task A stands for action and R stands for result. The key here is to detail your experiences in that format to be as detailed as possible. As well, in the results section they recommend giving specific quantifiable results. So for instance, as a technical writer, I would give page views as a result of my work. Or say you have a popular GitHub repository, in that case, you could use GitHub stars as your quantifiable result. With each of these experiences, I try to reiterate why it proves I fit their needs, culture, and/or vision.
Finally, in the conclusion, I would add a summary and end off by asking for an interview to further talk about what I can bring to the table. In total, I try to keep all of the contents of the cover letter to a single page.
The Interview Process
This part of a job search I admittedly don't know too much about right now (again I'll update this guide as I gain more experience). So far, I've only done 2 interviews, one of them being a mock interview organized by my school's co-op team. Although like the other points I made, I've gotten a good amount of advice from those more experienced than me to supplement this.
To start, you should prepare yourself in case they give you some form of coding problem. While it's mainly the huge tech companies that do these types of things, I've heard that smaller companies have begun doing this too. Some of the larger companies might make you write pseudo-code on a whiteboard to go through the problem. They don't require you to fully solve the problem this way but it's more so for them to get an idea of your thought process. The whole purpose of this is to see how good of a problem solver you are so be sure to verbally go through your thoughts if possible. In terms of practicing these types of problems, LeetCode is always a great option. Also, make sure you know some of the fundamentals of data structures and algorithmic analysis. These types of skills are needed to do well in these problems especially the harder ones. Not only that, but they can help you develop better problem-solving skills and write more efficient code. If you are in a Computer Science program, you'll have courses talking about these concepts in detail. While learning this may be boring for some, it is a necessary evil if you want to be the best programmer possible and pass some interviews.
Next, you should also watch out for the behavioral interviews. Just like what I've discussed in the section about resumes and cover letters, you need to do your research on the company you are applying for. Again, showing genuine interest in the company you are applying for is a huge plus and you might even be asked questions specific to them. You don't want to be thrown off guard like I was in my mock interview when they suddenly ask what company processes you would be interested in working on. And of course, you want to appear confident or at least comfortable as much as possible and speak clearly (something I need to work on).
It's also worth noting that you could encounter pre-recorded interviews (something I had no clue about until recently). For a company I applied for, they asked me to do one of these as part of the application. In this format, they give you prerecorded questions for you to answer in the form of a short video response. In the two pre-recorded interviews I've done, they've given me chances to re-record my responses. One of them was up to 3 tries (the mock interview) and in the other an unlimited amount of tries. In both of them, however, I was given the chance to review how the last attempt went but was restricted to only submitting the most recent one. With this in mind, you could try recording yourself answering mock interview questions just in case. Even if you don't need to do these types of interviews, doing this could help for a live interview.
With all that, you should have an idea of all I've learned in my job search process so far. I'll definitely update this guide or create more guides on this topic to help you guys land your first internship. Stay tuned because in the future I plan to make blog posts on how my first internship goes!
If you like what you read, consider subscribing to my newsletter to be notified of new blog posts. Also, check out my programming tutorials here.