You don't have to learn Python to work here but it might help
Python. It’s a word that either strikes fear into the hearts of SEOs or ignites a fire in their bellies. I can tell you: I’ve felt both. Sometimes, at the same time. For all its wonderful use cases, quirks, and benefits, it is misunderstood. I’m not here to say it’s the greatest programming language (that’s HTML) but I wanted to talk about Python from my experience.
tl;dr - I’m going to do this in a list format and some of it will be tongue-in-cheek but the summary is: Python is something that you don’t have to learn if you don’t want to in SEO. I can’t stress that enough. This is more of a reassurance than an introduction to Python.
- Whether you want to be the best SEO (that’s an impossible tasks as I will never relinquish my title!!!) or just want to do your job and leave at the end of your day, you don’t need Python in your career. Learning Python is a choice and should be considered with variability. 1a. You get out of it what you put in but you can get more out than you’d expect. Learning Python’s basic functions can speed up work you may have been doing manually or formulaically in Google Sheets/Excel to the point your computer crashes because you’ve exported a 80,000-row CSV of keywords from Ahrefs
- I started learning Python in October 2019 because I felt extreme FOMO and also inspiration, having seen Ruth Everett do it. 2a. Ruth, if you’re reading this, thank you for inadvertently doing that. It has changed my life and career for the better!
- In the first few months, I felt incredibly overwhelmed, inadequate, and frustrated because I kept seeing other people doing these amazing things and I didn’t feel like I’d be able to do those things ever.
- Because of that, I tried to skip the basics and go straight to the hard stuff which fell apart because I didn’t understand the Stack Overflow code I was copying and pasting (we’ve all done it so don’t you dare scoff!). This lead to more frustration and headaches
- Eventually, I realised I was puttting the horse before the cart and I went back to the Python course I’d started.
- I still copy and paste Stack Overflow code but this time I understand it a little better. Sometimes I don’t but it works so I don’t care (we’ve all done it so don’t you dare scoff!)
- In the SEO community, there are more articles demonstrating intermediate and advanced concepts than there are basics and this is overwhelming for beginners and even intermediate and advanced users. 8a. Because of this, it puts people off from even starting and fuels the ideology that Python is a fad for nerds who don’t care about content and links and then you get people scoffing at it and demanding we focus on content and links and strategy as if those ideas has ever been ignored in the history of SEO
- If you know me for Python, you should also know I most of my personal scripts print out words and numbers or data into CSV files.
- The script that I wrote about about a week ago took hours to make. My first major script took days, lots of headaches, and it’s still a mess and could probably be cleaned up. 10a. If you learn, embrace the mess. Don’t neaten it up until you get it working and even then you don’t necessarily have to but if you’re planning on explaining how it works, I recommend you make it presentable. 10b. Actually, it’s best to write comments to explain your code to yourself at least. That makes it easier to debug.
- If in doubt, print out lines of code to see if they don’t work
- Python courses, group learning, and 1-2-1 tuition are all good ways to learn if they match your learning style. Exploring documentation, blog posts, and videos. There is no right or wrong way to learn Python!
- Python is most associated with automation but it can do almost anything
- Despite my growing reputation with Python, I still haven’t finished my Python course and I still have to look up how things work because I don’t always remember
- After a while, I realised most of the blog posts on SEJ et al weren’t relevant to me so I skimmed them and moved on. If I concentrated on them too much, I’d have a fraught relationship with Python and myself for not getting it 16a. Most of what you see probably won’t help your client, employer, or your own personal projects in the way that is portrayed because it often requires deeper explanation, buy-in, and more immediate results because you’ll likely take a long time to write and test the scripts, and people put a premium on that time when it’s unknown to them.
- Learn it if you think it’s cool and interesting and want to see how it works. It’s absolutely cool if you do little things for yourself and move on. That’s not failure and even if it was, at least you succeeded at trying it.
- To echo the sentiments of Miracle Inameti-Archibong in her recent Women In Tech SEO talk, play with existing code that’s already out there. You don’t have to create new ones. 18a. From a learning perspective, it might be easier for you to use an existing script, find a fault or improvement, and do that one specific thing. Congrats—you just learnt how to code!
You can contact me (links are on the homepage) if you ever want to chat about Python, my experiences, how to get started, what I’ve used it for, anything. For us to enjoy and grow, we need love, care, and a sense of community. Everyone should be safe with the decisions they make, whether that means learning Python or not. I can’t guarantee it won’t be overwhelming because I still feel that way sometimes. But there are people around to ask for help (including me) and you’re within your rights to take a deep breath, close your laptop and leave it for a day, week, or month until you’re ready to come back. Or just leave it there. There are no obligations other than the ones you set yourself. It’s good to be disciplined with how you learn as it can build structure to learn and grow but that shouldn’t come at the expense of your peace. Python isn’t that cool!
I think I’ve lost track of this post. Where was I? Oh, yeah. Stay out of my booze!