How to Get a Software Engineering Internship with No Experience

Amanda Punch
Level Up Coding
Published in
9 min readAug 24, 2021

--

Starting out is hard. The more internships you have completed the easier it is to land a job, but don’t believe the paradox that ‘every job requires experience, but you can’t get experience without a job.’ Internships, by definition, are designed for students to gain experience. Having experience is an asset, but not a requirement.

Photo by Shahadat Rahman on Unsplash

Create Your Own Experience — Get Involved

Relevant work experience is not the only achievement valued by employers. You may not be paid, but you can learn the same skills you would on a job by getting involved. Here are the three types of opportunities you should pursue.

Coding Clubs

University is not just about finishing your degree. As a student you will have access to a network of clubs that will aid you in your professional development. Don’t sign up for an extra course when you want to learn a new skill — do it for free through clubs. You don’t even have to pay for any resources you may need — most will have funding for that.

Working with others to develop code is the best form of experience when you have no previous internships. You will gain teamwork and leadership skills, and be mentored by more experienced students.

That being said, do not join a coding club purely as a resume booster. Join a project that you genuinely want to be a part of, and whenever you are asked about your team your enthusiasm will show. No one wants to hire someone who isn’t excited about their work.

Personal Projects

Coding clubs are great resume boosters but there are two drawbacks. First, they require you to commit regularly (usually at least once a week). Second, the projects are fixed, and decisions are made as a team. If you prefer flexibility in your schedule and complete control over your work, starting a personal project may be a better option.

Personal projects show employers that you can take the initiative to teach yourself and can solve problems with little guidance from others. As you are the only one contributing to the project, you will get a much more thorough understanding of the work. If you build your own website, you can not just focus on the front end and leave the back end to your team member — you will have to learn both.

How do you get started? You don’t need to reinvent the wheel. Look online for examples, use open source code, and ask questions on Stack Overflow. Starting from scratch does allow you to gain a deeper understanding, but it is time consuming. Even if time is not an issue, working from open source repositories exposes you to better code. Maybe your attempt performs the task correctly, but likely someone online has a solution that performs better. Learn from them.

Hackathons

Finding a project in a sea of opportunities can be overwhelming. It is easy to end up with a bucket-list of projects that is much too long to finish during one degree.

The good news is you don’t have to narrow down your options too much. The solution: hackathons. It is the best way to try something new without a long-term commitment. Still not convinced? They usually come with free food and merchandise.

You get the same experience as you would on a coding club, but packed into 24 hours. It is an intense coding sleep-over party.

Long-term projects are more valuable to employers than a single hackathon, but do not underestimate their value. At bigger hackathons — such as NW Hacks in Western Canada — tech companies are usually present. Attending this event helped me land one of my first software internship interviews. I added the hackathon to my resume, and the CEO of a start-up recognized it — he was there too that night.

Be Persistent — Every Action is a Step Forward

Having a polished resume is essential, but at the end of the day landing your first internship is a numbers game.

After a certain number rejections most students will give up, and decide that their effort would be better focused towards their classes. It is easy to follow suit when everyone around you is failing, but don’t be a sheep. The more you enter the better chance you have at winning.

How do you maximize your number of applications? Apply these two principles.

Make Applying Effortless

Applying to jobs can be time-consuming, but it doesn’t have to be. Increase your efficiency by having a generic cover letter. Make it into a template, and highlight any blank fields — employer name, position title, and so on — in bright yellow so you never forget to fill them in.

Using templates is essential to pumping out applications, but you cannot send every company the exact same cover letter. Always customize the first few sentences. Say why you want to work for the company and why you are the best candidate for the position. Be specific to the posting — show the employer that you took the time to research the role and company.

If you are applying to different positions that share little required skills, make multiple templates. This way you can avoid re-writing a cover letter for each job, or mentioning irrelevant skills.

Be Consistent

Now that you have your ideal resume-generating system you need to get them out there. To maximize your number of applications you need to be consistent. Set a target for how many applications you want to submit each week. Check your job board daily and save any positing you are interested in.

Whatever you do, do not let your ‘to-apply-to’ list grow too long. The faster you apply the better. Many employers will not wait until the posting deadline to start interviewing. They will start looking at applications and interviewing people immediately. If they find the right person it doesn’t matter if the deadline is not up yet — they will hire them. Don’t loose before you have even submitted.

Photo by Christina @ wocintechchat.com on Unsplash

Never Miss an Interview — A Failed Interview Is Not Wasted Time

If you keep pumping out applications, gaining new skills and revising your resume and cover letter periodically you will likely land your first few interviews.

Your first few technical interviews can seem daunting, and you will likely mess up at least one, but do not let these mistakes set you back. It is easy to believe that an interview where you are not selected is wasted time. Sometimes you will question if showing up at all is worth your time. If you are not prepared well enough, or do not see yourself stacking up well next to your competitors it can feel logical to cancel. Why set yourself up for failure, when you can spend more time on another posting you are more likely to get?

If you never push yourself out of your comfort zone you will never grow

The truth is, if you never push yourself out of your comfort zone you will never grow. You will never be prepared for those more competitive positions. By staying stagnant you will always have to settle for less.

It doesn’t matter how unprepared you are. Show up anyway. Even if you fail every question, by simply attending more challenging interviews you will learn what types of questions are asked. Remember these questions. Write them down. Next time you practice don’t google interview questions that may or may not be relevant. Use your list of actual questions companies have asked. Different companies will ask different questions, but over time you will notice similarities. Some questions may even be identical.

Showing up is the first step, but not the last. Even if you are certain you will not be selected, you still need to put in your best effort.

Why? Every skill requires practice to master, and challenging interviews are the best way to learn. Mock interviews with your friend in your PJs are still encouraged, but nothing will stack up to actual interview experience. You cannot start over when you mess up. You have no idea what the interviewers are going to ask you. This kind of pressure is hard replicate, but learning to deal with unexpected situations in interviews is key to nailing your next one.

Even if you are not selected, each interview is a valuable networking opportunity.

Putting effort into each interview isn’t the last step either. Even if you are not selected, it can be a valuable networking opportunity. Don’t let the moment you walk out the door be the last time you speak with your interviewers. Get their contact information and send a thank you letter. Some companies may never respond, but others will see value in your dedication.

Don’t believe me? I sent a follow up email once after interviewing for a QA (Quality Assurance) position. I was not selected. I had no prior internships, no QA experience, but the manager saw potential in me. He wanted to stay in touch. A few months later when they were looking for a new intern he contacted me with a job offer. I never re-applied, I never did another interview, but he still offered me the job.

Never miss an interview.

Apply for Jobs Even if You Think You are Not Qualified

Reading the list of required qualifications on a job posting can be daunting, but the truth is for internships the word ‘required’ is misleading. My rule: you only need 50% of the qualifications to apply. Having the relevant skills are important, but employers don’t expect interns to have every skill they need. You can, and will always learn on the job — especially as an intern. Unless you are applying to a more senior level position companies will expect you to be new. Internships are not meant to be cheap engineering talent. In addition to providing value to the company, you are also there to learn new skills that will benefit you in your career.

How do you sell yourself when you do not have all the skills? Use your transferrable skills. One useful transferrable skill for software engineering is problem solving. Maybe you are not familiar with a specific language, framework or protocol that the job needs but every engineering job requires problem solving. Tell the employer about a challenging problem you solved in your class, or a personal project, or even some other problem unrelated to software at all (if you have no useful software-related examples). Tell them the steps you take to find a bug, and how you devise the optimal fix. The problem itself will be different from the ones you will deal with in the role but the problem-solving steps will be the same.

‘Problem solving’ is a very useful transferrable skill, but it is difficult to accurately measure. If you can, try and be more concrete. Maybe the job requires you to know how to query a SQL database, but you have only worked with NoSQL. Tell them your experience with NoSQL. There are differences in relational and non-relational databases that you will have to learn, but a lot of your skills from NoSQL will transfer over. You will not have to learn from scratch.

Do Not Take Rejection Personally — Treat it as an Opportunity to Learn

Getting an internship is hard, especially if you lack experience. You will get rejected. If you are not getting rejected that means you are not applying to enough positions or not applying to challenging positions (or both).

Rejection is part of the process. Some will hurt more than others, and it is perfectly healthy to be sad about loosing your ‘perfect’ position. Do not try to suppress your disappointment, but do not take it personally. Do not identify yourself by your failures.

Instead of taking it personally, use it as an opportunity to learn.

Be Lucky

No one is guaranteed an internship. Even if you do all the above perfectly, a portion of landing any position falls to luck. Maybe there was a job you would have been perfect for but the dates conflict with your school schedule. Maybe the manager connected more with another candidate on a personal level because they also liked skiing — even if you had the same qualifications.

You may think this section is here only to comfort you by knowing you may have not been selected not because you were not good enough, but simply because you were unlucky. This is not true. To some extent you can create your own luck.

You create your own luck by being open to more opportunities.

How? Don’t say you like skiing just because the manager does. You create your own luck by being open to more opportunities. The more resumes you send out, the more interviews you go to, the more career fairs you attend the more chances you have to get lucky. Its not magic. Its just statistics.

Final Thoughts

These are the tips I learned that help me land my first internship. Whether they will work for you depends on how much effort you are willing to put in. Just like finishing your degree, landing your first internship requires hard work and persistence. The good news is after you add your first software position to your resume securing your next job becomes exponentially easier.

--

--