You’ve got the skills, and you’ve got the portfolio; all you’re missing is the data science job! You should expect the job search process to take some time, though. Even successful job applications usually take at least a month from applying to getting an offer, and more commonly several months. But by laying out some best practices in this chapter, we hope to make the process as painless as possible.
In this chapter, we focus on how to look for data science jobs. First, we cover all the places where you can find jobs, making sure that you won’t unknowingly narrow your options. Then we show you how to decode these descriptions to find out what skills you actually need (spoiler: not all of them) and what the jobs might be like. Finally, we show you how to choose the ones you’re best suited for, using the knowledge you’ve gained about data science skills and company archetypes in the first four chapters.
Before worrying about crafting the “perfect” résumé and cover letter, you need to know where to send them! Job boards such as LinkedIn, Indeed, and Glassdoor are good places to start your search. It’s worth looking at more than one website, because not all companies will post on each one. If you’re part of an underrepresented group in tech, you should also look for job sites that specifically target you, such as POCIT and Tech Ladies, which are for people of color and women in technology, respectively. The type of job you’re applying for may also influence where you look; for example, there are job boards for specific types of companies, such as start-ups (AngelList) and technology (Dice).
Make sure to browse widely. As discussed in chapter 1, data science jobs go by many names other than data scientist. Different companies use different names for similar roles, and some are even changing what their titles mean, so all the people who were data analysts one year might be data scientists the next, with no change in responsibility!
Some examples of titles you might encounter (figure 5.1) are
When you’re starting your search, try searching for simply data on one of these job boards and spending an hour reading job posts. This work will give you a better idea of what industries are represented in your area and what types of positions are open. You’ll pick up on patterns that will let you skim new listings more quickly. Finding jobs that are a good match for you, rather than all the jobs that are available, will narrow the field to a manageable number. Don’t worry too much about a job’s title; use the description to evaluate fit.
Be extremely cautious about thinking of job-hunting as a numbers game. If you’re looking in a big tech city like New York or San Francisco or in multiple cities, you’ll find hundreds of jobs listed. Checking job boards can quickly become an obsession because it’s an easy way to feel productive (“I read 70 job descriptions today!”). And just like using Twitter and Facebook, checking constantly for updates can be addictive. Checking more than every three to five days generally doesn’t add value. Checking only once a month could mean that you miss out on a good opportunity, but no company fills a position (that’s actually open) within two days of posting it on a job board.
If you’re interested in specific companies, check out the careers pages on their websites. Just as you should search for multiple job titles, check different departments. Some companies may put data science in finance, engineering, or other departments, so if you don’t check there, you won’t find them.
When you’re searching for jobs, look for positions specifically titled “New Grad,” “Junior,” “Associate,” and “Entry-Level.” Also look at your career center for help, and go to any job fairs on campus.
When you start reading job descriptions, data science job postings may seem to fall into one of two categories:
Don’t worry, though: we promise there are more than these two types of jobs. A better way of thinking about these jobs is in terms of experience. Is the company looking for someone to build a department of their own and has no data pipeline infrastructure in place? Or is it looking for a fifth member for its currently productive data science team, hoping that this new person contributes immediately but not expecting them to be an expert on data manipulation, business communication, and software development all at the same time? To do this, you need to take a job description and figure out what the employer is actually looking for. Suppose that you’re looking at cat-adoption listings and that the cat Honeydew Melon is described as “liking to ask about your day.” You’d need realize that this description actually means she’ll constantly meow for attention, which could be bad for your home.
In job descriptions, some famous phrases to look out for include “Work hard and play hard,” meaning that you’ll need to work long hours and be expected to attend informal company events (such as going to bars), and “Self-starter and independent,” meaning that you won’t get a lot of support. By knowing how to read between the lines, you can make sure that you apply for the right jobs.
The first thing to keep in mind is that job descriptions are generally wish lists with some flexibility. If you meet 60 percent of the requirements (perhaps you’re a year short of the required work experience or haven’t worked with one component of the company’s tech stack) but are otherwise a good fit, you should still apply for the job. Definitely don’t worry too much about plusses or “nice to haves.” Additionally, the requirement for years of work experience is just a proxy for the necessary skills; if you coded in grad school, that experience could count. That being said, applying to a post for a senior data scientist that requires five years of work experience as a data scientist, proficiency in Spark and Hadoop, and experience deploying machine learning models into production probably isn’t the best use of your time if you’re an aspiring data scientist coming from marketing; the company is looking for a different level of experience and qualifications.
Many data scientist jobs list a degree in a “quantitative discipline” (fields such as statistics, engineering, computer science, or economics) as a requirement. If you don’t have one of those degrees, can you still apply for these jobs? Generally, yes. We discuss this topic in more depth in chapter 6, but if you took classes in those areas (including at a bootcamp or online), you can emphasize that education. If you followed the advice in chapter 4 by building a portfolio and writing blog posts, you can show those projects to employers as evidence that you can do the work.
One complication in data science postings is that different words may mean the same thing. Machine learning and statistics are infamous for this. One company may ask for experience in regression or classification and another for experience in supervised learning, but overall, these terms are equivalent. The same goes for A/B testing, online experimentation, and randomized control trials. If you’re not familiar with a term, Google it; you may find you’ve done the work under a different name! If you haven’t worked with a specific technology that’s referenced in the posting, see whether you’ve done something similar. If the listing cites Amazon Web Services (AWS), for example, and you’ve worked with Microsoft Azure or Google Cloud, you have the skill of working with cloud computing services.
The other benefit of knowing how to decode a job description is the ability to detect red flags (section 5.1.2). No company is going to straight-up say that it’s bad to work for. The earlier you recognize a likely bad work situation, the better, so you’ll want to start looking for any warning signs in the job description.
Finding a job is a two-way street. During this process, you may feel that companies have all the power and that you need to prove you’re deserving. But you—yes, you—can also be selective. Ending up in a toxic workplace or a mind-numbingly boring job is a really hard situation. Although you won’t always be able to tell whether this will be the case just from a job description, you can watch out for a few warning signs:
Although you should have standards for a potential job, you don’t want to demand perfection. Aspiring data scientists sometimes see their path broken down this way: “Steps 1-98: Learn Python, R, deep learning, Bayesian statistics, cloud computing, A/B testing, D3. Step 99: Get a data science job. Step 100: Profit.” This example is an exaggeration, but part of the data science hype is idealization of what it’s like to work in the field. After all, data scientist is “the best job in America” (http://mng.bz/pyA2), with a six-figure paycheck and high job satisfaction. You might imagine getting to spend every day on the most interesting problems in the field with the smartest colleagues. The data you need will always be accessible and cleaned, and any issues you face will be solved immediately by a team of engineers. Your job will be exactly as described, and you’ll never have to do the parts of data science that interest you least.
Unfortunately, this scenario is a fantasy. Just as we hope that part 1 of this book convinced you that you don’t need to know everything before getting into the field, companies aren’t going to be perfect unicorns either. There’s a reason why this book doesn’t end with you getting a data science job. Although becoming a data scientist is a great accomplishment and you should be proud, data science is a field in which you’ll always be learning. Models will fail, workplace politics will scrap the work you’ve been doing for the past month, or you’ll spend weeks working with engineers and product managers to collect the data you need.
It’s especially easy to idealize companies that are well-known, either generally or for data science. Maybe you went to a talk, and one of the company’s employees blew you away. Maybe you’ve been following that person’s blog for months and know that they’re on the cutting edge of the field. Maybe you read an article saying that the company has nap pods, gourmet meals, and lots of friendly office dogs. But whatever attracted you likely has interested other aspiring data scientists as well; most of these companies get hundreds of applications for an open position and can set the bar higher than needed to do the job. In any case, the work you read about may be in a totally different division, and the position that’s open actually may be uninteresting.
Even with realistic expectations, you likely won’t end up in your dream job for your first data science role. It’s easier to transition within your field or to bring data science into your current role; even if you’re looking to leave your domain eventually, you may need to start by moving to a position in which you can leverage your other skills. That doesn’t mean you shouldn’t have certain requirements and preferences, but you’ll want to have some flexibility. It’s very normal to switch jobs in tech even after a year or two, so you’re not signing yourself up for the next 15 years. But you can’t know exactly what you want before you’re even in the field, and you’ll learn even from bad jobs, so don’t stress too much.
Though job boards are a common way to find open positions, they’re usually not the most effective places to apply. As we discuss in chapter 6, submitting your application cold online often has a very low response rate. According to a survey by Kaggle in 2017 (https://www.kaggle.com/surveys/2017), the two most common ways that people who are already employed as data scientists look for and get jobs is through recruiters and friends, family members, and colleagues. A great way to build that network is by going to meetups.
Meetups generally are in-person meetings held on weekday evenings. There usually is a speaker, panel, or series of speakers presenting on a topic that’s relevant to the event. Meetups should be free or have only a nominal fee, which sometimes goes toward food. Some meetups may have only 20 people; others may fill a room with 300. Some have meetings every month; others meet only a few times a year. Some encourage members to stay in the space afterward to talk or meet at a nearby bar; others focus on the talk itself. Some have very specific focuses, such as advanced natural language processing in Python; others may offer an introduction to time series one month and advanced deep learning models the next. It’s worth trying a few meetups to see what you enjoy most. The topic is important, but you want to find a place where you feel welcome and enjoy talking with the other attendees. Almost all meetups have accounts on https://www.meetup.com, so you can search for data science, machine learning, Python, R, or analytics to find relevant meetups in your area.
Many data science meetups have time at the beginning for people to announce whether they’re hiring. Go up and talk to these people; recruitment is part of their job, and even if their current openings aren’t a good fit, they may be able to give you good advice or suggest other places to look.
You may also meet another attendee who works in the company or subindustry you’re interested in. You can ask whether they have time for an informational interview so that you can learn more about the field. An informational interview isn’t (or, rather, shouldn’t be) a passive-aggressive way of looking for a referral; instead, it’s a great way to get a look inside a company and get advice from someone who’s in the field. Although we talk in chapter 6 about the advantages of being referred for a job, we don’t recommend asking people you’ve just met to refer you. That’s a strong ask for someone they don’t know, and no one likes feeling that they’re being used. If someone tells you about an opening at their company and says they can refer you, that’s a great bonus, but you’ll gain a lot from doing informational interviews even if they don’t.
Attending meetups is also great for other reasons. For one, they allow you to find like-minded people who are local. If you’ve moved to a new city or just graduated from college, you may feel like a stranger in your town. Going to meetups is a great chance to develop your career and build your social circle. You can take advantage of meetups to network or build some contacts who may be able to help you with anything from specific data science questions to job-hunting recommendations or general mentorship. Also, whereas some meetups post recordings of their talks online, others don’t, so attending in person is the only way to hear that talk.
Unfortunately, meetups can have a few drawbacks. It can be daunting to join a meetup of only a few people, all of whom are experienced and/or know one another. Impostor syndrome can definitely creep in, but you should fight through it, as there are few more welcoming spaces than a good meetup. Finally, although meetups offer a great chance to see the local data science scene, they can be insular or lack diversity, depending on how welcoming the organizers are and how connected the particular meetup is to a diverse community.
If you don’t live in or near a city, there may not be any data science meetups near you. In this case, Twitter and LinkedIn are great places to start building your network. When you follow a few well-known data scientists, you frequently find more people to follow as you see who gets retweeted or mentioned a lot. You can also start making a name for yourself.
We like to use Twitter in a few ways:
If you’re able to be public about your job search, you can also post on social media that you’re looking and ask whether anyone has any leads. Even though you may not have a strong data science network yet, you may have friends, former classmates, and colleagues who might know about positions within their companies. This approach generally works better on social media platforms where people who are connected to data science tend to congregate, such as LinkedIn or Twitter, but even social media networks such as Facebook may have connections with opportunities.
It’s common early in your career to feel that you have no network yet; networks seem to be held by people who already have data science jobs! The solution is to network not only when you’re looking for a job, but also long before that. The more you can get out of your comfort zone and talk to the people around you at conferences, meetups, academic institutions, barbecues, and the like, the more prepared you’ll be the next time you look for a job.
A common mistake in job-searching is to pin your hopes on one opportunity and not keep applying and interviewing elsewhere. But what happens if that opportunity falls through? You don’t want to have to start the job search process again from zero. You want to have multiple opportunities in each stage: applications you’ve sent out, human-resources screens, take-home case studies, and in-person interviews. Don’t consider the process to be over until you’ve accepted an offer in writing.
Having multiple opportunities also helps you deal with rejection. Rejection is almost inevitable when you’re job-searching, and it’s hard not to take it personally or as an indication of your worth. In some cases, you may not even be notified that you’re rejected; you just never hear back from the company. But many reasons why you might not have gotten the job are out of your control. The company may have closed the position without hiring anyone, went with an internal candidate, or accepted someone when you were still early in the process. Rejection hurts, especially from a company you were really excited about, and you should take a little time to process your feelings. But having other options will help keep you motivated and making progress.
Finally, having multiple potential options makes it easier for you to reject a job. Maybe you got through the HR screen and case study, only to find that there are no data engineers around; the data science team is only a few people, even though the company is large; or what the company is looking for is very different from what it advertised. Although you shouldn’t wait for the perfect data science role (as no such thing exists), you probably have a few non-negotiable requirements, and it’s much easier to stick to those requirements if you see that they can be fulfilled in other jobs.
By now, you should have a list of at least a dozen jobs you’re somewhat interested in and could be a good fit for. Do you apply for all of them immediately?
Well, some people do apply for dozens or even hundreds of jobs. They’re trying to play the odds, figuring that if there’s a 10% chance of getting a response to any given job, applying to as many companies as possible will give them the most responses. But they’re operating under a fallacy: if you have a finite amount of energy and time, spreading it across 100 applications instead of 10 makes each one weaker. We talk in chapter 6 about how to tailor your applications to each position, but that’s possible only if you’re selective about where you apply. It’s pretty much impossible to do that for 50 companies.
Should you apply for a job if the company asks for Python and you know R, or vice versa? Although knowing one language certainly makes it easier to pick up the other one, you’ll already be learning a lot at your first data scientist job: working with stakeholders, internal politics, statistics, the datasets, and so on. Even if you could get the job, learning a new language on top of everything else can be difficult. Thus, we generally recommend applying only for jobs that use your main language. If knowing one of those languages is a plus, but the other one isn’t required, you probably want to be wary; this job description could mean that you won’t actually be coding. Finally, some jobs ask for both languages. You also want to be a little wary here; usually, this requirement means that people use either language, not that everyone knows both, which can make collaborating difficult. This type of job can work out, but be sure to ask during your interviews what the split between languages is. If you would be one of only two people using Python on the team of 20, improving your programming skills is going to be hard.
You’ll want to return to what you learned in the first two chapters about the types of data science companies and of data science work. Do you want to try all the different parts of data science, tuning a recommendation system one month and creating a lifetime-value model the next? If so, you’ll probably want to work for a company that started doing data science recently, as more mature companies will have specialized roles. On the other hand, big tech companies also have legions of data engineers, so getting routine data is fast and easy.
Some of this will be obvious from the basic facts about the company; a 10-person startup, for example, isn’t going to have a mature data science system. But how can you find out more?
First, see whether the company has a data science blog. Usually only tech companies have this type of blog, but reading these posts is invaluable for learning about what work the data scientists actually do. Your positive thoughts about specific posts on a company’s blog are also great to include in your cover letter for that company (covered in chapter 6). If you’ve never heard of a company, spend some time on its website. When you know what the company does and how it makes money, you can start making guesses about what kind of data science work it needs. Finally, if you’re really interested in a company, see whether any of the company’s data scientists have a blog in which they talk about their work or have given talks about it.
When reading about a company, remember to think about what’s generally important to you. Does the ability to work from home sometimes matter? What about the number of vacation days? If you want to go to conferences, does the company offer a travel budget and time off to attend? Also, reading what the company says about itself can tell you its values. Does it talk about foosball, beer in the office, and catered dinners? That company is likely to be full of young employees. Or does it emphasize flexible work hours or family leave? That company is more likely to be friendly to parents. In Chapter 8, we discuss how you can negotiate much more than salary, but at this stage, you can at least see whether a company advertises benefits that align with your priorities.
Now that you have a manageable list of potential jobs, it’s time to apply! In Chapter 6, we walk you through creating a great résumé and cover letter, including how to tailor them for each position.
Jesse Mostipak comes from a background in molecular biology and worked as a public-school teacher before falling in love with not-for-profit data science. At the time of this interview, she was managing director of data science at Teaching Trust. You can find her writing about not-for-profit data science, advice on learning R, and other topics on her website, https://www.jessemaegan.com.
Think about how attached you are to the data scientist title. If you decide to not concern yourself with what you’re called and to instead focus on the work that you’re doing, you’ll have a lot more flexibility in finding jobs. Some non-data-scientist keywords to search for are analysis, analyst, and data. While you’ll have more to filter through, you may find a title like “research and evaluation” where you’re qualified for that position but never would have come across it if you were just looking for data scientist.
When looking at jobs, focus on what you want to do as a data scientist. For me, I don’t get a lot of pleasure from calculating the return on investment from website clicks. I asked myself, “What causes do I care about? Which organizations are aligned with that?” I cared a lot about the Girl Scouts, and they happened to be looking for an analyst position, so I was able to move in and do that. The same thing happened with Teaching Trust when I wanted to move more into education.
When I was making the transition to data science, I did a lot of things that failed for a very long time. I was the person who was reposting on Twitter every data science article that I saw, putting out 20 posts a day that had no engagement. You should think about who you want to meet, why, what value you bring to that relationship, and what’s authentic to you. Think about branding yourself, not necessarily in a stringent way, but making sure how you show up online and in social media spaces is authentic to you. For me, I realized I couldn’t be a perfect data scientist and wait to be on social media until I know everything in data science, because that was going to be never. I decided instead that I would talk about the things that I’m learning and be transparent about the process, and that’s how I built my network.
If you’re developing skills, can do some analyses in Python or R, and have the basics under control, you should focus on how you can get comfortable taking risks and failing. You have to fail a lot as a data scientist. If you are worried about taking a risk and failing in the job application process, what’s going to happen when you take a risk on a model and the model doesn’t work out? You need to embrace the idea of ambiguity and iteration. You have to apply and try; you’re going to get rejected from jobs, but that’s normal! I get rejected from jobs on a regular basis; it’s just part of the experience.
Some research suggests that certain groups of people especially feel they need to be 100% qualified, whereas other groups say “I meet 25%? I’m applying!” Wrangle that confidence of the 25%-qualified, and go for it. But you may also be getting tripped up in decoding the language of the job description. For example, let’s say there’s a discrete skill listed, such as 10 years working with SQL databases. You might think “I don’t have that; I have seven years working with Microsoft Access.” But I would say that’s still a transferable skill. It’s on you as the applicant to tell yourself “I may not have this exact skill, but I have one that’s a lot like it. I need to take a look at SQL, see how transferable my skill is, and tell this company the amazing things I’ve accomplished with Microsoft Access and that they should hire me because I know I can do this with SQL and then some.”
You need to develop your communication skills and your ability to roll with it. You should be able to communicate across all levels of your organization in a way that respects the expertise of the people you’re talking to and also shows you exist to make their lives easier.
By rolling with it, I mean being able to say something like “That’s not the way I would approach that problem or this project, but I can see where you’re coming from. Let’s try it that way and maybe I can modify it in this way.” You also need to be flexible, because people are still just figuring out data science. Organizations want data scientists, but then they don’t know what to do with them. You serve at the pleasure of your organization; if their needs have changed, you need to evolve and adapt to best meet those needs.
Finally, know that your job description might change. You have to be able to say, “This isn’t what I thought I would be doing, but how can I make this work for me?” You can’t say, “I am the best at neural networks, but I’m not doing neural networks, so obviously, this job is crap.” You need to know that any position that you take is going to change and evolve as the needs of the company do.