Applying to a Tech Internship? Here is What to Expect
It’s the time of the year that junior-level students are looking for what to do in the summer. I have been there before. I was a little bit frustrated because I didn’t know how to look for a tech internship. It was the summer before going into my last year at college, and I needed to gain some practical experience. I thought it would help me better prepare for my graduation project and I would be better prepared for the job market - and have something cool on my resume ;)
After a long time searching, applying and interviewing for tech internships, I could finally secure my summer internship at ITWORX in Cairo. In this post, I would like to give you some tips on applying for your tech internship.
Why Interning At All?
In a summer internship, you get your hands dirty, own real problems, and move the needle on a product that actually interests you. You have learned something in college, but don’t really know how to make use of it in a real-world setting. This is the time you need to employ your skills.
- Internships open your eyes to what happens in corporates and large businesses.
- Internships put you in the environment of industrial teams.
- Internships give you the opportunity to test and improve your skill set.
- Internships connect you to experienced software engineers, whom you can learn years-of-experience from.
- Internships change your mindset on how to tune your career options.
It’s a great opportunity you should seek in your summer time. The only thing standing in your way is a tiny little detail called competition. That’s why you should prepare well.
How You Should Prepare
I have come to the conclusion that not all tech applicants present their talents equally. Some applicants stand out more than others and it isn’t because they’re better software engineers, but because they demonstrate passion, culture fit, and potential to get hired later; things you can’t always present on your resume.
So, with all the competition out there, it’s more important than ever to go that extra mile and demonstrate why you are the perfect fit, on and off paper. Here is how I think you should prepare:
1. Set Your Goal
The first thing you should do is to set your goal. Basically, you need to answer a few questions:
- What are your current skills that you want to improve over the summer time? Is it mobile development? web development? data analysis and AI projects? linux adminstration? or any other skills ..
- Do you need an internship or training? A training is mostly instructor-led, which is almost like a class with hands-on lab. An internship is intern-led, where you practice working on projects and trying things out yourself.
- What companies interests you most? digital marketing agencies? software houses? startups?
- What is the timeframe you will be fully available in the summer? a month, two or three?
Answering these questions make it easy for you to search for internship offers and select which ones to apply to.
2. Understand the Interviewing Process
Every organization has its own interviewing process. However, there is a general workflow that most companies follow:
- Fill in an application: applicants are asked to fill in an application online where they attach a resume and a cover letter, along with basic demographic information. Read this post to write a good resume now.
- Preliminary tests: due to the usually large number of applicants, there are some preliminary tests set by the organization to filter out weak applications. Tests may include: basic application form questions, brain-teasers, math problems, coding tests.
- Interviews: if you passed the above to filtering stages (your application meets the criteria, and you passed the tests), you will be interviewed by a panel. You may expect to be interviewed for culture fit and personality (by HR specialists) and to be interviewed by technical team members (for skill level fit).
With a big room for variations in the above process among companies, there is one remaining fact: the competition is very high. You always need to think why this company may choose you to be an intern.
3. Think Beyond the Resume
Resumes are boring. Organizations are looking for interns who go the extra mile and do something that makes them stand out. That’s why it’s important to develop an online presence instead of relying purely on your resume. Take LinkedIn, for example. You probably have a profile but are you using it to tell your story? LinkedIn is a great vehicle to describe past projects and share work you’re proud of. Along those lines, being active on sites like GitHub is a huge plus because it shows that you truly have passion in what you’re doing beyond the classroom.
So, I recommend investing some time into increasing your visibility on these platforms.
4. Classes Are Not Interestig, Projects Are
Don’t tell much about the classes you attended or the online courses you successfully completed. But, tell more about how you applied what you learned in these classes in your projects. Projects are a great way to showcase your skills. Tell more about your projects, how you implemented them, what challenges faced you, and how you solved them.
5. Do Your Homework
To be serious, take the time to do some research on the company you’re applying to. It proves you’re serious about joining the team. Luckily, Google makes this pretty easy. Start by taking ten minutes to check out a company’s website, blog, or latest headlines. Dive a little deeper by familiarizing yourself with their work. Ask for referrals from inside the company. You need to show off that you are really passionate about joining that company.
6. Be a Team Player
In fact, how internship candidates approach teamwork is more important than how quickly they can write code. Before your next interview, keep in mind that there are a number of ways to tell whether or not someone is going to be a team player. For example, if you light up when you’re talking about a group project or use “we” more than “I”, you’re probably a better culture fit than candidates that don’t show much interest in collaborating. It’s tempting to only talk about how great you are in an interview, but keep in mind that organizations are fueled by teamwork.
It’s not about how many programming languages you know, or how skillful you are at them. After all, internships are an opportunity for you to learn more and improve your existing skills. So, don’t worry if your skills are still in their infancy stage. Internships are here to help you boost them.
What’s more important than skills is passion; your passion to learn, to work in a team, to deliver products, to solve tehnical problems, to add a value in your community and to be humble to listen to experienced developers.
How We Interview at xWARE
At xWARE, we basically look for candidates who can fit in our culture, and are willing to be part of our team on the long-run. A good number of our interns turned to be our full-time employees after they graduated. So, we invest a great effort in preparing our interns to be our next employees. Previous years show that our acceptance rate is between 3-5%. So, it is a very competitive internship.
Here is our process:
- You fill in an application online answering a few questions, and attaching your resume.
- Your application gets reviewed, and potential applicants are shortlisted.
- You will then be invited to take in-office coding test on HackerRank.
- At the same day, you will be interviewed by some HR member; and then you wait to hear from us.
- If you pass the above tests, you will be invited for a technical interview with a team lead.
- If you pass the technical interview, congratulations! If not, you receive feedback from us on what you should do during the summer time. You are also eligble to visit us frequently and ask for help :)
A Note On The Technical Interview
We are not looking for experience. We look for candidates who understand the software engineering concepts. We don’t ask about the syntax of a programming language. We never ask how do you code a
for loop for example. You may expect to be asked about data structures, algorithms, object-oriented programming, software engineering and database concepts. During the internship, we don’t teach the basics, and we want to make sure that you are ready to learn the more advanced stuff by showing that you already know the basics.
Talk to us
Thanks for reading!