How to learn data science on your own: a practical guide


If you’ve ever worked from home, you know that it’s not the magical, liberating experience most people imagine. Keeping your focus and morale up and keeping colleagues in the loop aren’t as easy as most people assume. But fortunately, the work-from-home problem has gotten a lot of attention: you can find plenty of blog posts and podcasts dedicated to it, with all kinds of great, actionable advice.

But there’s a closely related problem that doesn’t get nearly as much love, and that’s the challenge of learning from home. Learning from home is very different from working from home, because it’s self-directed (you don’t have a boss telling you what you *must* learn) and — especially in data science — it’s open-ended (there’s no limit to how much you can learn, so it’s hard to know when to stop).

With more MOOCs, online bootcamps and free learning resources out there than ever, this is becoming an increasingly important issue to address, and I’m going to do just that in this post.

Some context: my company runs a data science mentorship program designed with a remote-first philosophy in mind, and a large fraction of our effort goes into making sure that our mentees don’t feel the pain that otherwise comes with remote learning. I’m hoping that the lessons we’ve learned might be helpful to others, so I’ve compiled them here.

Common problems and how to solve them

Problem: I’m losing focus, and I’m finding it hard not to get distracted.

Solution: This is a common problem, but there are actually quite a few things you can do to avoid distractions, and stay on task.

→ Log out of social media after each use. This won’t turn your usage down to zero, but forcing yourself to log in each time you use Twitter or Instagram will make you more conscious of the way you’re using your time.

→ Don’t work from home. Instead, try a coffee shop, a public library, or a co-working space. Clearly separating your “work” space and “home” space can help you track of the time that you’re actually spending on your projects and MOOCs, and enter a more focused frame of mind when you do.

→ Find someone to work with. Bonus points if it’s another aspiring data scientist or developer, but almost anyone will do. Agree to track one another’s goals to keep each other honest. Note: your study buddy doesn’t even have to be physically present — an open videochat can work, too.

→ Read up on some productivity hacking literature. Books like Atomic Habits, and posts like this one are some great starting points.

Problem: I’m not making enough progress, and I’m having trouble with motivation.

Solution: It’s always possible that the timeline you’re shooting for is unrealistic, and that’s the first possibility you should consider (completing a career transition to data science can take months or even years). Beyond that, the key to staying on track is accountability.

→ Set explicit learning goals. Aim for short-term goals (“Here’s what I want to do today”), which can be scoped out more realistically.

→ Commit to your goals publicly. Keep your Twitter followers or LinkedIn connections up to date on your progress (if you don’t have Twitter or LinkedIn, sign up). If you can, reach out to an industry professional, and ask them if you can keep them in the loop on your latest work with a weekly newsletter. This is a pretty easy way to give yourself some extra motivation to make sure you have something to show for each week’s work, and doubles as a great way to grow your professional network.

→ Try to set up your project so that it will result in an output that feels significant to you. Aim to deploy it as a Flask app for your friends to play with. Plan to write it up as a blog post. Prepare a presentation on it for a local meetup. A focus on producing concrete, tangible outputs can be a great motivator.

Problem: I don’t know when to move on.

Solution: This is an especially big problem in data science, where projects can be unusually open-ended. How good is good enough for your model? How can you know when you’ve finished the data exploration step? Should you try another encoding strategy?

→ The best projects are designed as products, with a specific target audience, and a specific use case in mind. Decide ahead of time who you’re building your project for, and keep your focus on building something that would be useful to them. Do your data exploration with that purpose in mind: what insights could you get from exploring your data, that would result in a better product?

→ Decide on your success criteria (what you want to learn, how well your model should perform, etc) ahead of time. Most industry projects have an explicit scope, and yours should have one too.

→ Time-box your project. Before you start working on it, set yourself an explicit deadline to complete it. This has the added benefit of simulating the time constraints and triage decisions you’ll face as a professional data scientist.

Problem: I don’t know where to start.

If you’re very early on, the first thing you need to do is figure out where your interests lie.

→ Take a free MOOC (you can find a bunch here). If you’re just getting started, focus on something that lets you build your Python skills, and that introduces you to Jupyter notebooks, scikit-learn, and pandas.

→ Once you’ve done that, ask yourself: what kind of data scientist do I want to be? Of course, you’ll want to know about the options you have, and that’s why I wrote this post.

→ Get some perspective on the path ahead. Talk to people who’ve made similar career transitions, and ask them about what they did to make it happen. I’d also recommend checking out this post about the most common data science career transitions I’ve seen, since chances are, your case will be among them.


Leave a Comment