How to Land Your First Software Engineering Internship as an International Student

Mingyang Li

Finding your first internship in tech is challenging; it doesn’t matter if you’re an international student. Everyone has their struggles, except yours is a bit different — English is not your first language, and that sucks.

Don’t beat yourself up just yet; there’s still a lot you can do to turn the tables around.

My name is Mingyang. I’m an international student born and raised in Mainland China. I suck at math, and my English was not fluent. I had zero coding background before university. Now I’m working as a software engineer for Sugar Wallet, a fintech startup while finishing my degree in Computer Science.

Your projects are only as good as your attitude.

Everyone talks about building side-projects to stand out, but not all projects are made equal. 

When you’re just starting out, you go on YouTube and search up “beginner coding projects”, you’ll see waves of tutorials like “React todo app”, “Simple login with pure Node.js and passport authentication”, or “Make a REST API in under 5 min”... These tutorials are great for toddlers, but you’ll have a hard time getting interviews from copy-pasting them alone — that was my problem when I was looking for internships in my first year of uni through Summer of Tech.

But should you go on making an Airbnb or Twitter clone using HTML/CSS/JavaScript? It’s not a bad idea, but I don’t see much value in doing it.

Companies value problem-solving skills, aka the skills to resolve problems that haven’t been solved. Unfortunately, reinventing the wheel is not the best representation of problem-solving.

I had a coffee chat with a senior engineer at the start of my 3rd year. I was rather proud to show him my “quote estimator app” — a purely frontend React project with no API calls whatsoever.

He said to me, “No one would hire engineers who don’t know how to handle API calls…”. That was a bit harsh, I thought. Then he continued:

“If you can show hiring managers that you can build the entire flow of creating, fetching, updating and deleting data from the frontend, to the backend, to the database and back again. Implement authentication and authorisation, and then be able to deploy the whole thing as a working URL, then you’re good to go”. 

My ego was shattered.

But he was right.

Internships are, in fact, not any easier to get than professional roles. 

Every student thinks they’ve done some extra work to stand out, and every student thinks they’ve done some outside classes to show that they are “able to learn“. They’ll only realise that it’s the more capable students who get the job.

Many of you chose IT or Computer Science because you need a job from the Immigration NZ skill shortlist to secure a work visa. Some of you are even considering applying for residency at some stage.

Coding is primarily a job. It can be fun but not a hobby. Therefore, whatever side-project you build should mock real-world scenarios as much as possible.

Building toy projects is your last resort. (Please, no more weather apps or todo apps)

Learn to use git properly; how to merge branches, create and review pull requests, and work in a team. Learn to build and deploy your APIs and databases onto cloud services with production and staging environments. Learn to document your APIs and manage development pipelines, database backups, and schema migrations. Learn to handle authentication and authorisation across the full-stack; last but not least, learn how to do CRUD operations for any type of data from the front to back-end, to your database, and back again. (JSON, files, images, audios, etc) At the end of the day, most applications we use are essentially CRUD apps.

You don’t have to be an expert in any of them to begin with; the key is to learn how a simple (yes, simple) production-ready software is built from the ground up. So you know how to build on top of it once you get your hands on a company’s codebase.

New Zealand is a small country. There are few specialist roles for beginners compared to the US, Europe, or China, and many roles require you to learn their tech stack on the fly. Knowing what’s going on across the full-stack helps a lot.

It makes you a more desirable candidate as well.

As an international student, your priority is to become more desirable than native speakers in the job market.

So that you have more options, and whatever visa sponsorship you need will be complementary.

If English is not your native language, you can compensate with technical skills.

On the other hand, people skills are quite crucial as well. Your best bet is to learn to have genuine conversations with employers and everyone you meet in your daily life.

Employers are humans as well. They’re not interviewing you just to do a job, and they’re also looking for pleasant people as colleagues.

It’s not easy, but 100% doable.

I’m always up for a chat; feel free to shoot me a message over LinkedIn.


Previous
Previous

It's More than Dev - Alumni & Volunteer Panel

Next
Next

My Internship at Lyniate - Chitrakshi Verma