Have you ever interned abroad? I had a once in a lifetime experience to work as a software engineering intern at the World Economic Forum in Geneva, Switzerland in 2018. While I had traveled to foreign countries in the past, working in a completely new country was a phenomenal and unforgettable experience.
If you’re a computer science or computer engineering student, getting a software engineering internship is crucial for your post-graduate career. This is especially true as more and more people are looking to break into software engineering for the promise of 6-figure starting salaries. There’s competition from bootcamp grads.
My very first internship was as a web developer intern at SBDigitalAgency, a startup which offers digital marketing to a variety of small businesses. My second was as a software engineering intern at the World Economic Forum in Geneva, Switzerland.
In this article, I’ll be sharing my software engineering internship experience at the World Economic Forum. As a rising senior and Computer Science and Business Administration major at the University of Southern California, this was a great way to jumpstart my professional experience. I hope that this will be helpful to other students that are looking for a summer internship – especially one that is international.
Table of Contents
What Is A Software Engineering Intern?
First and foremost, I’m sure you’re thinking:
- What is a software engineering intern?
- What can you be expected to do as a software engineer?
- What experience do I need to get a software engineering internship?
A software engineering intern can generally be divided into three categories: 1) back-end 2) front-end and 3) full-stack. A back-end software engineering intern usually works with programming languages like Java, Python, and C++ to make the logic of the system work. A front-end software engineering intern usually works with programming languages like HTML, CSS, and JavaScript to make the website look great. A full-stack software engineering intern usually works with all of the above to implement new customer-facing and internal features.
Here’s an example of my software engineering internship responsibilities:
- Data collection mainly via APIs and web scraping.
- Build simple databases (SQLite, Postgres, etc.)
- Design visualisations and reports.
- Build simple dashboards (Django or Shiny).
And here were the requirements:
- At least one scripting language; Python or R
- Some knowledge of SQL & RDMS
- HTML/CSS/JavaScript
- Basic knowledge of Git
- Interest in data, analytics and machine learning
How I Got the Software Engineering Internship Using A Referral
As aforementioned, my second internship was as a software engineering intern at the World Economic Forum in Geneva, Switzerland in summer 2018.
At the time, my stepmom was working there and was able to put me in direct contact with a colleague who was looking to hire an intern for a new project. Quite simply, didn’t have to do any LeetCode challenges. I got hired on the spot. However, I started late (in mid-July) due to issues with my visa. I even had to travel to San Francisco for a day to get it processed. Luckily, it all worked out!
Preparing for the Software Engineering Internship
I arrived in Switzerland in early July 2018 from Los Angeles. It was about two weeks prior to the start of the internship so I could adjust to the time difference, spend time with my twin siblings, and hone in on my coding skills.
Using Udemy to Build My Software Engineering Portfolio
At this point, I knew I was going to be using Python and Django. I had taken an “Introduction to Python” elective class during my freshman year, but I hadn’t really used it in my core computer science courses.
So, I went on Udemy and took as many Python and Django courses that I could. I chose Udemy because they often have flash sales on a variety of courses for as low as $9.99 a pop.
Here’s some of them:
(Alternatively, you can also try YouTube for free, full tutorials. But I prefer the syllabus and structure that Udemy provides. We also tend to value and actually use things that we pay for; call it “skin in the game”, if you wish).
Using Udemy to Build My LinkedIn
Also, if you manage to complete the full course, you can also add the certificate/credentials to your LinkedIn profile, like how I did for mine:
Using GitHub to Deploy Code and Host Projects
Additionally, I made a GitHub project called Bilk and deployed it using Heroku.
Looks pretty neat, doesn’t it?
The Software Engineering Internship Project
I was tasked with turning static and complicated Microsoft Excel spreadsheets into a live, breathing platform for the Media team. We wanted to visualize certain data points to make it a useful tool for the entire team to use. I worked directly with their in-house data analyst using Python. I prototyped the front-end interface using Python, Django, HTML5, and ECharts. The database used PostgreSQL and the data was scraped from the Excel spreadsheets. It standardized the media reporting process and dynamically configured all records into an interactive data analytics visualization web platform.
Here’s a snippet of the private GitHub repository:
The Digital Marketing Project
You’ve probably heard of the World Economic Forum’s annual keystone event called Davos. On the side, I also helped another team member on the Media team repurpose old YouTube video content and interviews with people like George Soros, Marissa Meyer, and other world figures into newer videos and shorter snippets. I was given an Excel spreadsheet of all the live content for parsing.
Here’s an example of a video suggestion that was approved:
And it’s live here.
Final Thoughts
Interning abroad was one of my most interesting summer internship experiences to date. I learned how to deploy code professionally for the first time, got my lunches comped, and navigated train and bus routes in a foreign country.
Quick Tips for Succeeding at Your Software Engineering Internship
If you’re looking to succeed at your first software engineering internship, here’s a few quick tips to help you:
- Prepare in advance: Try to figure out what programming languages you’ll be assigned to use, and build some actual projects with it to get comfortable. I think imposter syndrome is much stronger in software engineering internships because it is a high-income skill that pays you really, really good money.
- Communicate clearly and concisely: Engineers are stereotypically labeled as “shy, non-talkative, etc.” That’s just not true. Not only will great communication help you communicate with your manager, but it will help you to write clean, maintainable code for the long-term. And if you’re looking to become a product manager, this will help tremendously.
- Be proactive and don’t be afraid to ask questions: If you find yourself sitting at your desk or stuck on something, don’t be afraid to ask. Your fellow software engineers have done this professionally for many years, and are happy to lend out their time to sit with you and explain certain snippets of codes or features.
BONUS: The Winning Resume That Got Me Interviews With JPMorgan Chase, Facebook, Salesforce, Accenture, BlackRock, Cisco, & Redfin
Now that you have seen how I got my first software engineering internship and the projects I did, I want to show you my job-winning resume. If you follow my resume template, the odds of your resume opening the door to getting internship interviews with your dream companies will skyrocket.
Yes, I want the winning resume template!
100% privacy. No games, no spam. After signing up, I'll keep you posted with a few emails per week.