(A guide to getting stuff done)
As the title suggests, I have been trying to learn Python for a while now. I have tried a number of different methods with varying levels of success but each time I have been left feeling as though I didn’t know much more than the last.
In my quest for knowledge in the realm of Computer Science, I have learned a few lessons and through the medium of example , I want to share them with you. These lessons are not only specific to learning a programming language but are fairly applicable to most things but I learnt them in this context so I’m going to roll with that.
If it just doesn’t work, try something else
There is a subtly to understand here. This isn’t an excuse to give up at the first hurdle you encounter but more a way to wisely think about how approach you problems.
So I’ve been made around 6 major attempts to learn Python in the last few years and 5 of them were using the same method.
This method just did not work for me and this became clear around the third time I had tried it. No matter how hard I worked, I didn’t seem to get any better but this is when I decided I needed to stop this cycle of investing effort with little return. I recognised that this was not the method for me and while I could continue slogging away at this thing that is clearly not working, I could be more effective and be more strategic about how I choose to spend my time.
The biggest reason I didn’t change strategy after the second, third or even fourth time, was mostly because the angle I was approaching it from was a popular one. A method that seemed to work for everyone else so maybe if I did it one more time, I would have some kind of epiphany and everything would fall into place and I would become this programming wiz I strived to be? Once again…
The first bit of advice I would give to getting things done is to recognise when a method isn’t working for you (and here’s the key thing) and DO SOMETHING ABOUT IT
Work out why it isn’t working, if there is a new approach you can try or if you need to put it down for a couple of days and try again. But if a method is just not working for you, change it!
This doesn’t just go for trying to understand the ins and outs of Python, it goes for revision techniques, organisation, general productivity and most other things that you might need to get done. Just because something might be a popular way to do something, doesn’t mean its the right way for you to be doing it.
But the best way I’ve heard this said is ‘Work hard and smart’.
The awareness of an impending deadline may be your friend
Ah deadlines. The very word has probably struck fear into half of you that are reading this at the sudden reminder that you have something you need to get done and not so long left to do it.. You’re welcome.
But how would you feel if I told you that setting yourself deadlines and making them ‘real’, while this can induce stress, may also be a great friend? One of the biggest reasons I made huge progress in my quest to learning Python was because of deadlines. These first took the form of university coursework.. so actual deadlines, yes, but the point is they forced me to get stuff done. So I realised shortly after that if I start putting deadlines in place, I’ll get better at getting stuff done and yes that worked… until I missed one of these ‘deadlines’ and realised that there was no consequences.
And that’s at the point where most people stop. Life overwhelms you with actual deadlines that carry consequences heavier than the shame you might feel for not finishing the little thing you ‘would have liked to have done’. And this was where I got stuck for a long time until a few months ago. A friend of mine who was also struggling to ‘get stuff done’ suggested the idea of a ‘Working Out Lord Circle’ where a group of use got together and kept each other accountable for the things we said we could do.
And turns out the added social pressure that comes from wanting to avoid the embarrassment of not having done what you said is surprisingly effective and may or may not be the main driving force for me getting this blog post out as soon as I can despite having a million and one other things to do.
So everyone says their next AT MOST three goals for the next period of time that you set and it’s helped me.. A LOT. (At most is in capital letters for those of you who are like me and try to get everything done is a short period of time- seriously, no more than three).
Link things together (where possible)
I cannot overstate how important this was for me in a number of different areas of my life, but as I mentioned, I’m going to use my Python quest as an example.
Until my 6th attempt, I was largely learning skills in isolation. Different nifty things that I could make a computer do but the more of this I did, the more I realised that I had no idea how to put these concepts together and so in real life, my understanding of isolated concepts was not all that helpful. Then comes along university coursework in which I am set a ‘project’ that forced me to combine ideas and suddenly everything started to make more sense, it was more satisfying and most helpfully, everything became way easier to remember! It also meant in the long run, I had to commit fewer individual things to memory because in my brain, everything was linked so remembering one thing would remind me of another and so on. This is when I really started to feel like I was getting somewhere, like I was making progress and like I could actually code.
This was definitely not a method I use in only one place. As a mathematics student, I learned fairly recently how incredibly useful mind maps are because they link things together and mean I have to commit fewer things to memory. Also, the more you do this, the better some of your writing will become because you are used to linking concepts together in ways that make sense.
To wrapping this up, I wanted to share an interesting insight, I gathered from a fairly unexpected place. My sister said something quite interesting to me when I told her the title of the post, I said ‘Vanessa tries to learn Python for the 6th time’ and she ‘finishes my sentence’ by saying ‘and hopefully the last’ and that’s where I had a realisation. This a continuous process. The learning of a programming language or of anything for that matter is a continuous process, the world is constantly changing and we’ve got to adapt and change with it in every sense and that’s how we’ll all get better at getting things done.