Monday morning watercooler chats after a big football Sunday look a little different for Tom Bliss, the National Football League’s Football Operations Data Science Manager. “The fun thing about our group is that we have both a robust data background as well as a football background,” Tom, who has worked at the NFL since 2020, says.
As a lifelong football fan and skilled data professional, Tom is trained to pick up on details that the average spectator might not clock — like exactly how long a commercial break lasted, or which new rule change went into effect. Tom’s job at the NFL is to use Python and R to analyze data and address problems related to competitiveness, pace of play, and officiating in football games. “The ultimate goal is to make the game as competitive, fast, and well-officiated as possible,” Tom says.
This is just one example of the unique and rewarding careers you can have as a Data Scientist. Here’s how Tom combined his passions and got hired in a technical role at the NFL, plus his tangible advice for people who aspire to work in sports analytics, too.
What got me interested in the job
“I have always been a math person my entire life, but I’ve also always been a huge football fan. I grew up in Oakland, California, and my family had season tickets to the Oakland Raiders [now the Las Vegas Raiders].
I went to the University of Wisconsin for undergrad, where I studied physics and astronomy with minors in computer science and math. For my computer science minor, I was mostly coding in Java, because it was geared more towards back-end development as opposed to data science.
Then I went to Columbia University where I got my master’s in data science. That’s kind of when I pivoted more towards coding as opposed to physics, astronomy, and hard science. Part of the reason I did that was because I thought there was an outside chance I could potentially get a job in sports, and hopefully football, because football is my favorite sport.”
How I got in the door
“I applied for an internship at the NFL — I just found it through Google. When I applied for the NFL internship, I had two projects that I did through classes that I had taken in school. For my final projects in those classes, I based one project on basketball, and another on the NFL. So I was able to show up to the interview saying, Look at what I’ve already done. I was able to show both my ability to do data science and my ability to know sports well enough to ask interesting data questions. I was lucky enough to get the internship, and then I was able to come back full-time.”
Find a plan that fits your goals
What I actually do every day
“On an average day, I’ll probably spend the majority of the day coding. Our group uses a mix of R and Python. I do pretty much all data cleaning and data visualization within R. But if I’m going to start modeling, I’ll save the data out of R, open up my Python notebook, and start coding it there. So it just depends on what I’m doing: If I’m going to be doing some robust modeling, I switch to Python.
Some of the problems I might be solving would be, like, analyzing the NFL schedule. Where are there scheduled inequities, and how might they affect the game? Like, one team might have one extra day of rest than another team, so what does that mean in terms of maybe one team being at a disadvantage? What does that mean in terms of scoring? What does that mean in terms of the competitiveness of the game?
Another thing I might look at is the pace of play. I might analyze timestamp data to look at different events that occur in a game, and how much time we’re spending. During actual play, how much time were the players in the huddle? Another project I did was analyzing how surfaces affect player speed and acceleration. In terms of turf surfaces, there’s a bunch of different types of turf, like grass surface or artificial grass surface. So we were sort of comparing the three types of surfaces and seeing what happens in terms of player speeds.”
Here’s what you need to get started
Just like a football player needs to learn the plays before getting on the field, you need to learn how to code in order to work in sports analytics. Like Tom, most Data Scientists are well-versed in Python and R.
If you’re brand new to coding and are choosing a data science programming language to learn first, Python tends to be a great option because it’s intuitive and easy to read. The path Analyze Data with Python will introduce you to the versatile language and its data-specific libraries. You can also check out Analyze Data with R, where you’ll learn the basics of the language and make your own compelling data visualizations from datasets.
Once you have the technical skills down, start completing projects that are related to the field where you want to work. “The first thing I would suggest is to show your interest in this stuff by creating projects that are related to sports,” Tom says. “Create content that you would find interesting, and ask questions that you yourself are curious to answer with data.”
If you’re inspired to work with sports data, try the course Analyze NFL Stats with Python. We’ll give you the relevant data and teach you to build a machine learning model that can predict the winners of NFL games. Not a football fan? Browse all of the Codecademy data science projects.
It’s important to post your work somewhere so that people can see what you’re doing, Tom says. Within sports analytics, people often use Twitter to share their data plots and work, or talk shop with other Data Scientists. “There are people that I’ve met and interacted with just through Twitter,” he says. (BTW, here are some more tips for using social media to network professionally.) Another way to get exposure is through the official NFL data analytics competition called Big Data Bowl, where data enthusiasts can analyze football data to win prizes. The NFL often hires Data Scientists right out of this competition, so “it’s a really good opportunity for people to showcase what they can do,” he says.