[DataFramed Careers Series #2] What Makes a Great Data Science Portfolio
31 May 2022 · 52 min
Nick Singh, who landed roles at Facebook and Google, explains why portfolio projects beat credentials for breaking into data science. His framework: pick an interesting idea, design visuals first, ship a finished MVP, and show real impact. His Rapstock IO project reached 2,000 monthly users and helped him get hired.
Chapters
Hi, I'm Maggie, VP of Curriculum at datacamp, and I know firsthand how overwhelming it can be to keep up with the rapid changes in data and AI. But staying ahead doesn't have to be hard. That's why our curriculum team has curated the best learning content to help you and your team stay ahead, covering everything from data and AI literacy for busy executives to cutting edge generative AI for developers, and everything in between. Whether you're upskilling yourself or your team, we make learning practical, engaging and flexible. It just works. Power your data and AI transformation journey on datacamp.com.
You're listening to Data Framed, a podcast by Data Camp. In this show, you'll hear all the latest trends and insights in data science. Whether you're just getting started in your data career or or you're a data leader looking to scale data driven decisions in your organization. Join us for in depth discussions with data and analytics leaders at the forefront of the data revolution. Let's dive right in.
Hello everyone, this is Adele, Data Science Educator and Evangelist at datacamp. Welcome to our second day of the Data Frame Careers series where we deep dive into the ins and outs of launching and building a career in data. In yesterday's episode, we Talked with Sadie St. Lawrence about what it takes to launch a career in data in 2022. One thing that stood out in the chat was the importance of building a portfolio project. I wanted to go into more depth around portfolio projects and there's probably no one better to discuss this with than Nick Singh. Nick Singh is the co author of the best selling book Acing the Data Science Interview. He has held a variety of data and software engineering roles at Facebook, Google and SafeGraph. He he is a career coach and has helped hundreds of folks land jobs through portfolio projects. Interestingly, Nick used portfolio projects to get a variety of data roles himself and we discussed that at great length in today's episode. Nick is also a second time Data Framed guest. In his first appearance he discussed his book alongside his co author Kevin Nuo. So make sure to check that episode out. I left it in the description below. Throughout the episode we discussed why and how portfolio projects are so important, the difference between coding based and content based portfolio projects, the biggest pitfalls when creating portfolio projects, and how Nick's passion for hip hop led him to a growth data science position at Facebook and concrete examples of what makes a great project and more. If you're ever curious about content based projects after today's episode, make sure to tune in for tomorrow's episode with Kuyin Tran, who used content based projects as a means to accelerate her data career. If you enjoyed this episode, make sure to rate the podcast and leave a review. Subscribe Also just as Sadie St. Lawrence from yesterday's episode is joining us for Datacamp Radar, our digital summit on June 23rd, Nick will also be hosting a workshop on creating awesome portfolio projects, so make sure to register. Seats are limited and registration is free, so secure your spot today on events.datacamp.com radar. The link is in the description. Now onto today's episode. So I think you're the first guest who's appeared twice on Dataframe thus far. I think I'm very excited to break down with you the hallmarks of a great data science portfolio, but before especially for those who haven't listened to our first episode yet, episode 77 on acing the Data Science Interview, do you mind sharing a bit of a background about yourself?
Absolutely. Thanks for having me back on Dataframe and I hope to get a three peat in and come back again to talk even more but a little bit about myself. I've worked a variety of software engineering and data roles at companies like Facebook, Google and Microsoft, and most recently at geospatial analytics startup Safecraft. When Covid hit, I saw my friends lose their jobs and internships, so I doubled down on this career coaching stuff I'd been doing on the side where I'd be writing tips on LinkedIn. And I basically combined all those tips in my past and partnered up with my buddy Kevin, who's an ex Facebook data scientist and we wrote the bestselling book Ace the Data Science Interview.
I highly recommend for folks to listen to that episode. It has a lot of tidbits on all of the interview process, like the series that we're hosting today. So I'm excited to unpack with you portfolio projects with you. I want to first start off our conversation by discussing the why behind portfolio projects. Oftentimes when we talk about portfolio projects, we often miss out on why they're so important and why they're such a great way for aspiring and seasoned data practitioners to put their work out there, prove their expertise, and get noticed. So in your own words, why do you think portfolio projects are so important?
It's so important because there's so many jobs, even entry level jobs, that are looking for years of experience. And what kind of catch 22 is that? That to get your first job you need experience. Except that's what your first job's for, right? And folks get stuck in this all the damn time and the best way to get around that I found, besides getting your first job, is building portfolio projects because that will help you make your own experience and kind of bootstrap yourself to being in a spot that to be picked by recruiters for your first internship or your first job or even your second job or third.
That's great. And harping on the state of data jobs in general and the experience required to a lot of entry level jobs. Why do you think data science heavily skews towards provable experience even for entry level jobs as opposed to other industries or professions?
Right. So I think that people have actually had this debate before that is data science even an entry level position? Some people argue that there's no such thing as an entry level data scientist, which is why most jobs require a master's degree or they might require past work experience. They say jobs such as being a data analyst or BI developer or data engineer can have a more junior component. But data science, because it's so interdisciplinary, there's stakeholders involved, there's so many different skills, people have made that argument. I'm not sure how much to believe in that. And the second thing to also mention is that these job requirements are often laundry lists of recommendations. They're not really requirements. So that's another thing. Just through inflation, you see people saying, oh, this entry level job needs two years of experience. And then you actually start interviewing and they realize we can't hire anyone. So even if the job requirement says that often you might not need experience. So it's a bit of a mixture of data science is advanced, but also companies sort of white lie.
And, and on that white light component, you also see it sometimes in the job description, like expert in machine learning, but also expert in tableau and power bi but also expert in data visualization. You have, I think companies to a certain extent don't understand what to hire for. At some levels companies don't know.
And then even if the hiring manager might know, maybe it goes through a technical recruiter who's not as sure about all this stuff. And that's why you'll see someone needing AWS and Azure and GCP skills. And it's like, wait, what job is using three different cloud providers? That doesn't make sense. But you see people just make a laundry boundary lists or put synonyms in there. So I don't put too much weight on it. But it is true that yes, often to get your first job, second job, having some level of experience matters. And that's why portfolio projects are there to help you because if you didn't have that internship or you didn't have that research experience, or you don't have that provable master's or PhD, we got to make our own experience. And portfolio projects are the best way to do that.
I completely agree. So given that who should be focusing the most on portfolio projects for the.
Most, it should definitely be people who are earlier in their career who are looking for that first or second, maybe even third job. Especially people who are switching industries who might have years of experience, but in something slightly related like econometrics or public health, who have some data background, some data analysis background, but really need to double down on the field of data science. But I want to clear up some misnomer as well that there is room for seasoned people to be working on portfolio projects. Absolutely. Now here's the thing. Let's say you have 10 years of experience, right? You might be stagnant in your tech skills because data evolves so fast. Even if you have 10 years of experience, you might not know the latest and greatest. Maybe you don't have experience with distributed data processing frameworks like Spark or Dask. Maybe your last job was in R shop. So you have years of experience in R, but no Python. But the state of the industry really favors Python these days. And state of the industry needs people who know Spark. And that's exactly why even someone who's senior in their career can get a lot of mileage out of showing that not only do I have years of experience, look at on my side, I've been upskilling and getting more modern technologies underneath my belt. So it's good for people early in their career, but really at all levels there's room for portfolio projects and harping.
On the experienced type of Persona when working on projects. Even the best data scientists I know, they tend to be very curious people and they tend to gravitate towards side projects all the time and publishing their work around side projects. It's just a testament towards that ability to create thought leadership with data science that I think is very interesting. That gets people noticed, gets people even better opportunities, better jobs.
You're absolutely right. So, you know, one person could just go network, which means just shaking a lot of hands and doing a lot of coffee meets. But at that senior level, the most effective time investment for networking isn't to go network by shaking hands, it's to go make cool stuff and post it on hacker news or get it viral on LinkedIn and or get it viral on medium. And that only works if you actually have a cool project you can openly talk about or some cool novel ideas that you can openly share. So you're right that even a senior person who's not really looking for a job switch but is just looking to grow their clout, their own reputation in the industry, you got to put your work out in public and that means projects.
So what are the different types of portfolio projects that practitioners can start doing? Stuff that comes to mind for me are like content based projects like tutorials or even kind of actual projects where you take an idea and you execute it.
Definitely there. Those are two really good divisions. I think that I'm more of a fan towards the actual end to end projects where you're actually building something or analyzing some data. But I think there is some room for these content based tutorials. For example, like I just seen more people do things poorly on the content side, or maybe they're doing it for the wrong reasons. I think that some people think having the 27th blog post on using XG Boost in Python on some boring old Kaggle data set is going to get them a job. And I don't think that's the case. I think it would be way better to build a more realistic project, something that actually aligns to what your future job might be. But there is room for this more content based project, right? Like if you're trying to really tell a cool story or you're doing some data journalism type work like that fits. But I think you might differ on this, right? I want to hear your take as well, because you're someone who advocates for these content based tutorials and you're someone who's had a data experience too. I want to hear what you think from my side.
I think there's a lot of value in being able to create these types of tutorials from a personal perspective simply because if you're still early in your career, you still have some form of concept that you want to be able to master. I think writing about it and being able to teach others and pay it forward is a great way towards that mastery. I also think when we think about being able to prove communication skills, data storytelling skills, and being able to distill concept technical concepts to much more understandable information, that's a great avenue to do so. But I also agree with your point in general that if you want to be able to make a splash, let's say, and to create truly original projects, then having much holistic project is a much better route to be able to have a bigger bang on your buck.
To a certain extent, yeah, no, I definitely agree with that sentiment of what you laid out and definitely I don't want to throw shade at these content based projects because face it, writing is so important and it would be hypocritical of me to have written a book and be like, ah yeah, who cares about your communication skills? No, let's be honest. To level up in data science, to really get your ideas sold amongst your organization or to get your idea sold amongst a wider data science community, that means communication skills, which really does often mean writing. Unless you're going to do a TikTok dance that's going to go viral, you're probably better off working on those writing skills. So there is room for that. And I think that writing something that's like novel is very hard. So in terms of just practicing, there is room to write that XGBOOST tutorial if it's a means for you to practice your communication skills. But again, in the context of landing jobs it's fine and helpful. But man, I do think those end to end media projects that more accurately look like the real job that you might be wanting to do, that's going to get you a bigger bang for the buck. And I think that's what I'd love to tell you more about that.
I completely agree and I'm very excited to unpack that. But before let's harp on that writing gig to a certain extent, like writing projects, let's say I'm not super confident in my technical skills and I want to write about a particular topic to be able to feel like, to be able to go over that hump and to be able to sharpen my skills there. How do you get over that imposter syndrome? Creating content on certain topics and putting it out there.
Dal, it is so real. I wrote this book. I do not like writing. I barely commented my code right in school I studied engineering so I could get away from these liberal art classes that had 30 page essays due at the end of the semester. I didn't take a single one because I knew, oh shit, they're not going to grade me on an exam, they're going to grade me on this paper that I do not want to write. So that's how much I feared writing and I didn't like writing. And 301 pages later I've changed my opinion of it and I think that there's definitely a lot of it's not just a skill thing, it's a lot of a mind game. Many people feel scared to write because they think they're a bad writer. And actually the bar towards good writing isn't that high right now. If you want to be writing some like storytelling, really fancy story, that's still really hard. But if you're just trying to describe a technical concept in layman's terms, there's not that much storytelling or plot devices or high level story elements you have to write. So I think people are a little bit harsh on themselves when they're writing, which is what scares them from even writing in the first place. So I think that's one thing, that people are just too harsh on themselves because they think that they need to write like J.K. rowling or something, when in reality the bar is a lot lower. The second thing is write what you know, right? So too often I see people say, okay, if I'm going to do a tutorial, let's make the most advanced thing I know or let's make it something that other people will find fancy so I can show off. But it's something I don't know well. And I think that's a big issue and I think people are better off writing for themself. 6 months ago so what do I mean by that? I mean that you don't have to write and pretend you're an expert and be teaching another expert. You could just be writing with this audience in mind of like, what would I have wanted to know six months ago about XGBoost or what would I wanted to know about data viz 6 months ago? And when you write towards that audience, you know that audience because you were that person six months ago. And two, you know, you should be able to add value there because, well, you've learned a lot and grown a lot in six months. So you've had a transition. So you know what that looks like. So I think those are two of the biggest things to get over this writing hump towards creating content based tutorials or just putting out your writing portfolios or putting out like this, you know, cool data investigative piece where you're diving into a data set and you're putting that up on medium. It's don't be too hard on yourself and write something, you know, write something that you could have appreciated even six months ago.
I completely agree with you. And for me, what got me over the hump of writing was just writing about stuff that I'm really passionate about for a particular while. I was very passionate about AI ethics. I wanted to break into that industry and that was something I was really passionate about writing about and it came easy to me to write about it simply because it's something that was secondhand in terms of the amount of research I was doing about it. I was reading a lot about it, so it was easy to write about it. Echo your sentiment here around. Right what you know. So I completely agree. So I think this marks a great segue to also discuss the technical portfolio project. The portfolio project that has more of a bang for your buck when it comes to landing a data science job. To answer this, though, I want to segue towards the hallmarks of a great data science portfolio. But to answer this, though, let's focus first on the top things people need to avoid when creating portfolio projects. So what do you think are the top mistakes and misconceptions people have when they work on their own portfolio projects?
I've looked at hundreds of portfolio projects through coaching all these people to fang jobs. And here's the four big reasons people's portfolio projects suck. First of all, they pick a boring idea. Humans, they love a good story. They don't want to see something that they've heard of before. They don't want to do something boring, right? Like that Iris data set. So boring. It's about flowers. Sepal length, petal length, who cares? I don't give a shit about flowers. And most people don't unless it's romantically, but you know what I mean. Like Iris. I don't even know what the hell that is.
We're applying to a botany company of some form. Right?
Right, Exactly. Unless you're a worker bee or something like that, who cares? So first we got to tell, like, we got to pick an interesting idea, something that, just as a human, like, you'll find interesting. These days, Ukraine is a hot topic. An election's a hot topic. Dating is always a fun story. Or talking about food. Most people would love to read something about what are the hundred best restaurants in New York City using Yelp data? You don't have to be, like, into that niche to find that interesting. So I think just picking a story or an idea that's already interesting to someone at a human level is a first good thing to do. Second thing of where I see people go wrong is they pick a project that doesn't visualize well. So here's the thing, and we'll get into it a little bit later about cold emails and how do we get noticed. But I think one of the best ways to show off what you've done is a visual. Because a photo tells a thousand whatever that quote is you, you know what I mean? Do you know that 1000.
A photo tells a thousand words?
I think, right? I was about to butcher and say like a thousand stories. Tell a photo in a word. You know, you, you understand visuals matter. People love visuals. A good gif, a good infographic goes a long way. There's a reason you see that go viral on Reddit, on our data is beautiful. There's a reason you see those infographics go viral on tech, Twitter or Instagram. People love seeing that. They don't want to see the 700 lines of data cleaning you did. They want to see after you clean the data, like, what the hell was the result? What's the cool thing? What's the takeaway? So for those data journalism type pieces where you're just investigating a data set, have what that end visual would look like in mind or that end to blow dashboard, that end product, what would that look like? Because if you don't have one, it makes it a little bit hard to convey that I built something cool. So one way I exemplify that is, let's say your side project was solving this intractable problem of does P=NP? Right? This is. This would win you a touring award, a Nobel Prize. It would break cryptography. Like, this would be one of the biggest things you could do in the next hundred years if you could solve this problem. But let's be honest, what does the visual look like? For there, if you just went to a recruiter, an average technical recruiter, and you said, oh, I worked on this P. NP problem, I solved it, they wouldn't know. They wouldn't think to fast track you to a job. They would fast track you if you said, oh, yeah, I won a touring award and I won a Nobel prize prize and I'm world famous. But those are secondary signals because they know what a Nobel prize looks like. They know all those things. So that's why I'm just trying to like, drag it out and basically show you, like, wow. Like, even though solving a really tough problem that would, like, break all of cryptography isn't a great portfolio project, right? Because you can't visualize it. And now I'll give you an example of something that you could visualize. I saw this great project about what are the most common brands shouted out in hip hop lyrics? Someone scraped all the music lyrics from genius.com and then analyzed and saw what you know, did they shout out Mercedes Benz, did they shout out Chevy? Did they shout out Porsche Lamborghini? And they just visualized that and there was this really cool histogram of all the different brands with images of them and how often they're showing up. And then they did that same analysis by rapper. It's like, oh, you know, rapper Drake loves his LaFerrari because. But in all of hip hop in general. And then west coast hip hop loves their Chevy Impala. That's like bumping up and down, right? Whatever it is. Like, you can see how that's such more of an interesting story and flashy. It's easy to communicate. And then as a hiring manager, let's be honest, I'm a human. I'm like, oh, how many lyrics were there? How is it scraping all that data? Oh, look at this great visualization. Oh, you made a tableau dashboard where you can filter by song genre to see what brands are shouted out. That's really cool. Like, I want to see what's different in pop versus hip hop versus country. I feel in country, people talk about their Ford pickup truck all the time, but that's not what we're talking about in hip hop. So that's an example of thinking about the visual and going with the visual first, because humans are visual people. Recruiters are not super technical. So they can't look at line 600 and be like, whoa, that's such a clever model, or, wow, you cleaned the shit out of this data. They're not going to ever be like that. They just want to know what happened in the end. And in the end, usually a picture or photo or a quick video is how you summarize what happened then. The third main reason I see people mess up their portfolio projects is they're just not finished. They're half baked. It's sitting on their laptop. They didn't put it up on GitHub, or they worked halfway through the data cleaning, but they never visualized the end thing because there's too many data issues. So they could never make that interactive dashboard. That's a big miss. And the fourth big reason and final reason that I see people make mistakes with is even if they're finished and they have a visual and they picked an interesting idea, and this is the hardest one. And honestly, if you just don't mess up the three, you're already in decent shape. But that fourth one that would really put you over the hump and really make you stand out, is if you can show that your project had impact, that you could show that other people cared. Because ultimately, why are we in data? We're trying to find insights that will drive business that actually impacts a business, or we're trying to find insights that will actually shape society, or we're trying to find something novel. We're trying to improve profitability or improve people's lives using and analyzing data. So people, if you build this great project, but you don't quantify the impact you've had, like, oh, it went viral on Reddit, or my project got 6,000 GitHub stars, or I had 4,000 users run my model, right? If you just put it out there and just. It's just like, yeah, I didn't save anyone any money, I didn't do anything, it's going to lack impact. So that's definitely the hardest one. But if you can show like for example, and we'll talk about my own personal story, but I use user counts all the time to quantify, like, oh, I built something, but like, it got 2,000 users. So people actually cared because people actually use my data product and data software that I wrote that shows to a recruiter, like, whoa, I see this person made something and it's interesting to me and it got done and it helped someone else's life. If they can do that, I'm sure at my own business, when I hire that person, they're going to be able to do the same thing.
That's really great. I'm excited to unpack all of these with you as well. But before setting levels here, on the flip side, we looked at how portfolio projects fail. If you want to flip it and say, what are some of the key principles for every great portfolio project should have?
Honestly, just flip it. So just really quickly running through it. First, pick an interesting idea. Second, make sure that idea has a good visual and have that visual in mind before you even start working. Three, make sure it gets done and done. Doesn't mean that it's like all encompassing. It's done every single aspect, but it just doesn't feel half done and that there was some end point you reached. Even if it's like a midpoint, as long as it feels like a natural ending spot, you're good. And fourth, see if you can demonstrate impact with it. Make sure you put it out there into the world, because even if it just didn't save anyone money, didn't save anyone time, but it went viral on Hacker News or it went viral on Reddit. That's impact.
That's great. So can you tell me an example of a portfolio project that you worked on in your career that you felt really highlighted these principles for you?
Absolutely. In college, in my Second year for background. Actually I was a DJ in high school and I loved mixing hip hop and Bollywood music. And I've just always been passionate about sharing my own music, musical taste and quite frankly Adele. Like, I think my taste is pretty damn good. I wanted to make a game to quantify that feeling, right? So I was sitting there in my dorm room and I saw people playing this fantasy football, this game where people put virtual points on different football players and their real world performance in the NFL was tracked and then that's how you would score points too. So if you were good at assessing football player talent and good at predicting what teams would do well, what players would do well, you could show off your own skill in this game and get clout from your friends. And I was like, could I do something like fantasy football but for music? So I started with this website called Rapstock IO and it was kind of like a stock market for rappers. So what it was is that using data from Spotify, I could see what the popularity of each artist was in near real time and assign them a stock price or a score. And then I let users long or short different artists so that if you thought you had a blue chip like Drake, someone you really believed in and you really loved and you thought was one of the greatest, which I'm a huge Drake fan. So I was all in on Drake. You could invest in Drake in the stock market. And now if you saw someone who's a one hit wonder, I don't like that guy. Designer. If you ever knew that song Panda, I thought it was really whack. You could short that person and you could say, you know what, I'm going to short this person. I think their score, their popularity is going to drop off in the next few months. So I built this game and I grew it to 2000 monthly active users. And here's why it made for such a good portfolio project. Well actually let me tell you the end result first and then we'll break it down. So what it did was it got me to Facebook's growth team. Growth engineering or growth hacking for those who don't know is about using data AB tests rapid experimentation to grow products. It's a very quantitative, data driven approach to building products where at companies that are running at Facebook scale, that's how they figure out what are bottlenecks. How do we like grow the user base faster. It's less of like ideation and like someone coming up with a neat feature and is a lot more like instrument everything. Collect every data point and run 1000 AB tests across 100 million users. My own project exposed me to growth engineering. I like, learned about the field because in the process of growing the project to 2,000 monthly active users, I had a lot of issues with retention, with user retention. People would drop off, they would sign up and then drop off. And I learned a lot about growth. And I got to share that story and share that in my cold emails. I got to share that, hey, look, most other college kids, they don't know about growth engineering, but I know all about user analytics, collecting data and using that to build a better product through data. I ran my own ab tests on Rapstock IO and that's how I helped grow it to 2000 monthly active users. So this was such a good story because it showed people on Facebook's growth team that I could already do the work, right? I didn't tell them, hey, take a bet on me. I didn't just reverse some linked list. I mean, yeah, sure, that was part of the interview process, but it was more than that. I showed them why I'm a good fit for their team and I'm already doing the work that they're hiring for. And ultimately going back to. Why are portfolio projects so important? Companies don't want to take a bet on you. They want someone who's proven. That's why they look for people with past work experience. So if you don't have that past work experience, you don't have that Master's or PhD. What do you got to do? Well, on your own, you show them well even without getting paid. On my own, I'm analyzing data or building models on these open data sets. So why can't I do it for you? That's why it works so well psychologically, because you're just de risking the idea of you working at that company. And the more closely you can match the type of work they do in scope and technical difficulty in domain, the less risky it is for them to hire you. And that's ultimately when you make it very less risky. That's how you get hired. So going back to why did this project work well amongst that framework, I'll like, reiterate. I didn't pick a boring idea. I talked about hip hop. I talked about Drake. I talked about how as a DJ and I love music, most people like music. Most people have heard of Drake, they got into the story, or at least they've heard of fantasy football. Second, the project visualized well in the sense that I had a functioning product that I could load up and show them in about 30 seconds, I could pull it up on my phone and they're like, damn, like, you built this? Tell me about the tech stack. Tell me about the Spotify data you're scraping. Tell me about pricing assets. They'd see a graph of Drake going up and down. They're like, how did you build this? Third, it was finished. I mean, sure, there were a thousand more features I could have added, but I at least got something out there that I could pull it up. I didn't say, oh, yeah, it's on my GitHub, readme, or something like that. I was like, here's the damn thing. And fourth, it had impact. It had 2,000 monthly active users. I won an entrepreneurship competition. They could really tell, like, whoa, this person really used data to grow their user base. That's all what growth is about. They've clearly done the thing that we're looking for. That's why this project works so well. And sure, I got lucky by using this to get on Facebook's growth team, but I'll be honest, Adele, I use the same story at Airbnb's growth team, Uber's growth team, Snapchat's growth team. I used it for companies that weren't even hiring for growth positions, because when I talked to Apple, I told them how I love building products for consumers, and I pulled up this consumer product. When I talked to alternative data companies, I said, look at how I'm scraping Spotify data and using that to price artists. You're an alternative data company trying to, you know, scrape data sets to long or short stocks. You're a hedge fund, you're on Wall street. You're doing the similar kind of work that I'm doing here. Don't you want to hire me? So this one story worked in so many different ways. And that's actually what happens when you build a really fleshed out, meaty portfolio project. It doesn't just work for one kind of job or one kind of industry. It just sets you apart for a.
Whole variety of stuff that's really awesome. And I love that particular portfolio project because, as you said, especially at the end, there's so many dimensions to it that are applicable to different types of jobs, whether that's product management, let's say, at a Spotify type company, or even, as you said, alternative data, even if you're, like, working on stock market data. So I think there's a lot of lessons that can be extracted from that particular project on how to architect or choose which story you want to pursue for a particular portfolio project. So let's unpack that project even more. I think I want to harp on especially on the scope creep aspect of it and making sure that we do not go like that at any costs. People actually finish their project and it's not half baked. And I think scope creep tends to be a big aspect of this. I think a lot of aspiring practitioners tend to fall into the trap of scope creep where they don't necessarily have a good idea of where a project ends or they go through this analysis paralysis and don't know where to necessarily start. So can you walk me through the process of developing this project from ideation to end, and how you avoided scope creep and made sure that you had something done and that you were able to iterate?
Absolutely. So you're right that people see this, they get inspired and they try to set off on their own big journey. But I think that it worked out for me. And that's the story I can tell. But when I was starting out, I didn't set out to make a startup that grew 2,000 monthly active users. I just wanted to build something cool and something small. And I think that that's something that people mess up. Maybe some of us are like superhuman and they're really disciplined so they can do this extra portfolio project work after work or after their internship or after studying in college. But man, it's hard to find time. And I'm not that disciplined. I'm not that smart. That was my first big coding project. I hadn't done much like that before. So what you got to really do is be honest with yourself. And almost always, at least in my mindset, I never over deliver. I almost always under deliver. I always think I can do more than I can actually do. And I think that describes a lot of people. So what I do is then set very small goal posts, very small milestones. I make an MVP and then I try to cut down the MVP even further and then further and then further. And I think that's what people need to do because I'll give you an example with my own rap stock story. One MVP could have been can I collect data From Spotify every 20 minutes on follower counts for 500 different artists and download that and save that in a CSV. That itself is like amazing project, but it's still something you can talk about like, oh, how do you make a running job, collect data? How do you talk to an API? How do you save that data? And I could have done a very simple visual where I just Visualize that data on a website. That's a very simple web dev thing. That itself would have been like an MVP starting point. Right? And that's already meaty and interesting. Like, oh, wow, you're visualizing Spotify data. I don't know how to see follower accounts otherwise. But you did that so that, that could have been the story itself. And then I added user features and then I tried to grow it, but I just trying to say that whatever idea you have for your portfolio project, see if you can half it and then half it again and then just try to work towards that smallest piece. And then only when you hit that, what ends up I find happening is you get momentum. You were like, oh, damn, like I did a quarter of it. This wasn't so bad. And like, it's pretty cool. And I showed my friend and they think it's cool too. Then you get after it later. The harder thing is you set on this big ambitious goal and then you can never show anyone, you can never get that positive reinforcement. You yourself can't ever feel good. Because even if I did half the project, you're like, shit, that's only half the project. Like, I can't show anyone this. So that's a really good way is just to cut the scope. Like really make it simple. And a second big thing is work on something you're actually passionate about. Like, I loved music, I loved hip hop. So on my own, it wasn't even that big of a deal to like look at Drake data, because I freaking love Drake. So I want to understand that kind of data set. So I think that's another big thing is like, hey, look, if you pick something you like, sure, it's still going to be work, but at least it feels a lot less like work and a lot more like fun. And then you can get in the zone and, and you can get in that deep work mode and really get it done.
I completely agree, especially on this MVP style thinking I think even more broadly outside of the data science portfolio project in any professional setting, I think having that mentality of I want to develop the single best, most easy version of this project possible that can get me that first win and then iterating from there is probably the biggest secret towards unlocking like much faster success than starting off on massive projects and then getting stuck at the beginning and then the middle.
Yeah, because I've coached so many people and I've just seen so many smart people be like, oh my God, I'm going to do deep learning on this thing. I'm like, dude, if you can even just get the data set on your computer and store it in a database, that would already be pretty impressive because, hey, it's a big data set and you have to write these cron jobs and you have to write some basic SQL to analyze the data set. Forget about deep learning. Like, even that would be a good project. And I think that people, again, when they look at what they think is cool, they overcomplicate things. And I almost say, like, make it simple, easy, and almost make it a little stupid. Like, really, your project was just making a data set. And let's be honest, if you made a cool data set and uploaded it on Kaggle already, that could get traction. Like, if you can find a data, like a data set that people don't know exists and you can just pull it down and store it like, that itself can be a good project. And people don't think like that. They think like, oh, the only good project is this really complicated deep learning. And it's like, no, no, no. So just even at the simplest thing, make it so stupidly simple, so stupidly small, because I guarantee you, you're harder on it than you should be. And even that stupidly small, like, I just made a data set of Drake Analytics. I'm sure that would have been a cool project itself and people would be like, oh, wow, check out Nick's repo of Drake data. Like, I would love that. I know there's enough Drake fans that would kill for that kind of data set too, 100%.
So taking this concept of how you approach that particular project on the Rapstock data, and if you want to abstract it and generalize it into a framework for how to find great data sets, great projects, what would framework look like for you?
I think one big element at a framework level would be working backwards. So now that you know what makes a good portfolio project, that it's an interesting idea, that there's a visual that you should get it done and that there should be impact before you even write a line of code, before you even try to analyze the data set. If you can't even think about that visual, what would you even try to visualize? Then it's probably not going to be the world's best portfolio project. So same way if before you even write a line of code, you're like, whoa, this is like six months of work. You already know it's probably not going to get finished. Let's be very real. If something looks like it's going to take six Months, even one month, even a weekend's long project sometimes turns into a two weekend project. And let's be honest, one weekend you feel really motivated and then the second weekend you're like, eh, I think I'll go hiking or drinking. So even a weekend project might be too long. Really. It might be just like, yo, what can I get done on Saturday in eight hours? So that if it goes over, maybe I'll use Sunday too. But let's just do what can I get done in eight hours on a Saturday? I think being very real like that and starting with this criteria of like, okay, well if I know it needs to get done, let's make it laughably small. I know it needs to be visualized. Let's already have an idea of what that visual would be and we'll fill in the details or fill in the histogram later. But we already know it should be a histogram with this on the x axis, this on the Y axis, and this is what we're visualizing. And then same way you say there should be impact before I even start on rap stock, I know, oh yeah, this probably is not going to make money. It's probably going to need users. That's probably going to be the best way to quantify my impact. Or same way if I was just making a data set of music or data set of Drake, I would already know. Like, oh shit, the way to quantify that would be GitHub stars or Kaggle downloads. Like, oh yeah, I made a dataset on kaggle that had 500 other people analyze it. Like you already know that's the end metric. When you start that way then you get a lot more clarity in building out your project. And most people don't do this hard work on the get go. They're like, oh yeah, like it would be cool to work on music. And then they float around for weeks or months and they don't have that clarity. Like, oh yeah, I'm going after users or GitHub stars or dollars or time saved or being number one upvoted post on Hacker News.
So how would you adjust that framework given the different roles someone can be applying to? Whether that's a data analyst, a growth engineer, a data scientist, a BI analyst, machine learning person. Right. There's a lot of different roles in the data space. Is there any adjustment you'd apply to this framework?
Yeah, I think the framework stays the same. Oh, I should have mentioned one more thing. And this is actually how it differs. When I say find an interesting idea that is one great way to go about it that you find personally interesting. Like I loved hip hop and music, so I started there a second framework where you just swap out, instead of picking an interesting idea, pick an idea that matches exactly what your dream job is going to be working on. That's the second way to go about it. So still make sure it's done and has impact. But instead of picking an idea like, oh, I want to analyze Drake. If you know you want to be a machine learning engineer at a self driving car company, make sure. And they talk about how they're looking for someone with experience with computer vision data sets. Make sure your project revolves around computer vision, ideally driving or at least some level of perception. Right? It's not like a transfer learning project where you're generating art. It's something like, oh, I'm trying to understand what's happening in the scene and ascribing labels to it. Because that's a lot of what self driving looks like. So I think that's the other way. It's still the same framework of making sure it's done, making sure it's small, but it's like starting with the end result where the end result is like, oh shit, I want to have this job that's the end result and this is exactly what that job looks like. So that's how I change it up for a data analyst, data scientist. If you look at any job description and if you're not sure what a job looks like, go look at 10 machine learning engineering jobs or 10 data science jobs and you'll have a good sense of what are the skills people look for. And from that you can reverse engineer like, oh shoot, I should make sure that I can check off five of the 10 boxes with my project.
And do you think that in some sense, like as the role becomes more complex, the goalpost of what an MVP looks like should also move to a much more complex direction?
I think it sort of happens. But I feel like again, even the bar is low. And what I mean by that is most people don't have portfolio projects or if they do, it's like really lame. It's on another data set that everyone's already seen on Kaggle or it's something that they were assigned in their school and they're just reusing that. So that's why I say the bar for this stuff's low. And then secondly, because so few people finish their work already, it's like, oh, a lame project that got finished is still better than this person's really crazy deep learning project that never deployed. So I think that I wouldn't emphasize complexity because if you have a chance, like you have time, you have a chance to add more complex features or take your analysis to the next level, you should go for it. But in general, I don't even think complexity is the issue. I think that like, look, the crux of a machine learning engineering role is about building models and making sure that they are deployed and maintained. So building a website that is running and can take an input and spit out an output and the website just keeps running and it's real time. So that I can see that you have some software engineering skills, that's all I really need to see. It doesn't have to be the world's craziest model or the world's craziest data set of the world's craziest scale. Just even running a linear regression and letting it, you know, take input, spit out output and keeping that up running is a great project. And same way for data science, you don't even have to analyze a petabyte size data set or a terabyte size data set if you just analyzed, you know, a data set with, you know, 10 columns and 2,000 rows. But you built a really good visual or two and you built and you found one or two good insights and you wrote a medium blog post that's just a page long, that it's mostly just two photos, two visuals with some analysis and like one interesting fun fact you found that already is a great project that showcases your, you know, data analysis, cleaning and visualization skills, which is the core of a data science job. So it really doesn't have to play into the complexity of what a real world machine learning engineer does or a real world data science does. It's just, can you match the job description as closely as you can on your own?
I completely agree with that point. And I think adding on top of that, if you want to work in a type of role that has really highly complex data domains and kind of use cases like, let's say, self driving cars, having that mindset of developing an MVP even within these data domains actually plays your advantage to a certain extent because you're able to show clarity of thinking and that biased action and ability to provide value with simple projects rather than going all in on complex ones.
100% and you nailed it. When we're doing our projects, we're not thinking about bias towards action, but that's actually what a hiring manager recruiter is looking for. Because ultimately tech skills you can be taught, but like if this person's a go getter, you know that they're going to make an impact. And if this person's very Smart, has a PhD in Applied Math, but like barely has put out work, maybe they're brilliant, but it's questionable what kind of impact they might have in your company. So that's why it's like, look, you want to work at Waymo or Nuro or cruise on their self driving car. If you just made an RC car and stuck a little Raspberry PI and a little webcam on it and it just drove around your basement or drove around outside and followed a line with the most basic principles that already shows me 10x your engineering skills and your ability to get things done than like a Fancy Master's or PhD in computer vision. But I don't really know what you can build or what you can do.
Yeah, I completely agree. And this segues to my next question perfectly around getting noticed and getting your work out there. So definitely another challenge in succeeding with a portfolio project is getting noticed by recruiters and hiring managers. So can you help me through how applicants can get noticed with their portfolio projects?
I'm a huge fan of cold emails. Cold email, for those who don't know, is like where you reach out to somebody you don't know. It's opposed to a warm introduction or like a warm intro where it's like a friend or someone in your network who introduces you to someone. So cold emails are so key to job hunting, especially when you don't have that network or you're looking for that first job or two, or you're just coming from a different background. So you might not be the most traditional candidate because when you're applying on LinkedIn or indeed there's 2, 300 people who've also submitted their resume, it's hard to pass that resume filter, which often might be automated. It might not even be a human looking at it and filtering you out. So sending an email directly to the hiring manager, directly to the recruiter, and sending a crisp one paragraph like, hey, I'm Nick. I built a website that got to 2000 monthly active users that use Spotify data to price these assets. And that's how I found out about growth engineering. I want to work on your growth engineering team. Do you have time to interview next week? Or I saw there was this open position, can you consider me for it? That's going to go a long way. And when you hyperlink to that project or you just can name drop like, Yes, I have 2,000 monthly active users, or yes, I won this Kaggle competition, or, yes, this cool little tool went viral on hacker news. And then you just put that little hacker news link to your blog post that went viral, a good hiring manager is going to be like, oh, shit, this person actually can do something right like that that brings you to life, that sets you apart. And no automated screening tool on LinkedIn that a recruiter is using is going to know about that or be able to kind of surface that out. So sending cold emails is one of the best ways to get noticed. And the portfolio project is one of the best ways to anchor your own experience. Because, Adele, you've probably gotten these emails where it's like, hi, I heard you're hiring. Can you hire me? Hatch is my resume. It's like, I don't know anything about you or why you're a good fit or what you can do, but when you're like, hey, Instacart, I saw you're looking for a BI intelligence analyst. I saw you had a data set on Kaggle, so I used it and I visualized all these analytics. By the way, you're hiring for this role. Can you consider me that works so much better. And I saw someone do that really intelligently with Sephora, which is that makeup store that's pretty popular here in North America. They have an online catalog on their website. You can scrape that and learn a lot about the products they sell, what prices they sell for, and metadata about the products. And that's just such a cool data set. And if you worked at Sephora as a hiring manager and you had 200 applicants, but one of them sent you this email and just gave you a quick link to their tableau dashboard where they visualized your own product catalog and they found some cool insight. I sure as hell would want to talk to that person, regardless of their educational background or if they're five years or two years of experience. I'm like, whoa, this person cares. And some people are like, nick, that's a lot of work to get a job at Sephora. But let's be honest. Procter and Gamble, Unilever, Estee Lauder, they're all going to be about it, too. You know, any online e commerce retailer, Nordstrom, Walmart, they're all going to be like, whoa, you analyzed a company's product catalog and found insights. I guess you seem into product analytics and e commerce, so why don't you come talk to us here at H and M or Old Navy, probably writing.
A Cover letter takes equal the amount of time as well.
Yeah. And honestly, I think these days cover letters, man, are kind of on their way out, I think.
But like, I hope so.
The idea of the COVID letter of like pitching yourself is a good one. I think that's almost what cold emails are nowadays. But cover letter, you're never like linking to something and you're never like dropping an image. But like in a cold email, you should take a screenshot of your tableau dashboard and then make that linkable. So they're like, oh, look at this image. And they click on it. Of course I'm gonna click on that image. It's like an image. Of course I want see that. And it takes one second. So that's a new cover letter, I think.
Yeah, 100%. And speaking of clicking and linking, what are the different ways that you can host a portfolio projects? What are the different tools you can use?
Yeah, people don't know how far no code tools have come along. Yeah, sure, I know how to build websites. I'm a software engineer by training. But I use Webflow, a no code tool, to host my website. Right. GitHub has GitHub Pages, which is again, you don't have to pay any money to host a website. You don't need to own your own domain name or do anything fancy. As long as it's up there on the Internet and public, you're good to go. GitHub readmes are also good and I've noticed, Adele, like a lot of GitHub readmes suck again. They forget about the visual. I'll give you an example. I just saw a company post on Hacker News, this API to turn a PDF into an image that looks like it was scanned in. Okay, now that seems very niche. Like why would you want a good PDF to look like it was scanned, but I could see myself with like the book or something. I don't want to send someone a scan of my book, but if I wanted them to think it was a scan, I would use their API and I would, you know, turn my big 300 page PDF into like a scan thing to make it look like it was scanned. Okay. It's a very niche use case. But the point was, Adele, they had zero images on their readme. They had zero. It was just like, here's your API endpoint. And I couldn't for the life of me find what it would look like if I could get their thing scanned. Like, I couldn't see. Give me this, and this is what I'll output. So Even a company like that, it's trying to sell this thing, and they have not a single example. Man, people really suck when it comes to these readmes and explaining their code. They just link to their GitHub repo and they're like, oh, here's seven files and 7,000 lines of code. When in reality it's like, can you just show me one image or two? But ultimately, the point is no code. Tools are your friend. There's a lot of ways to host your work for free or very low cost. And it makes a world of difference in setting you apart and especially on.
Creating the aura of professionalism and being able to present even a variety of projects that could be relevant for a particular employer.
Exactly, Exactly. And when some companies say, hey, do you have version control skills? Do you know GitHub? But it's like, oh, here's my GitHub. README. Another one is a lot of companies look for visualization skills or dashboarding skills with tableau or power bi, but you can make a free public tableau dashboard. So it's like, okay, forget about telling you, oh, I have a cert in tableau, or I have two years tableau experience. It's like, by the way, here's my tableau. And then you just click it and say, oh, wow, this is pretty cool.
Yep. That's awesome. So, Nick, as we close out our episode, do you have any final words before we wrap up today?
Sure. I mean, I know that Adele, for a lot of the listeners at home, this sounds like a lot of work. And spoiler alert, it is a lot of work. But I think that the mindset should be like, look, break it down into smaller pieces, and it's not so bad. Break it down into just being a weekend project or a Saturday project. It's not so bad. And finally, yes, there's a lot of nuance to this, like, oh, I want to look for impact and visuals and this and that. But don't get overwhelmed. The biggest thing is just starting because again, as I had said in the middle of the talk, like, a lot of people just don't have portfolio projects, or if they do, they never made it public. So just by having your thing public, even if it sucks and it's public, you are better off than most people who just list something on their resume. But I can't ever prove that they ever did it because they don't have any place for me to even check out their work. So I think that's the final word I want to leave people with is that the bar is surprisingly low because again, I hate to be that person, but half the people listening to this podcast are going to be like, yeah, this was great, I learned a lot. And they're not going to make a portfolio project, so just know that that's just how the world works. And I've done this thing, I've done a similar talk and I've coached so many people and the bar is low. So if you're about it and you're a beginner, you don't know deep learning or some fancy skills, but you have that grit and that drive to actually get this work done, it's going to pay dividends because the bar is low and most of your competition just simply will not do the work in the first place.
That's awesome. Thank you so much, Nick, for coming on the podcast.
Thank you so much for having me as well.
You've been listening to Data Framed, a podcast by datacamp. Keep connected with us by subscribing to the show in your favorite podcast player. Please give us a rating, leave a comment and share episodes you love. That helps us keep delivering insights into all things Data.
More from Richie
#359 My Best Friend is AI with Valerie Tiberius, Professor of Philosophy at University of Minnesota
#358 How AI Agents Will Work While You Sleep | Ruslan Salakhutdinov, Professor at Carnegie Mellon
#356 The Forecast for Time Series Forecasts with Rami Krispin, Senior Manager of Data Science at Apple
#355 AI's Impact on Databases with Shireesh Thota, CVP of Databases at Microsoft
#354 Beyond BI: Decision Intelligence with Graphs with Jamie Hutton, CTO at Quantexa
#352 AI Agents at Work: What Actually Breaks (and How to Fix It) with Danielle Crop, EVP Digital Strategy & Alliances at WNS
#351 Will World Models Bring us AGI? with Eric Xing, President & Professor at MBZUAI
#350 How to Make Hard Choices in AI with Atay Kozlovski, Researcher at the University of Zurich
#349 From AI Governance to AI Enablement with Stijn Christiaens, CEO at Collibra