Skip to content
Gallery
Career Hub
Share
Explore
Data Science

icon picker
Applying

Unlike the other roles, this is actually surprisingly complicated for data science positions. The reason is, most data science positions only take MS/PHD students. Thus, to successfully land data science positions, I recommend three avenues:
Apply to traditional SWE-intern/SWE roles. Then, during the project matching phase, express interest in data science (DS)/machine learning (ML) teams to be able to do more DS-like work (e.g. Meta).
Apply directly to DS positions. Make sure these positions are more DS-like (statistical work, machine learning, etc.) and less like data analyst (DA) work (dashboarding, data viz, etc.) if you are going for DS work. Look to see if these companies have hired data scientists from undergrad (a quick Linkedin search should do the trick) (e.g. Shopify).
Return internships/full-time offers to DS positions. Usually, companies are more flexible once you’ve interned for them before and proven that you can deliver value to the company. Even if they don’t let you onto a DS/ML team during your first stint with them, they will likely be more willing to entertain your request if you are returning (either changing to a DS/ML engineer role, or joining a DS/ML team). Here are some steps you can take during your first stint with a company to accomplish this:
Conversations with recruiting team: during check-in calls with recruiters, make it known that you desire to be in a more DS/ML team/role if you are to return in the future. Try to understand the logistics behind what needs to be done for this to occur (does your manager needs to approve? do you need to find a new manager? do you need to have this approval before the return offer is given? what guarantees can be made on the role/team?)
Conversations with manager of current team: this one can be tricky. If you are a good contributor, your manager will likely want to keep you on their team/in your current role. If you are not a good contributor, they likely won’t bat for you in your team switch. You need to really navigate this carefully to convey that you care about their team while also expressing your desire that you want to try other things in your career. Try to establish yourself solidly on the team (by ramping up, making good progress on your project(s), etc.) before asking for this pivot (but not too late to the point where return offer decisions are about to be made).
Conversations with potential destination teams: using internal directories, you can reach out to people in DS/ML roles and managers of DS/ML teams. You can talk about your interest in potentially joining their team during future internships/for new grad and they can help initiate the conversation to get you to their team.
Applications for data science roles generally require similar things to software engineering positions (check the ), with an emphasis on a couple of points:
Cover Letter: because most of these positions are for MS/PHD, writing a cover letter to show interest is really important. You may even acknowledge that although most of the data scientists they are looking for are MS/PHD, these are X,Y,Z reasons for why you should be considered even though you are only a bachelor’s.
Transcript: because these positions are more academic in nature, having a high GPA and rigorous course schedule is relatively more important than for SWE positions.
Recruiters/Referrals: having recruiters on your side and referrals is relatively more important when applying for DS positions than when applying for SWE positions. This is because you likely already have to overcome a deficit in not being MS/PHD, so any additional interest shown may help your case. Furthermore, you can more clearly convey your interest/qualifications in DS/ML positions to a recruiter, rather than just having your resume axed due to a filter against Bachelor’s students.
Timelines for data science roles generally are the same as software engineering positions.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.