Sean standing beside fire truck
Sean O’Connor, Software Engineer Intern, Summer 2021

Sean O’Connor (he/him) spent the summer of 2021 as a Software Engineering intern at Indeed.  He is now a senior at Pomona College, and hopes this blog will give you a sense of what it’s like to work as a technical intern at Indeed.

Getting the Internship


This internship actually represented a major career shift for me.  I previously worked in Emergency Medical Services for 5 years, until I left the field in 2019 to study Computer Science.  I was pleasantly surprised to find that Indeed embraces non-traditional backgrounds for technical roles. Not only did everyone on my team recognize the value in skills I’d learned at my prior job, but three of our team’s other junior engineers were also switching from completely different fields.


I applied in Fall of my Junior year, although many other interns were undergraduates or grad students. This was my first internship, and my only prior technical experience was doing research and working as a teaching assistant at my school. I also completed an independent coding project prior to applying. 


Tip: I’d say not to worry about applying if you’re a Freshman/Sophomore or don’t have prior internship experience. One thing that I think helped a lot was finding multiple people to offer feedback on my resume.


Indeed’s two-round interview process was challenging, but doable. My interviewers were very supportive and I actually ended up having fun through the process. One piece of advice is to not be afraid to admit if you don’t know something, or to take a hint if you’re stuck–the interviewers really do want you to succeed.


To get matched with my intern project, I filled out a form where I mentioned interests in Machine Learning, Algorithms, and Data Science. To my surprise, Indeed found a project involving all three: developing audience segments for the Targeted Ads division. 


I had previously imagined that an internship would entail some small task like changing a button or tweaking a small feature.  But I was pleasantly surprised to find that Indeed matches interns with substantial, open-ended projects with the potential to make a large impact. 


Tip: I’d definitely advise future interns to reflect on what you want and fill out the matching form in detail, because Indeed makes a real effort to provide what you want! 


Starting Small: The First Weeks


As the internship started, I was again surprised to find that more than a week went by before I actually started writing code. My goal was to define rules for distinguishing different groups of Indeed users, also known as audience segments. Being able to distinguish different types of Jobseekers helps Indeed to match them with more relevant jobs–for example, by sending better job recommendations or providing more relevant search results. 


There are many potential ways of segmenting users, meaning I had a lot of freedom in coming up with a potential solution. I started off learning background information about the project and getting to know Indeed’s products. Then, I generated hypotheses about the problem through open-ended exploration of data from about 20 users. 


This is a typical first step in Indeed’s Data Science workflow: start small, generate ideas, then iterate on those ideas as you scale up.


Next, it was time to start coding–I developed a quick and dirty Python implementation of the segmentation rules I’d developed to test my hypotheses on a larger sample (about 4,000 users).  I gathered statistics about the segments I’d created, and soon found that the data looked a bit different at this scale. These sort of revelations are typical of the iterative Software Development process, and I learned to be flexible and adjust the project direction based on where the data took us. I shifted my initial hypotheses and tested several definitions until settling on a promising set of segment rules.


Scaling Up


But while 4,000 users is a big step up from 20, it’s still a tiny sample compared to the millions of visitors Indeed receives every day from across the globe. Designing for this scale meant building a new segmentation algorithm–practices that might slide with 4,000 users could easily break things with 100 million. 


When designing the algorithm, I was surprised to find concepts from my Computer Systems course such as locality of disk reads/writes having a large impact on the problem. It was super exciting to see this sort of CS theory come up in a real world context.


Beyond just designing the algorithm, I also built the system that would implement it, from ingesting data for millions of users, to writing the segments into Indeed’s low-latency data platform. There ended up being a surprising amount of considerations involved, which made the system design a tricky task.  For example, writes to a low-latency system are expensive, which meant I had to create a way to avoid making duplicate writes. 


It was fun to find creative solutions for designing a system that could handle all the moving parts involved and meet a number of different objectives.


Learning How To Do It All


Since this was my first internship, I had a ton to learn–new technologies, Indeed’s products, and even simple things like how to schedule a meeting with someone or where to get help. But I never felt overwhelmed thanks to my awesome mentor; during the first part of the internship, he spent a lot of 1-on-1 time to teach me the basics and help me start quickly making progress on the project. 


Throughout the internship, he taught me many fundamentals of software engineering that I hadn’t learned in school. I was surprised to see how much I improved over the course of the internship, and by week 12, I was able to independently execute tasks that I would have struggled to even begin on week 1.


Throughout the internship, I was also taken aback by just how supportive everyone was. I was never looked down upon for being an intern or treated like my work wasn’t a priority. 


Not just my mentor, but my teammates, other teams we interacted with, and even total strangers in the company Slack were always respectful, kind, and went out of their way to help. I also found that people were excited to share their knowledge with others; our team would frequently have demos where an engineer that had learned a new technology or solved a new problem would share with the rest of the team. 

It was especially exciting to learn from my teammates because they had a wide array of different backgrounds, from Bioinformatics to Mechanical Engineering, giving them each a unique approach to solving problems.


Data-Driven Culture In Action


After I finished deploying the code for my segments, I stumbled upon an unexpected potential use for them far outside the Targeted Ads division. I realized that Indeed’s Resume Search product, where employers can search for Jobseeker resumes and contact them with opportunities, might be able to use the segments that I’d developed to better rank search results. 


I spent an afternoon doing some preliminary data analysis outlining the possible impact of this application and showed the results to my mentor.  While this wasn’t part of our original plan for the project, the data suggested it might be an opportunity to make a substantial impact at Indeed before the end of my internship.


Sean's dog Stella sits at his computer
The benefits of working from home included getting help from my furry pal Stella, seen here solving a tough coding problem!


With support from my mentor and our team’s senior engineer, I set up a meeting with some folks from Resume search to pitch my idea, including their product director.  After the pitch, I was again surprised at how supportive even the senior-level employees at Indeed are.


Indeed’s data-driven culture means that anyone with an idea that has data to back it up can have it taken seriously–even an intern!  The pitch went well and resulted in a great opportunity to perform an experiment with the product’s machine learning models.


One of their team’s data scientists agreed to mentor me through performing the experiment. I learned a ton about search ranking, Indeed’s ML pipelines, and how to perform an offline experiment, including different biases and factors that need to be considered when interpreting the results. 


It was super exciting to work with the behind-the-scenes technology that ranks millions of search results a day. I was especially interested to learn how it predicts which Resumes will have the most positive outcome when shown to an employer.


Ultimately, the experiment was a big success and is projected to make a significant improvement to Resume Search. Getting these positive results was probably the best moment of my internship, validating all the hard work I did building these segments over 12 weeks. 


I was extremely grateful to have been given this sort of autonomy to identify and pursue an unexpected project direction. It was also super gratifying to know that my work will likely go on to help thousands (maybe even millions) of people get jobs.


Time for YOUrself

Sean posing in nature with woman behind him.
Taking advantage of the flexible work schedule for a Wednesday afternoon hike to the alpine Lake 22.

One final surprise of the internship was the degree of work-life balance at Indeed. Once a month, Indeed holds a company-wide YOU day–meaning everyone gets Friday off. On top of that, there were a number of holidays throughout the summer for which we also got the day off; in total, almost half of my internship ended up having 3-day weekends.  

Even during full work weeks, we were never expected to work more than 8 hours a day, and had full flexibility in which hours we worked.  This helped me take a step back from the grind of school and return to neglected hobbies like roller-blading and painting. It was great getting to have this sort of work-life balance while still accomplishing so much over 12 weeks.


Parting Advice


On the whole, my summer internship far exceeded my expectations. If you’re looking for a technical internship, I’d definitely recommend applying to Indeed!  And wherever you end up, I’d advise not holding back during your internship and speaking up with your ideas or things you want. 

Remember that the internship isn’t just about what you can do for the company, but should be an opportunity to learn and work on the things you’re interested in as well. Feel free to contact me through my site with any questions or for advice, and best of luck!