In 2015 Jayson Demers published this article which caused (to put it politely) some ripples in the SEO world. His argument that modern SEOs don't need to understand the technical side of digital marketing was at best, misguided.
The article wasn't totally wrong - Jayson's comment that SEO was about making users happy was a relevant point, but whilst a great user experience will help boost a site, having technical issues on your site can and will affect your performance within Search Engine Results Pages (or SERPs). In my opinion, it's vital that SEOs are able to understand how and why their sites rank, rather than blindly trusting search engines to promote content as they "should". This is why, as an SEO, my professional goals for 2016 revolve around coding.
So what languages does an SEO need to learn? One of the major things that stop SEOs learning to code is the multitude of languages out there, and so picking the "right" language(s) can be daunting. As the "right" language is whatever language is useful in your daily life, this is my personal list - if you have other suggestions, feel free to leave a comment on the blog post below!
Why should SEOs learn HTML?
HTML is useful for understanding how a page is put together - understanding elements such as meta titles, header tags, rel tags and iframes is vital for any SEO looking to review a site, and it's always useful to be able to debug an analytics implementation on your own! You don't have to be fluent enough to build websites, but knowing how to read a page's source is handy, as this is the view that spiders such as Googlebot will see when they visit your site.
Where can I learn more about HTML?
I personally started learning HTML by viewing sites. With most browsers there is an option to inspect the elements of a web page or view the source, and by picking through a simple site is a good hands-on way of understanding the building blocks that make up your page.
If you prefer courses, HTML and CSS from Edwin Diaz is a fast-access course for users that need to know the basics immediately, whilst Distilled's "Introduction to HTML" looks at how understanding HTML can benefit SEOs directly.
Why should SEOs learn SQL?
There may not be a reason for you to learn SQL, but as I deal with several clients who run SQL databases, being able to write queries using a language like Python is useful for reporting purposes. Whilst your Analytics report will show you that 600 users visited your payment completion page in the last month, it won't allow you to delve deeper, showing how many of those users had an account before they began the purchase journey.
Of course, if you have access to a data analyst or if you prefer to work directly within a database management system such as MySQL, learning a database language isn't as essential as some other languages. Still, for anyone with an interest in databases (and being able to distil them into useful, actionable recommendations), being able to query a database directly is a beneficial skill to have.
Where can I learn more about SQL?
Udemy has this course available from David Kim and Peter Sefton, and whilst the course isn't free, I'd thoroughly recommend it. They explain SQL in detail, giving you the tools to build your own query and the whole course is based around a series of pop-quiz style "tests", showing how the new tool can be applied to actual queries.
A free alternative to this from W3schools can be found here, its slightly less interactive than the Udemy course (and so may be less accessible for people that are looking to start learning SQL), however W3schools is an excellent resource for improving existing skills.
In terms of Google Tag Manager, Simo Ahava's blog is a goldmine, and is constantly being updated. New users may find themselves a little overwhelmed by some of the solutions suggested (as the comments section is always buzzing with alternate methods and optimisation tricks), so some extra reading might be required!
VBA for Excel
Why should SEOs learn VBA?
Some may consider this cheating, but as someone that spends half his life in spreadsheets, automating tasks allows me to get on with other (more interesting) tasks whilst macros do the heavy lifting. VBA can be difficult to pick up as a new user, but it's definitely worth the time investment. The tutorials over at Excel are a good introduction, followed by the reference documents over at Microsoft.
Where can I learn more about VBA?
For those people that (like me) are visual learners, Udemy's VBA training is a nice course for anyone familiar with Excel and wanting to start VBA. Udemy's ultimate Excel programmer training is an alternative to this, its wider, more comprehensive and teaches both VBA and Excel formula creation which can then be tailored to your needs.
Ultimately, whatever language you choose, I would recommend that all SEOs learn to code. It's a useful skill to have and it certainly makes the lives of developers easier! With coding knowledge you can pinpoint exactly what you need their help with and why.