If you’re ready to start learning Python, then things are about to get seriously exciting.

But where to begin?

In fact, you might be asking yourself “How the heck do I even start?!”

Luckily, learning Python is

a) just like learning anything else


b) totally doable

Perhaps one of the most important things is learning how to learn. Sounds crazy, right?

But if you simply learn how to unpack seemingly difficult problems and apply logic to different challenges, you’ll find that complicated things actually become super straight forward.

Put these together and you become invincible. I mean, not literally invincible, BUT definitely within the sphere of learning how to code effectively. Basically, once you learn Python you’ll be able to pick up other programming languages with ease.

Just do it

Often the hardest part of undertaking any new task is just getting started.

We’ve all been there.

Putting off doing something is easy, actually pushing yourself and trying something new (and challenging) is hard.

Sometimes it feels scary. Sometimes we don’t feel like we’ve got the time or space to do it.

Here’s the thing though, nothing in the universe happens without energy so if you’re cool with that, rock on.

If however, you want to create something amazing, to push yourself further and unlock doors you didn’t even know existed (in fact,  some of the doors don’t even exist yet), then getting started right now is what it’s all about.

Whatever your reasons are for not starting before today don’t matter, all that matters is that you make the commitment to change that mindset from now on so you can transform yourself into something incredible.

Just start. Now.

If you haven’t already, go ahead and install Python. Instructions are here. You might also want to read up on the basics of Python.

Don’t worry, I’ll wait ☕

Code everyday

It’s no secret that doing something every day is the key to getting top notch skills.

Practice makes perfect after all, so if you’re serious about becoming a machine learning superstar then it’s important to make a daily commitment to working on your craft.

Dedicating a specific time (and place!) to practice your Python programming and coding skills means that not only are you prioritising yourself, but it’s also more likely that, even when life gets crazy, you’ll actually be able to stick with it every.single.day.

Even spending just 20 minute a day is gold when it comes to building your new skills.

Also, when it comes to coding, one of things that matters most is the ability to form muscle memory. Just like with typing, your hands and brain need to communicate between what letter you want to type (🧠) and where the key sits on your keyboard (🖐️). The faster you get and the fewer mistakes you make the more confident you’ll feel and the more pro you’ll become.

Take notes

When I first started learning Python I had a really hard time remembering everything.

There seemed to be so many different elements involved, most of which were foreign to my non-computer science brain. Plus, I was really busy with my IRL life which meant my mind was often in many different places at once.

Since coding is by it’s nature inherently tied to computers, I thought I had to actually do everything on the computer. It wasn’t until I started taking notes by hand that I began learning more quickly and actually remembering most of it.

The benefits of writing notes by hand are well documented and once you start working on small projects, sketching out your code before moving to the computer can actually save you a lot of time and frustration.


It’s one thing to read about a concept and an entirely different thing to actually do it. So when you’re learning to code you should take every opportunity to get your hands dirty and implement Python code IRL.

Even if it’s just running snippets, the more you interact with the language and the various associated tools, the better you’ll understand how to think computationally (like a computer). Coding is about making your computer do cool things, after all.

There are two quick ways to begin messing around in Python – Notebooks or IDLE. Notebooks lets you run code from within your browser while IDLE is a piece of software that comes with Python when you install it on your computer. You can learn more about the two in detail here.

Join the club

It’s probably no surprise that there are a lot of people out there learning to code in various languages. Like thousands.

Isn’t it time to join in?

Find some code pals

Coding might seem like a pretty solitary activity but it’s actually way better together.

Finding someone else that’s working through the same stuff you are and probably having the exact same problems means that you can share your skills and learn quicker.

Plus surrounding yourself with other people who want to learn Python or machine learning means you’re more likely to accomplish your own goals. Accountability buddy, anyone? 🙋

It’s cool if you don’t know anyone. That’s where the internet comes in. Search for local events or meetups. Or find people that look cool on social media and just say hi.

Teach others

Fact: teaching other people is one of the best ways to prove that you’ve learnt something. It’s true.

Another benefit of teaching others is that they will almost certainly ask questions that prompt you to think more critically about what you’ve learnt, encourage you to learn more, or highlight areas you need a bit of work.

So when you learn new concepts in Python why not teach someone else? It could be your code pal, your partner, your best friend, your dog. Anyone who will listen.

You can also write blog posts explaining what you’re working on or record videos of yourself talking through some swish new concept that you’ve just learnt.

It doesn’t really matter how, as long as you do it.

Ask questions (a lot)

There is literally no such thing as a dumb question. The most important thing is to always ask. No matter how silly it might seem.

As someone who’s asked a ridiculous number of questions myself, I can assure you that someone else will always be wondering the same thing.

While there’s no such thing as a bad question, you can always ask questions in a better way.

When it comes to coding there are a few things to include in your question so that other people can better help you and provide the most useful answer. This is particularly important when you ask questions on the internet.

Here are some tips on asking good questions:

  • Clearly describe your problem and give context on what you’re trying to do.
  • Make sure you also outline the things you’ve already done to try and fix the problem.
  • Include the code, error message, and an explanation of the steps you executed when the error happened.
  • Offer suggestions on what you think the problem might be. This helps other people better understand what you’re thinking.

A well constructed question can save you a lot of time by providing all of the background info up front. It will also cut down on the number of back and forth messages whether it’s in a forum, over email, or in person.

Show off

What’s the point of doing all of this work if you don’t claim bragging rights?

Now’s the perfect time to show off your new skills and maybe even get some 💰💰💰 in the long run.

Build something

Once you get the hang of Python you can start building cool stuff.

It helps if, at this point, you understand basic data structures (like strings, lists, dictionaries, and sets), a little bit about object-oriented programming, and how to write classes – and luckily, understanding these concepts is what this site is all about.

What you make doesn’t really matter. It’s all about the journey.

By working on a project that you’re interested in, you’ll not only be motivated to complete it but also you’ll learn far more about hands-on Python coding than you ever would if you just read books or tutorials.

Making and owning something is always 💯

Looking for ideas on what to build? Check out these tutorials to get started.

Contribute to open-source

In the world of programming, open-source means something is publicly available and anyone can collaborate. Lots of Python libraries are open-source and some companies even publish open-source projects.

If you’re feeling adventurous, why not throw your newly developed skills into improving some open-source projects? It’s a great way to get on-the-ground experience and feedback. And maybe even meet a new code pal along the way.

Create a portfolio

If you’ve worked hard on creating Python projects that you’re proud of, you’re obviously going to want a place for these projects to live. Enter the awesome portfolio.

A portfolio is a collection of your best work. It can show how you’ve progressed, what you’re interested in, and also the kind of work you want to do. It’s also a requirement if you want to apply to any kind of technical or creative job. Having a good portfolio is also a great idea if you’re interested in doing any kind of coding work on the side of your regular job.

Even if you aren’t learning Python to expand your career, it’s still nice to have something to show off so that everyone knows how boss you are.

Ideally portfolios live online so other people can see them (duh) which means odds are you’re going to want to get yourself a portfolio website.

You can build your own using html and css or buy a nice looking theme that does all the hard work for you.