Students in class coding on their computers

How can engineering interns contribute to a data science team?

Why data science teams should hire interns and what they should work on

Yan Gobeil
Published in
6 min readMay 18, 2022

--

At any given time, at least 25% of the Artificial Intelligence team at Decathlon Canada is composed of interns. These interns come from various places and work on various projects but they are all very important to the team. Interestingly a large proportion of these interns are not data science students but they are instead engineering students. I will explain in this post why/how we recruit them and how they contribute to our work.

Reasons to hire interns

Not all companies find value in hiring interns and it is sad because there are so many good reasons to recruit students, both for the students and for the companies. Internships in data science teams in particular are so rare that they are very competitive and often end up being filled by overqualified people. Here are a few general reasons why data science teams should consider taking in more interns with a good variety of backgrounds.

  • The first obvious reason is that interns provide big return on investment. What they lack in experience, they make up for it with enthusiasm and thirst for learning. Considering their entry-level salary and, in some cases, the availability of governmental programs to support interns integration, you get a lot of value at a reasonable cost.
  • Interns can work on a variety of projects. They can of course work on the team’s short term priorities, but they can also be considered like additional employees to test out long-term and risky projects. That way, you keep all your full time employees’ focus on current needs to make sure you meet expectations, while your interns do the exploratory work required to decide what challenges your team should tackle next.
  • An often overlooked reason why interns are useful to a team is that they can help many team members gain management experience. Indeed having different team members put in charge of some interns takes weight off of a manager’s shoulders and helps the team members become more independent and develop their leadership skills. Team members can even participate in the recruitment process if they want to gain more experience.
  • Interns keep your data scientists and developers sharp. A lot of them know the latest trends in data and development through their school projects and help your team not get stuck working with tools that were deprecated a few years ago.
  • Since internships are normally relatively short, they are not much of a commitment for the team compared to hiring a new employee. Interns who don’t meet the expectations go their separate ways after the internship. On the other hand, you often have first dip when it comes to hiring interns who performed well once they graduate. This is an important option to consider given how much work recruiting good employees is.
  • You get to be an integral part of their professional development. They learn the core technical skills required for the job at their school. But it’s often through internships that they discover the tasks they like, the environments they are comfortable in and the job they want to apply for after graduation. They also develop their soft skills in a few short months — it’s been incredible seeing the improvements in confidence, communication and teamwork that some interns have shown with us over a few short months.
  • A final reason why hiring interns is a good idea is that they can bring a fresh look to the team’s projects and work methods. Since they come and go, they get to see many different work environments and can bring the good from each to share best practices with to their new team. This is even more true for interns with varied backgrounds, who can contribute to different things.

Two types of interns

In our team, we have interns coming from mainly two different programs who work on two different types of projects.

COOP program

Most of our interns come from the COOP program of the Faculty of Engineering at Sherbrooke University. This means that we post internship opportunities every semester and students apply. We then interview our favorite ones and choose which ones we want to work with. These students have to do multiple internships during their undergrad studies so most of the applicants already have some experience in tech roles. In the past, we have had interns from many different programs: computer science, computer engineering, software engineering, electrical engineering, robotics engineering, etc.

We work with Sherbrooke University because we have contacts there, but most engineering schools have similar programs where interns can be recruited. It is also possible to recruit graduate students via similar programs, as we did a few times.

Mitacs program

The second program that we get the most interns from is called Mitacs. This is a program in Canada that helps bridge the gap between academia and industry. It helps pay for up to 50% of a graduate student’s salary to allow them to work on a research project in association with a company and a university professor. The internships can vary in length so short or long term projects can be done and multiple students can even work on the same project, at the same time or one after the other.

What do our interns work on?

Obviously interns from our two main hiring sources work on very different types of projects but they all end up contributing to the team in their own ways.

COOP program

Most of our undergraduate interns are not familiar with data science. However training models and analysing datasets are not the only tasks that need to be done in a data science team. As long as the interns know python (our main working language) they can help us build and label datasets, write APIs to expose our trained models and even combine pretrained models into a working prediction pipeline.

The engineering students are also often more knowledgeable in some areas of programming than many of our team members. The best example of this is frontend development. Indeed many of our interns have worked on building web apps that allow users to use our models or get access to some of the company’s data. Many of our team members even learned a lot about frontend development by working with the interns and this has helped our team grow a lot.

Sometimes we are lucky enough to hire interns who have some experience in data science. We then make them work alongside a team member on an AI project. They can contribute by testing different model architectures or optimizing the training pipeline for example.

Mitacs program

Students hired via the Mitacs program are far more knowledgeable in AI since they come from academia. This is why they work with us on more long term projects where we explore cutting edge methods to understand if they can be useful to us. Their goal is to pick a current hot research topic and apply it to our company to determine if we could use it in the years to come.

Another aim of these projects is to do research that can be published in a journal or a conference. This way we increase our team and the company’s notoriety with other researchers and help our team members grow their research skills.

Our success stories

Everything that was mentioned so far looks good on paper but how does it work in practice? Let me share stories about our interns from the past.

  • Our intern from Sherbrooke University Nadir worked on multiple projects with us. He made it his mission to work with every member of the team. He notably contributed by creating our smile detection algorithm and helping creating our social listening platform, which other interns contributed to afterwards.
  • Our DecaVision python package was built by multiple people in the team and a few of them were interns.
  • Many of the AI models available in our Sport Vision API were developped by or with engineering interns. Examples are the sport vs non-sport model and the image search algorithm.
  • One of our Mitacs interns Hasib has worked on using unlabelled data to improve our image classification models. This technique is called semi-supervised learning and Hasib discussed it in a blog post. We also published a paper in an AI in sports conference.
  • Another Mitacs intern Jeremi worked on testing Graph Neural Networks to improve our recommendation systems. Here is what he had to say about the project.
  • If you have doubts about whether the interns like working on the projects that we give them note that two of them have returned to do a second internship with us and another one decided to come work with us when he finished his studies.

And you? Are you hiring interns? If not, why? If yes, what do they work on? Let us know your opinion about the place of engineering interns in a data science team.

--

--

Yan Gobeil

I am a data scientist at Décathlon Canada working on generating intelligence from sports images. I aim to learn as much as I can about AI and programming.