Hey friend,
When I first started learning Python I went all about it wrong.
Machine learning was very popular at the time so I thought I’d go right into the fun stuff and learn how to build some algorithms with Python.
Let’s just say that set me back quite a bit in actually learning how to code in Python and I didn’t actually learn any machine learning either because I would just copy and paste stuff I found.
I was basically just learning how to copy code and wasn’t learning the core concepts that are really needed for Python.
According to the Tiobe Index, Python is currently the number one ranked programming language.
And it’s not a surprise either.
Python is one of the easiest to learn and one of the most powerful languages out there.
With Python, you can build and do:
software applications
AI models
backend applications
APIs
dashboards
data analytics
and a lot more
It’s an important skill and language to learn for anyone that wants to get into a data-related career like sports analytics.
1. Learn the fundamentals
Many people (including myself in the previous story) skip learning the basic fundamentals.
Learning how things work.
If you skip this step you are setting yourself up for a difficult time later down the road and putting yourself at a disadvantage.
When you run into a bug, you won’t know exactly why that bug exists or how to actually solve that bug.
You will have a difficult time learning more advanced concepts in Python because the base concepts are lacking.
To learn the fundamentals of Python, I suggest taking a beginner’s course such as one from Udemy or just one on YouTube.
This will teach you how to get started with the language and how it works.
You’ll be able to learn the core concepts here in a structured format.
If you know a little Python or are done with the beginner’s course, take a more advanced course related to a topic that interests you.
This could be something focused specifically on “Python for Data Analytics”.
Or you could take my Football Analytics in Python Course.
To really hammer it in, you want to take something that is going to build on top of what you learned in the first one and something that keeps your interest.
The important part here is that you don’t keep taking the same beginner courses over and over.
This is what we call “tutorial hell”.
The best way to escape tutorial hell is to build projects.
2. Build projects
Building projects helps you to retain information and skills better than a course because you have to implement it yourself.
For example, I learned Python by analyzing my favorite team FC Barcelona.
This taught me and helped me learn how to use data, different packages for analysis in Python, and some basic Python code.
When you do a project you’re going to work on your problem solving skills since you aren’t just copying and pasting from a tutorial.
You’ll have to Google for help, use ChatGPT, and get feedback from others to figure out the eventual problems you’ll come across.
Projects also help you think and work like an analyst and developer.
When you build projects you’ll learn how to think in code, and the logic computers use is different from how we think.
Here are a couple of ideas for some beginner projects if you’re stuck.
Simple rock, paper, scissors game
A web scraper
Password generator
An analysis of your favorite team or sport
These projects don’t need to be complex at first, but you should try to learn something new with every project you create.
With every project you build, you’re going to learn and reinforce Python skills and core concepts.
It’s important to keep building your core knowledge as well as trying to learn new things each time.
3. Repeat the cycle
Once you’ve done a course and built a project, the next step is to repeat the process.
Either take a more advanced course and build a project around that, or if you are done with courses you can start to just build more advanced projects and learn by doing.
The key is to be consistent with your practice.
I’ve been coding basically every day for the past 7 years whether that is for personal projects or work.
I’m still learning new things and staying consistent is one of the main ways I’ve been able to become a lot better at Python over the years.
I want to also add to this that “fast” can mean something different for a lot of people.
If you’ve never worked with code or development, it might take you longer than someone who has been coding just in a different programming language.
Don’t get frustrated if you aren’t a wizard in 1 day. It took me a couple of years but I went about it wrong.
Hopefully, these tips can help you learn a lot faster and better than I did.
Until next time,
McKay