10 tips for mastering Python!


Here are my 10 tips on how to learn Python:


1. Never too old to learn

Tip number one. It's not too late, and the reason I'm putting this first is I get so many questions. I would say the largest number of questions I get are from people who want to learn and who think they've decided too late, and that they're somehow too old. And it doesn't really matter what age they are. They could be 25 or in their 30s or 40s or 50s or even in their 60s. I've had emails from all age ranges asking me this question. And the answer is you're never too old to learn. It's a fantastic skill to have. It's a superpower. It will change your life and it doesn't matter.

Age is unimportant. Just go ahead and learn it. There's an old Chinese proverb, isn't there? It goes something along the lines of when's the best time to plant a tree? And the answer is the best time to plant a tree is 15 years ago but the second best time to plant a tree is now. So just get started now. Don't worry about thinking whether you're too old or not. If you learn it and learn it well, age will not make a difference. I absolutely promise you that.

2. Computational thinking is the essence

The second tip I want to give you is that you are not learning Python. Now, I know that sounds a bit strange, and of course, you are learning it in a way. But what I mean by that is that the difficult skill to acquire isn't Python itself. It's something called computational thinking. I could make a whole video on computational thinking and if it's something that you'd like to find out a little bit more about I would suggest you search online for Jeannette Wing and her writings on computational thinking, because she explains it really well.

But computational thinking is the ability to be able to decide whether a problem can be solved by a computer and if it can be solved by a computer to work out the best way of solving it, the most optimal way of solving it. It’s also about being able to take bigger problems and break them down into smaller problems so that you can then use a programming language to translate that problem into something that a computer can understand and solve.

That is the skill and that's what you're learning. And that's why people that have already learned how to program in a different language will pick up new languages really quite easily because that is the skill that they've developed. In a way, the language is less important. Now, Python is a great language to learn because the syntax is quite easy. But when it comes to it, really, you're not learning syntax. You have to know the syntax but that's not the challenge. The challenge is learning to think computationally, and it's a really important skill, something that is being applied to more and more fields with great success. So if you can master that skill, it will stay with you in lots of different endeavors that you have and it's really worth acquiring. But of course, it's a difficult skill to acquire because, you know, it's a whole new way of thinking and it will take some time, so don't be disappointed if it takes you a while to master this, but go ahead and master it.

3. Find a learning resource and stick with it

Tip number three is find a learning resource and stick with it. Don't get distracted, so take a little time to find the learning resource that you think suits your style of learning. Find a resource that works for you and then stick with it, because it's very easy. You know, learning to program, learning Python, learning computational thinking is very challenging, it's not an easy thing to do.

And because it's challenging, it becomes quite easy to think that the reason you're not learning as quickly as you hoped you would is because somehow the learning resource that you have isn't good enough when in actual fact you're just not sticking at it long enough. So you become distracted by trying to find other learning materials, and that takes you off the track of actually achieving what you want to achieve, which is learning how to program in Python. So find one or two resources and stick with them.

4. There're free resources

Tip number four is that you can learn all of this stuff for free. So yes, there are numerous books and courses that you can pay for to learn Python, but there's a lot of material online that's free as well, so don't forget to look at that. And the best base to start, really, is the Python official documentation, so go and check that out too.

5. Move away from basics to doing projects

Tip number five would be: don't spend too long learning the basics, because this is something that's new to you and, you know, it's a difficult skill to acquire. You might feel that you need to spend longer than you actually do working on what variables are, and loops, and IF statements. What you really need to do is to move away from those basics and to work on problems, and work on projects of your own, and solve little problems that you might be able to find by searching online. That's what you need to move on quite quickly. So avoid the temptation to keep going over the basics, because the best way of really understanding the basics is to read up on them and then put them into practice.

6. Learn data structures and algorithms

Tip number six. If you're really serious about learning Python and learning to program, and you're thinking that you might want to get a job doing it, then it's really important that you learn data structures and algorithms. They won't mean too much to you at the moment, but make sure they're on your list and you know how to use them and what they are.

7. Solve lots of coding problems

Tip number seven, which is very closely related to tip number six, is to find problems and projects that require you to use data structures and algorithms, and it's really important that you understand these. There are websites like LeetCode that's very good for practicing problems, and a lot of those problems will require some knowledge of various different algorithms and data structures. So make sure that you've solved lots and lots of problems that help you to understand how to use data structures and algorithms and when to use them, and what sort of problems particular data structures and particular algorithms are good at solving.

8. Practice OOP

Tip number eight is to make sure you know how to use object-oriented programming in Python. It's quite easy, really, because everything in Python is an object, so you will have a good basis of understanding what it is even if you haven't explicitly been using it, and you know the difference between a class and an object and you can create your own classes from which to create your own objects, that kind of thing. Just practice and practice object-oriented programming.

9. Create and keep a blog

Tip number nine is to create and write a blog that keeps a record of your learning experience with Python projects that you've worked on, areas of programming and Python you found particularly challenging. It's a really good way of learning because one thing that you should do is explain certain concepts in programming in Python, you know, that you think would be helpful to an audience that wanted to learn those concepts themselves. And when you explain something, it really does help you to make sure that you've understood it yourself, and the more you explain things the better you tend to understand them.

So it's a good discipline to write a blog in order to develop your understanding of the subjects that you cover in that blog. But also from a technical point of view as well, if you write a blog that's based on Python and that uses a Django framework for example, you will learn all of the aspects of creating a website and developing your own web apps that might involve. And that would be a very useful project as well, and it also makes you very visible as far as employers are concerned. Or, you know. if potential employers have been following your blog or if you can show them a blog that you've been keeping for six months or so, it shows them that you're serious and that you know what you're doing and you know what you're talking about.

10. Learn Git and GitHub

Tip number 10, and I think this is really important as well, particularly if you're looking to try to get employment as a programmer or a developer using Python - and that is to make sure you know how to use Git and GitHub. It's also a very good way of sharing what you've done, sharing the code that you've written, again, so potential employers can see that. It's a really important skill. Version control is a really important part of the software development process, and if you're going to be looking for a job in this field it's something that potential employers will expect you to be able to do. So learn Git and GitHub.

Those are my top 10 tips. The other important thing is make sure that you practice every single day. You need to make sure that you do some coding and you learn something new every single day. Don't let a day go past when you don't learn something new or at least put something that you've learned into practice. Do a problem, learn a new concept, but make sure you do some coding every single day.

Oh and I almost forgot one other skill that you need to develop as well, and it's pretty obvious, really, It’s about finding out how to solve problems that you can't solve initially. So when you've reached the point where you can't solve a problem and you just don't know how to proceed any further, you need to be quite good at knowing how to search for ways of solving it and, you know, using Google a lot in order to be able to find similar problems or concepts that will help you to solve the problem that you're facing right now. That's a really useful skill, and again, it's a skill that employers would expect you to have. Good luck and enjoy learning Python.