What will we cover?
Well, this is a bit different from what we usually cover here – but I get a lot of questions about this.
This will be about what to expect on your beginners journey as a Python programmer and how to learn faster.
I see three main pitfalls people (Python learners that is) fall prey for – let’s cover them here and see what to do about them.
Pitfall 1: I understand the solution when I see it – so why can’t I figure it out myself?
I have been there. I have done that… and I continue to do it.
What am I talking about.
Well, you follow along some tutorial, bootcamp, some learning journey with Python, and then there are exercises, or some project you need to make.
Somehow, things do not work out for you. The computer (the Python interpreter that is) does not really do what you want it to do.
You get irritated – but it get worse in a moment.
The solution – how to solve it – you see it. It is so simple.
Why, couldn’t you figure it out.
You feel stupid – you feel like this is not your strength – you want to run away from it all.
Let me stop you there a moment. First of all, I have felt like that 1 million times. But that is not what this is about.
Are you native English speaker?
Let’s assume you are not.
Remember when you started learning English, you suddenly started to understand what people were saying – but when you needed to say something, it was difficult – almost impossible.
That is – it was quite easy to understand – but difficult to express yourself in the language. You knew exactly what you wanted to say – but you couldn’t.
Programming is quite similar. First you learn to read an understand code – but it takes time to learn how to “express” your ideas in code.
You need to change your mindset with this – that you understand and see a simple solution – does not mean that you are stupid you didn’t figure it out yourself. There is a time from understanding to “expressing” yourself in code.
And it will be a beautiful day.
But give yourself a break and enjoy the journey of learning. Everybody has been there – it takes time.
Pitfall 2: I want to do it all at once – because I see everybody else doing it
Wow. I would love to be that person.
There is a blessing and a curse of the internet.
The blessing is all the knowledge in the world is reachable within a click or two with your mouse.
The curse is that all the knowledge in the world is reachable within a click or two.
I know – everything seems tempting and interesting on the surface. And when things get a bit difficult, we change focus to something more interesting. I do too.
The problem is, that we do not take the time to focus.
The truth is – we start off with learning Python for Machine Learning. Then we decide to learn some Data Science with Python. Oh, and then some Django with Python. Also, you need to learn some Computer Vision with Python. Also, we should learn how to make a game with Python.
But you see – if you never get in depth in anything – you end up being mediocre at everything. If you are afraid to spend too much time in one subject – because you get behind on something else your friends are doing – then what?
Exactly, then what?
In the beginning it can be hard to know what you want – and everything is available to you online. The problem is, that learning Python for create games is very different from learning Python for web services.
Often the switch will confuse you more than you will benefit from learning broad.
Stick to one thing until you are good at it. It will also help you succeed faster with the next thing.
Pitfall 3: My solution is not the same as this solution – is my solution wrong?
It took me long time to understand this.
At first – I thought there was only a correct way to solve problems with programming. Or at least a best way to do it. That is, either you did the good and best way, or you did it a stupid way.
And I understand how you feel when you see someone making an elegant solution to something you struggled with.
Well, stop thinking right or wrong solution. Good or bad solution. If you make a different solution, maybe it is good for some circumstances.
Often, there are situations where you need code to behave in accordance with the environment. And often, almost always, even the best programmers cannot make it perfect the first time. You need experience with it. See how it works. Continue to learn. Improve the solution.
It is agile development at its core. You get something out in production fast – see how it works – get feedback and modify the code accordingly.
Another thing that surprised me, is, that programmers have their own style. Say, if you work together with other programmers for some time, you will start to recognize their coding style.
Seriously, your personality will be expressed in your code. Your way of coding is unique. And keep it like that. Maybe your way is good for the problems you like to solve.
When you in the beginning see different solutions to the same problem – then ask yourself, what are the benefits of the various solutions. This is what makes you a good programmer.
I know it can be frustrating to see other people make perfect code. Solve problems with ease. But they probably put in the hours to learn it.
I always try to say to myself – keep it playful – keep your learning journey playful.
Yes, I am still on my learning journey, and I will continue on that journey until I terminate my program in the Matrix or wherever we are.
If you want to learn Python in a structured way – check out my free Python course.
Want to hear more about working professionally with Pyton – see this Podcast.