There is no Best Way to Learn Data Science: Here’s What you Actually Need to Know

Advice From a Novice Programmer

Anissah Abbas
Towards Data Science

--

A wet dog standing on a surfboard
Photo by Mia Anderson from Unsplash

Data science is a big field. Almost as large is the abundance of resources available to help you learn it. This article is all about taking a step back and rethinking your process, rather than your tools. From someone who recently delved into the world of data science, here is what I think you should focus on before and throughout your journey.

Before You Start: Learn How to Learn

Take some time to learn how to learn and what techniques work best for you. This may seem like a waste of time when you could be learning algorithms instead, but it’s not. A short investment into learning about learning at the start of your journey will pay off in the long run. You’re going to be in charge of designing your entire curriculum, so you need to understand how best to do that.

If this is your first big self-directed project, then you need to take time to plan accordingly. Doing your research beforehand and making a plan will give you the best chance of success. You’re also going to want to take into account your time management skills and current habits. It’s one thing to understand the best learning techniques, but you have to be able to use them too. This is where time management and good habit formation come in. Along with building a curriculum, you’re also going to have to structure your days and study habits. You won’t have anyone looking over your shoulder and telling you what to do and when to do it. So you have to make sure to put systems in place that ensure that you are following your plan.

I recommend watching the course “Learning How to Learn” on Coursera or reading the book Ultralearning by Scott H. Young (or both!). These will help better your understanding of how our brains work when learning a new topic and how best to do so. For time management and habit forming, I would recommend the books Atomic Habits by James Clear and Make Time by Jake Knapp and John Zeratsky. Feel free to use these resources or any others instead that you think would help achieve the same purpose.

Experiment, but Not Too Much

Once you’re ready to start learning data science, experiment. It’s good to try out different resources and learning styles to figure out what works for you. Between online courses, textbooks, websites like FreeCodeCamp, there are so many paths you can take. And you might not know which one is the best for you until you test out a few.

So take some time to experiment, but once you find something that works, stick with it. Trust the process. Most of these courses, especially at the beginning, are all teaching the same thing and will all get you to the same endpoint.

Don’t make the mistake of reading 3 books before you get started on an actual project, because by the time you start your project, you won’t remember anything you read in those books! Or don’t abandon one resource that’s working for another one that looks better. My biggest regret is getting halfway through a good data science MOOC from Udemy and then switching to another almost identical one. I was convinced that this second MOOC was better and that I would learn more. I thought it would be beneficial, but really I just learnt the same information twice. And having taken two courses on the same topic proved to be no help during my first project later on.

Learn by Doing

At the end of the day, the resources you choose don’t matter so much. And that’s because resources will not be where most of your learning comes from. The majority of your learning should come from projects. And while you’re working on these projects, no matter what resource you use, you’re going to have to look things up. That’s what programming is all about.

You won’t remember everything you learnt about NumPy from that Bootcamp you took, and that’s okay. Once you start working on projects, you’ll have to figure out how to put together everything you’ve learnt so far. You’ll also have to look up a lot of stuff that you haven’t learnt yet or maybe didn’t even think that you had to learn. This is where the real learning happens. When you’re actually applying what you’ve learnt for a specific purpose.

Get Used to Googling

A lot of learning how to program is actually learning how to ask questions. You shouldn’t be memorizing every function, you should focus on learning how to think like a programmer because when you’re working on a project, you can google any questions you have. The key is knowing which questions to ask and being able to understand the answers. So don’t waste your time memorizing functions, just make sure you understand how you can use the language you’re working with. You can google any specifics later.

What’s great about the programming world is that people love to help. When you get stuck, you can actually post your code on Stack Overflow asking for help and people will answer you. But you have to make sure they understand what you’re asking. To do that, you have to make sure that you understand your code first and can explain it to someone who’s never seen it. That, and be able to ask the right question. If you post a block of code that says ‘why isn’t this working?’, versus a block of code with a specific question, which one do you think will get more responses?

A dog raising their paw
Photo by Camylla Battani from Unsplash

Always keep this in mind when you’re programming. If you really want to make sure you understand a topic or a specific code, try using a form of the Feynman technique. Basically, pretend you’re explaining the concept to a 6th grader. You can experiment with writing it out or just speaking it out loud, depending on your mood or the topic. This will help test your understanding and if you’re able to do it confidently then you’re on the right path! Pro tip: try explaining a programming topic to a friend who’s never coded before and see if they understand the idea. Bonus points if they can then explain it back to you.

Get Help From Others

One of my absolute favourite ways to get help is from discords. Discords are a great place to get feedback on your code. Just like stack overflow, if you send some code with a problem, people will read it and help out. But this time in a messenger format so it’s usually a bit faster. Even if you’ve coded something and that you’re happy with, try sending it anyway and ask for some feedback. Other people may be able to see something that you didn’t and your code can get that much better.

Check out this article to find a list of discords to join:

Staying Accountable Throughout Your Journey

The process of learning how to learn should not end when you start coding. I recommend taking five minutes at the end of each day to reflect on how it went. Take note of anything you did differently and if that affected your work in any way. For example, if you notice that you work better when you wake up earlier, note that down. Keep track of your energy levels and how focused you feel to find what works best.

Use these notes to see how you can continuously improve your days. It may sound tedious, but it will have a great impact on the rest of your days. Plus, it might be kind of fun to notice how small changes can affect your work.

It’s important to do this when learning something new because learning requires a lot of brainpower and our brains are not always under the right conditions for learning. By recording when and how you do your best work, you’ll be able to figure out what the best learning conditions are for you and how you can replicate them.

Conclusion

If you take the time to map out a plan and stay consistent with your work, then you’ll get there. You might not get there in the most efficient time possible, but you will get there. You’re going to learn more about this field every step of the way, even when you think you’re done learning. So make sure to try new things, ask for help and keep track of your progress. The path you start on won’t be perfect, but as long as you keep finding ways to improve the process and keep up your momentum, you have every reason to trust the process and keep learning.

--

--