A little over a decade ago, I was a college graduate with a history degree and few prospects. Then, I became a successful machine learning engineer, data science consultant, and now CEO of Dataquest. Show
This is not an overnight success story, though. My journey to learn Python was long, inefficient, and frequently discouraging. If I could do it over again, I would follow the steps I’m going to share with you in this article. It would have fast-tracked my career, saved thousands of hours of wasted time, and prevented a lot of stress. This guide will show you how to learn Python the right way. Step 1: Understand Why Most FailLearning Python doesn’t have to be a difficult. In fact, If you’re using the right resources, it can actually be easy (and fun). The Problem With Most Learning ResourcesMany of the courses out there make learning Python more difficult than it has to be. To illustrate my point, I’ll give you a personal example. When I first started learning Python, I wanted to do the things that excited me, like making websites. Unfortunately, the course I was taking forced me to spend multiple months on syntax. It was agony. Throughout the course, Python code continued to look foreign and confusing. It was like an alien language. It’s no surprise I quickly lost interest. Regrettably, most Python tutorials are very similar to this. They assume you need to learn all of Python syntax before you can start doing anything interesting. Is it any wonder most people give up? Instead of wasting time on these mundane tasks, you could be experiencing the real thrills of Python. Think analyzing data, building a website, or creating an autonomous drone with artificial intelligence! An Easier WayAfter many failed attempts, I found a process that worked better for me. In fact, I believe this is the best way to learn Python programming. First, I spent as little time as possible memorizing Python syntax. Then, I took what I learned and immediately dove headfirst into a project I actually found interesting. Following the steps outlined below is not only more fun, but it allows you to learn at an incredible rate! In fact, this better way of learning is why I built Dataquest. Our data science courses will have you building projects immediately with minimal time spent doing the boring stuff. Check out our courses here. Signing up is free. Step 2: Identify What Motivates YouHere’s the good news: Anyone can reach a high level of proficiency in Python with the right motivation. As a beginner, I struggled to keep myself awake when trying to memorize syntax. However, when I needed to apply Python fundamentals to build an interesting project, I happily stayed up all night to finish it. What’s the lesson here? You need to find what motivates you and get excited about it! To get started, find one or two areas that interest you:
Step 3: Learn the Basic Syntax, QuicklyI know, I know. I said we’d spend as little time as possible on syntax. Unfortunately, this step can’t be skipped entirely. Here are some good resources to help you learn the Python basics without killing your motivation:
I can’t emphasize this enough: Learn what syntax you can and move on. Ideally, you will spend a couple of weeks on this phase, but no more than a month. The sooner you can get to work on projects, the faster you will learn. You can always refer back to the syntax later, if necessary. Quick note: Learn Python 3, not Python 2. Unfortunately, a lot of “learn Python” resources online still teach Python 2. But Python 2 is no longer supported, so bugs and security holes will not be fixed! Step 4: Make Structured ProjectsOnce you’ve learned the basic Python syntax, start doing projects. Applying your knowledge right away will help you remember everything you’ve learned. It’s better to begin with structured projects until you feel comfortable enough to make projects on your own. Here at Dataquest, we’ve strategically included structured projects in virtually all of our Python courses. That way, you can immediately apply what you’ve learned. Here are some examples of actual Dataquest projects. Which one ignites your curiosity?
Inspiration for Structured ProjectsWhen it comes to structured projects, there is no one right place to start. The best resources for you will depend on what motivates you as well as what your goals are for Python programming. Are you interested in general data science or machine learning? Do you want to build something specific like an app or website? Here are some recommended resources for inspiration, organized by category: Data Science / Machine Learning
Mobile Apps
Websites
Games
Invent Your Own Computer Games with Python — A book that walks you through how to make several games using Python. An example of a game you can make with Pygame. This is Barbie Seahorse Adventures 1.0, by Phil Hassey.Hardware/Sensors/Robots
Scripts to Automate Your Work
Projects are crucial. They stretch your capabilities, help you learn new Python concepts, and allow you to showcase your abilities to potential employers. Once you’ve done a few structured projects, you can move on to working on your own projects. Step 5: Work on Python Projects on Your OwnAfter you’ve worked through a few structured projects, it’s time to ramp things up. You can speed up your learning by working on independent Python projects. Here’s the key: Start with a small project. It’s better to finish a small project rather than embark on a huge project that never gets completed. 8 Tips for Discovering Captivating Python ProjectsI know it can feel daunting to find a good Python project to work on. Here are some tips to finding interesting projects:
17 Python Project IdeasNeed more inspiration? Here are some extra ideas to jumpstart your creativity: Data Science/Machine Learning Project Ideas
Mobile App Project Ideas
Website Project Ideas
Python Game Project Ideas
Hardware/Sensors/Robots Project Ideas
Work Automation Project Ideas
The key is to pick something and do it. If you get too hung up on finding the perfect project, you run the risk of never starting one. My first independent project consisted of adapting my automated essay-scoring algorithm from R to Python. It didn’t end up looking pretty, but it gave me a sense of accomplishment and started me on the road to building my skills. Remember: obstacles are inevitable. As you build your project, you will encounter problems and errors with your code. Here are some resources to help you. 3 of the Best Python Resources for Getting UnstuckDon’t let setbacks discourage you. Instead, check out these resources that can help:
Step 6: Keep Working on Harder (and Harder) ProjectsAs you find success with independent projects, keep increasing the difficulty and scope of your projects. Learning Python is a process, and you’ll need momentum to get through it. Once you’re completely comfortable with what you’re building, it’s time to try something harder. Continue to find new projects that challenge your skills and push you to grow. 5 Prompts for Mastering PythonHere are some ideas for when that time comes:
Going Forward with PythonRemember, Python is continually evolving. There are only a few people in the world who can claim to completely understand Python. And these are the people who created it! Where does that leave you? In a constant state of learning and working on new projects to hone your skill. Six months from now, you’ll find yourself looking back on your code and thinking about how terrible it is. Don’t despair! When you get to this point, you’ll know you’re on the right track. If you’re the type of person who thrives with minimal structure, then you have all you need to start your journey. However, if you need a little more guidance, then our courses may help. I founded Dataquest to help people learn quickly and avoid the things that usually make people quit. You’ll be writing actual code within minutes and completing real projects within hours. If you want to learn Python to become a business analyst, data analyst, data engineer, or data scientist, we have career paths that are designed to take you from complete beginner to job-ready in months. Or, you can dip your toe in the water first and test-drive our introductory Python course here. Common Python QuestionsIs it hard to learn Python?Learning Python can certainly be challenging. However, if you take the step-by-step approach I’ve outlined here, you’ll find that it’s much easier than you think. Can you learn Python for free?There are lots of free Python learning resources out there. At Dataquest, for example, we have dozens of free Python tutorials. You can sign up for our interactive data science learning platform at no charge. There is one downside to learning for free: To learn effectively, you’ll need to patch together several free resources. This means you’ll spend extra time researching what you need to learn next and how to learn it. Premium platforms may offer better teaching methods (like the interactive, in-browser coding Dataquest offers). They also save you the time of having to find and build your own curriculum. Can you learn Python from scratch (with no coding experience)?Yes. Python is a great language for programming beginners because you don’t need prior experience with code to pick it up. Dataquest helps students with no coding experience go on to get jobs as data analysts, data scientists, and data engineers. How long does it take to learn Python?Learning a programming language is a bit like learning a spoken language — you’re never really done! That’s because languages evolve, so there’s always more to learn! Still, you can master writing simple-but-functional Python code pretty quickly. How long will it take to get job-ready? That depends on your goals, the specific job you’re looking for, and how much time you can dedicate to study. Dataquest learners we surveyed in 2020 reported reaching their learning goals in less than a year. Many did it in less than six months. And that’s with no more than ten hours of study per week. How can I learn Python faster?Find a platform that teaches Python (or build a curriculum for yourself) specifically for the skill you want to learn (e.g., Python for game dev or Python for data science). That way, you’re not wasting time learning things extraneous to your day-to-day Python work. Do you need a Python certification to find work?Probably not. In data science, certificates don’t carry much weight. Employers care about skills, not paper credentials. Translation? A GitHub full of great Python code is much more important than a certificate. Should you learn Python 2 or 3?Python 3, hands-down. A few years ago, this was still a topic of debate. Some extremists even claimed that Python 3 would “kill Python.” That hasn’t happened. Today, Python 3 is everywhere. Is Python relevant outside of data science/machine learning?Yes. Python is a popular and flexible language that’s used professionally in a wide variety of contexts. We teach Python for data science and machine learning. You can apply your Python skills in another area, though. You’ll find that it’s used in finance, web development, software engineering, game development, and more. Having some data analysis skills with Python can be useful for a wide variety of other jobs, too. If you work with spreadsheets, for instance, chances are there are things you could be doing faster and better with Python. There’s really no end to Python’s reach. Be part of the revolution. Ready to get started? Discover more about how Dataquest can help you learn Python online and sign up today with no risk. |