# Learn Data Science With Dataquest

There’s no doubt about it: data scientists are in high demand. As of 2019, the average data scientist in the US makes over $117,000 a year, and data scientists in San Francisco make over $142,000. Learn data science and you could find yourself working in this promising, well-compensated field.

But even if you’re not interested in becoming a data scientist, learning data skills and improving your data literacy can pay big dividends in your current career. Employees who have data skills and can help their companies become more data driven are in demand across almost any industry.

## How to Learn Data Science

So how do you start to learn data science? The response to this question tends to be a long list of courses to take and books to read, starting with linear algebra or statistics. I went through this myself a few years ago when I was learning. I had no programming background, but knew that I wanted to work with data.

I can’t fully explain how immensely demotivating it is to be given a huge list of resources without any context. It’s akin to a teacher handing you a stack of textbooks and saying “read all of these.” I struggled with this approach when I was in school. **If I had started learning data science this way, I never would have kept going.**

Some people learn best with a list of books, but I learn best by building and trying things. I learn when I’m motivated, and when I know why I’m learning something. From my conversations with new learners over the years, I know many other learners feel the same way. There’s some science behind this, too. Studies tend to show that most people learn best by doing.

Plus, there’s another big advantage to this approach. When you learn this way, you come out with immediately useful skills.

That’s why I don’t think your first goal should be to learn linear algebra or statistics. If you want to learn data science or just pick up some data science skills, your first goal should be to learn to love data. Interested in finding out how? Read on to see how to actually learn data science.

*An example of a data visualization you can make with data science (via The Economist).*

## 1. Learn to love data

Nobody ever talks about motivation in learning. Data science is a broad and fuzzy field, which makes it hard to learn. Really hard. Without motivation, you’ll end up stopping halfway through and believing you can’t do it. When this happens, **the fault isn’t with you — it’s with the teaching.**

You need something that will motivate you to keep learning, even when it’s midnight, the formulas are starting to look blurry, and you’re wondering if neural networks will ever make sense.

You need something that will help you find the linkages between statistics, linear algebra, and neural networks. Something that will prevent you from struggling with the “what do I learn next?” question. You need motivation. Not in the form of an inspiring quote, but in the form of a passion project you can use to drive your learning.

My entry point to data science was predicting the stock market, although I didn’t know it at the time. Some of the first programs I coded to predict the stock market involved almost no statistics. But I knew they weren’t performing well, so I worked day and night to make them better.

I was obsessed with improving the performance of my programs. I was obsessed with the stock market. That was my motivation.

And as I worked, I was learning to love data. Because I was learning to love data, I was motivated to learn anything I needed to make my programs better.

Not everyone is obsessed with predicting the stock market, I know. But it’s important to find that thing that makes *you* want to learn.

It can be figuring out new and interesting things about your city, mapping all the devices on the internet, finding the real positions NBA players play, mapping refugees by year, or anything else. The great thing about data science is that there are genuinely *infinite* interesting things to work on. It’s all about asking questions and finding a way to get answers — and you can ask any question you want.

Take control of your learning by tailoring it to what you want to do, not the other way around.

*A map of all the devices on the internet*

## 2. Learn data science by doing

Learning about machine learning, neural networks, image recognition, and other cutting-edge techniques is important. But most data science doesn’t involve any of it. As a working data scientist:

- 90% of your work will be data cleaning.
- Knowing a few algorithms really well is better than knowing a little about many algorithms. If you know linear regression, k-means clustering, and logistic regression well, can explain and interpret their results, and can actually complete a project from start to finish with them, you’ll be much more employable than if you know every single algorithm, but can’t use them.
- Most of the time, when you use an algorithm, it will be a version from a library. You’ll rarely be coding your own SVM implementations — it takes too long.

What all of this means is that the best way to learn is to work on projects. By working on projects, you gain skills that are immediately applicable and useful, because real-world data scientists have to see data science projects through from start to finish, and *most* of that work is in fundamentals like cleaning and managing the data.

(Working on projects as you study also gives you nice way to build a portfolio. This will be tremendously valuable when you’re ready to start applying for jobs).

So how can you find a good project? One technique to start projects is to find a data set you like. Try to answer an interesting question about it. Rinse and repeat.

Here are some good places to find free data sets to get you started:

Another technique (and this was my technique) was to find a deep problem, predicting the stock market, that could be broken down into small steps. I first connected to the Yahoo finance API, and pulled down daily price data. I then created some indicators, like average price over the past few days, and used them to predict the future (no real algorithms here, just technical analysis). This didn’t work so well, so I learned some statistics, and then used linear regression. Then I connected to another API, scraped minute by minute data, and stored it in a SQL database. And so on, until the algorithm worked well.

The great thing about this is that I had context for my learning. I didn’t just learn SQL syntax in the abstract. I used it to store price data, and thus learned 10x as much as I would have by just studying syntax. Learning without application is easy to forget. More important, if you’re not actively applying what you learn, your studies won’t prepare you to do actual data science work.

*This guy’s trying to predict the stock market, but needs some data science, apparently (via DailyMail)*

## 3. Learn to communicate insights

Data scientists constantly need to present the results of their analysis to others. Doing this well this can be the difference between an being an okay data scientist and a great one. Data analysis is typically only valuable in a business context if you can convince other people at your company to *act* on what you found, and that means learning to communicate data.

Part of communicating insights is understanding the topic and theory — you’ll never be able to explain to others something that you don’t understand yourself. Another part is understanding how to clearly organize your results. The final piece is being able to explain your analysis clearly.

It’s hard to get good at communicating complex concepts effectively, but here are some things you should try:

- Start a blog. Post the results of your data analysis. Or submit a pitch and write for Dataquest’s blog!
- Try to teach your less tech-savvy friends and family about data science concepts. It’s amazing how much teaching can help you understand concepts.
- Try to speak at meetups.
- Use GitHub to host and share all your analysis.
- Get active on communities like Quora, the Dataquest learning community, and the machine learning subreddit.

## 4. Learn from your peers

It’s amazing how much you can learn from working with others. In data science, teamwork can also be very important in a job setting. Data scientists often work as part of a team, and lone data scientists at smaller companies will typically work together with other teams at their company to solve specific problems. It’s not unusual for a data scientist to move from team to team as they work on answering data questions for different arms of the company, so being able to collaborate may be more important for data scientists than almost anyone else!

Some ideas here:

- Find people to work with at meetups.
- Contribute to open source packages.
- Message people who write interesting data analysis blogs seeing if you can collaborate.
- Try out Kaggle, a machine learning competition site, and see if you can find a teammate.

## 5. Constantly increase the degree of difficulty

Are you completely comfortable with the project you’re working on? Was the last time you used a new concept a week ago? It’s time to work on something more difficult. Data science is a steep mountain to climb, and it’s easy to stop climbing. But of course, if you stop climbing, you’ll never make it to the top!

If you find yourself getting too comfortable, here are some ideas that can add some complexity and challenge to almost any data science project. Try adding one or more of these into your plans to get yourself out of your comfort zone:

- Work with a larger data set. Learn to use spark.
- See if you can make your algorithm faster.
- How would you scale your algorithm to multiple processors? Can you do it?
- Understand the theory of the algorithm you’re using better. Does this change your assumptions?
- Try to teach a novice to do the same things you’re doing now.

That last one is a really underrated challenge, and if you give it a try, you’ll quickly see how valuable teaching can be to someone who’s trying to learn. You’ll likely come out of the experience with a much deeper understanding of the topic than you had before, and you’ll have improved your communication and explanation skills, too.

## The bottom line

This article isn’t meant to be a road map of exactly what to do. Rather, consider it as a rough set of guidelines to follow as you learn data science on your own path. If you do all of these things well, you’ll find that you’re naturally developing data science expertise. But don’t feel constricted by them! If you find a different approach that’s keeping you motivated and keeping you learning, don’t hesitate to incorporate it into your long-term plans.

I generally dislike the “here’s a big list of stuff” approach, because it makes it extremely hard to figure out what to do next. I’ve seen a lot of people give up learning when confronted with a giant list of textbooks and MOOCs.

I personally believe that anyone can learn data science if they approach it with the right frame of mind.

I’m also the founder of Dataquest, a site that helps you learn data science in your browser. It encapsulates a lot of the ideas discussed in this post to create a better learning experience. You learn by analyzing interesting data sets like CIA documents and NBA player stats. You also complete projects and build a portfolio as you work through our courses.

**Don’t worry if you don’t know how to code** — we teach both Python and R from scratch, no experience required! We teach Python and R because they’re beginner-friendly languages and because they’re the most popular languages used in real-world data science.

## Some helpful resources

As I worked on projects, I found these resources helpful. Remember, resources on their own aren’t necessarily useful — find a context for them:

- Dataquest — learn data science in your browser, complete projects, and build a portfolio.
- Khan Academy — good basic statistics and linear algebra content.
- Introduction to Linear Algebra, 4th Edition — Great linear algebra book by Gilbert Strang.
- Calculus Online Textbook — also by Gilbert Strang, great calculus book.
- Elements of statistical learning — good machine learning book.
- Andrew Ng’s Machine Learning Class — the original coursera machine learning class. Mostly video-based.
- OpenIntro Statistics — Good basic stats book.
- Google Scholar — A paper can be a great way to learn about a topic. For example, here’s Breiman’s original random forest paper.
- Statsoft statistics textbook — Good for looking up statistics concepts.

If you’re ready to tackle the topic of data science and data analytics, Dataquest can help. Start your journey today.

*This post is adapted from my Quora answer on how to become a data scientist.*