Curious about what software engineering interns really do? To get you the inside scoop, we asked actual interns about their experiences across different industries. They are:
If you're a student considering this path, read on for honest insights from those who've just been there. Let's dive in!
During my internship at Facebook, I worked on a project addressing a common problem in online advertising: user drop-off when clicking on ads.
The issue was that when users saw a product ad on Facebook and clicked on it, they were typically redirected to an external website. This process was often slow and could lead to users losing interest and abandoning their potential purchase.
To solve this problem, our team came up with a way for users to continue shopping without leaving the Facebook app. So instead of sending users to an external website, they would click the ad and an in-app page that functioned like a storefront would open up. This page would be preloaded with all the product information, allowing for near-instant loading times.
My specific project focused on further improving this in-app storefront. We experimented with new ways to display the products, moving from a traditional grid layout to a more dynamic design with categorized sections and horizontal carousels. The goal was to see if we could further enhance user engagement and potentially increase sales through this improved product presentation.
I was lucky in that I got to carry out the project from start to finish and really see the big picture. My manager did a really good job of choosing the right project and guiding me through it.
– Intern @ Meta
I worked on a computer program for a chemical refinery that would help the engineers and technicians understand important information about the chemicals they work with. The program shows:
- the composition of compounds at different stages of the refinery
- throughput (how quickly the chemicals move through the refinery)
- other helpful facts about each chemical
The program has two main parts:
- Front end: This is the interface that the engineers and technicians see and use. They can search for the information they want over a certain period: e.g. "We want to see how much oil we processed last month."
- Back end: This is the part that retrieves the information from a big database when the workers ask for it.
My internship was only for 10 weeks, so I couldn't finish the whole project. But I got to work on the back end part and learn about:
- Why the program was important for the refinery
- What the workers needed the program to do
- How workers would use the program every day to help them make good decisions
– Intern @ Oil & gas company
My internship was at a data analytics firm (a company that analyzes data to find useful insights and patterns). For example, they might use population data to analyze trends among farm workers in developing countries to identify areas where farm workers had limited access to technology. Or they might create visualizations to show population shifts and resource needs, helping NGOs target their efforts more effectively.
Anyways, during my internship, I worked on two big projects:
- I helped develop an interactive tool for visualizing demographic data (information about populations, like age, income, or education levels). This tool lets users easily explore and understand complex data about different groups of people.
- I improved the company's data pipeline. Think of a data pipeline like a water pipe system in a city: it collects data from various sources, moves it to where it's needed, cleans and processes it along the way, and delivers it ready for analysis. My job was to make this "data pipe system" better at handling more data without slowing down.
– Intern @ a data analytics company
For context, Facebook interns typically live with a couple of other interns in company-provided housing. So I'd start each day by taking a shuttle to the office.
- 9:00-9:20: Arrive at the office
- 9:20-10:00: Eat breakfast at the Chinese porridge place on campus, about 30 meters from my desk
- 10:00: Return to desk
- 10:30-10:45: Attend daily team stand-up meeting – a quick meeting where we'd discuss yesterday's work, today's plans, and any questions for the team
- 10:45-12:00: Work at desk
- 12:00: Gather with teammates to decide on lunch – there were multiple options available in the building, though sometimes I'd bike to another building to eat with friends
- 12:00-6:00: Continue work, with people typically starting to leave around 4:30-5:30 (some leave earlier and finish work from home)
- 6:00: Go home
Most of my time was spent working on my project. A big part of this was testing. After we built the new formats for the storefront, we ran randomized trials to see which formats were more effective in getting users to buy things.
A small fraction of my work time would be spent on meetings. Besides the daily stand-up meeting, I'd have at most one additional meeting per day along with a weekly catch-up with my intern manager, which was a great opportunity to ask questions and get guidance. (I was also able to ask him quick questions every day, like "I haven't coded this before. Is there an existing way to do this?")
– Intern @ Meta
- Talking to people (50% of my time): Even though I worked at the main office, I spent a lot of time talking to engineers and operators at different refinery sites. My job was to understand what they needed, which was tough because it was all new to me. They often wanted to keep track of things like how much of certain chemicals were going in and out of the refinery.
- Working with data (30% of my time): I had to deal with a lot of raw data, which came in messy Excel sheets and tables that didn't make much sense at first. My job was to clean up this data so it could be used properly. It was like organizing a really messy room!
- Querying (20% of my time): I used a language called SQL to tell the computer how to find and organize specific information. For example, if someone said, "We want to see how much oil we processed last month," I'd write instructions (called queries) to get that exact information from our big database.
At first, it was really hard to understand what the refinery engineers wanted because everything was so new to me. But by the end of my internship, I got better at turning their requests into actual data and information they could use.
– Intern @ Oil & gas company
My day-to-day looked something like this.
- Coding and testing (60% of my time): Most of my day was spent writing and testing code for our data visualization tool. This meant creating features that help people see and understand data easily.
- Team discussions (20% of my time): I spent time talking with my team about important data issues. We discussed how to keep data accurate and reliable, protect sensitive information, and make sure our systems could handle more data as we grew We also looked for the best ways to clean up messy data and organize it so it's easy to use.
- Moving and managing data (20% of my time): The rest of my time was spent moving data to new systems and making sure everything worked smoothly as we handled more information. This was part of my second project where I helped improve the company's data pipeline.
– Intern @ a data analytics company
Our interns felt their internships were worth it because ...
The internship was really helpful for my personal growth and future career. Here are the main things I learned:
- Hands-on experience with full-stack development: I got to work on both the front and back ends of a software application. This means I created the parts that users see and interact with (like buttons and layouts) using JavaScript, and also worked on the behind-the-scenes stuff (like storing and processing data) using Python and SQL.
- Improving teamwork skills: We had a big project moving lots of data, and I had to work closely with my team. I learned how to communicate better, split up work based on what each person was good at, and help each other finish tasks on time.
- Getting better at solving problems: I faced real challenges and had to figure out solutions. For example, we had an issue where some data was being copied twice by mistake. I created a special tool (like a smart filter) to find and remove these duplicates, making sure our data was accurate.
– Intern @ a data analytics company
Every job that I had in college whether it be a student job, internship, etc. was worth it - it just depended on the perspective in which I viewed the job. My oil & gas one over the summer was great in the sense that:
- I learned a ton about how databases work and how to write and format queries in ways that meet business requirements.
- More broadly, I figured out that I didn't want to work in oil & gas. Morally, I didn't want to work in an industry that negatively affected the global environment in the way that it does with carbon emissions. Also, most of the major oil and gas companies had their corporate locations in the southern part of the US and/or along its coastlines. Even though the money and benefits were really good to make as a first job out of college, I'm a very adventurous person at heart and knew from an early age that I didn't want to live in those parts of the US.
– Intern @ Oil & gas company
I've had a lot of good mentors. My intern manager taught me a lot. Here are some of the biggest things I learned.
#1 Don't be afraid to take the time to learn deeply when you're junior.
- When you're more senior, you're often expected to hit the ground running and start contributing. As a result, you'll feel more rushed and only develop a general, high-level understanding of things.
- But when you're junior, there are no such expectations! You have the time to take things slowly, make mistakes, and get into the the nitty gritty of how things work.
- This might sound boring, but it actually makes you more valuable as an engineer. For example, when something breaks, you'll be more likely to be able to figure out what's going on and come up with a solution than, say, a senior engineer who only has a high-level understanding of everything.
- In fact, if you have to make a trade-off between contributing and learning, learning is more important! Those skills you accumulate as a junior will really help you in the future.
That said, you may not want to focus so much on learning that you learn a ton but do nothing and then end up getting a bad performance review. This leads to my second takeaway ...
#2 Manage expectations
- Whatever your goal is for the internship, you should let your intern manager know, so they can adjust their expectations.
- If you just want to have fun and learn as an intern, you should tell them that.
- If you want to do well on your internship and come back as a full-time engineer, you should let your manager know and the two of you can come up with a plan together.
- If you want to be the best intern they've ever seen, make sure that's clear too. This way, your manager knows what feedback to give you, how far they should push you, and so on.
– Intern @ Meta
For our best tips on getting an internship, head on over to How to break into software engineering as a student.
You can find plenty of internships on Prosple. We have a vast selection of internships curated for students like you. Just filter 'til you find the right fit!
For more deep dives into the field of software engineering, check out: