Should a content strategist learn to code?

LL Cool JS buttons from @RappersTurnedDevs
ⓒ @HenriHelvetica for @RappersTurnedDevs.

I asked that question recently in an informal poll in CSF’s Google+ community. The question elicited strong interest. A solid majority of poll respondents felt it was worthwhile for content strategists to know some code beyond basic HTML. I know there are plenty of content strategists who want nothing to do with coding, so this interest surprised me. Should a content strategist learn to code? How might knowledge of coding help content strategists in their work?


The question of whether one should learn to code or not is long-standing and not tied to any specific field. Even in web design, where you would think the issue is resolved, if anywhere, the extent to which one should know code is debatable.

Replace “designer” in that tweet with “content strategist” and the sentiment is still relevant.

The point of learning some code as a content strategist is not to turn you into a developer, unless you want to become one. Content strategy is a broad discipline, and coding knowledge is by no means necessary for everyone. There are many fine content strategists who avoid code entirely. They may focus on writing, training, research, or governance. Code knowledge is probably less important for editorial and operational content roles, and more valuable for content design and IT roles where initiatives like redesigns, migrations, and capability enhancements are the norm. But even if your work is just routine content production, some knowledge of code can help you make better use of dashboard metrics and analytics.

Learning about code may even be enjoyable.

I occasionally hear content strategists say: “Technology is not the solution. Technology is the problem.” However well-intended such comments are, they can sound condescending to developers who work hard to make software operate. Content strategists must be able to empathise with all stakeholders, which includes content producers and the developers making the systems that manage and deliver content. Part of knowing more about technology is being able to advocate for the sweet spot: where audiences get something rich and relevant, authors feel they can focus on adding value rather than redoing things, and developers feel there’s a logical architecture governing the content that is maintainable.

I’m inspired by the example of Karen McGrane, who has built many bridges to the developer community, especially those who work with Drupal. Karen’s not a programmer, but she takes an active interest in the work programmers do, and has become an authority on responsive design. She connects the dots between the needs of organisations, of consumers, and of content, with the technical capabilities and infrastructure available to serve these needs. She’s done a lot to raise the profile of content strategy among developers.

Many content strategists live in their spreadsheets. Ultimately, there is only so much you can accomplish using spreadsheets. You become a tool of your tool, instead of having many tools at your service. You may have to rely on someone else to give you information you can use in your spreadsheet, and on getting others to read and understand your spreadsheet. The spreadsheet becomes a content silo. Spreadsheets do many things, but they aren’t the most efficient tool for many tasks.

Several people responded to my poll on coding and voiced thoughts about the value to content strategists. Destry Wion identified several benefits, whether you’re an independent or integrated with a team. Coding knowledge helps content strategists be more:

  1. Self-sufficient
  2. Experimental/exploratory/creative and (potentially) innovative
  3. Remedial (able to change and fix broken code; maintenance and upkeep)
  4. Informed, thus collaborative (able to explain content functional needs and behaviors in ways designers and developers understand)
  5. Employable (like speaking more than one language)

Mark Baker suggested another motivation:

Content strategists need to learn to think in algorithms. The problem in content strategy today is that we do far too much by hand. This has all kinds of bad consequences, of which diminished productivity is only the beginning. Diminished quality, accuracy, and completeness result from the failure to effectively apply algorithms to guide authors and audit content.

Developers don’t expect content strategists to be experts on programming, though they appreciate when others try to understand the capabilities and constraints they have to work with. Similarly, content strategists can’t expect developers to be experts on content. If you decide you want to include a list of related links at the end of an article, you can’t assume the developer will automatically know how to code that. You need to specify what criteria to use, and to know that your tech stack can support those criteria.

Even if you don’t know code, you probably use tools on a regular basis that “level-up” the difference between what you and developers collaborate on.

So why not expand on that and develop what you know.

The more you can understand the work of developers the more you can help shift their perspective about content. Developers frequently think about content as data needing managed in an efficient way. But content has other dimensions that developers should be aware of. These include context and flow. Knowing about code will help you discuss the context and flow of content with developers, so these things work in harmony.

I want to focus on three areas of coding that content strategists can benefit learning more about:

  1. Markup
  2. Scripting
  3. Utilities

Markup

Markup identifies what the content is about. I’ll focus on two major markup languages, XML and structured data markup.

XML

XML is known as the lingua franca of the internet — everything from RSS to SVG is written in XML. It was purpose-built to handle both documents and data on the internet, and is designed to be readable by both humans and computers. It is a compromise between these needs, and as a result is disliked by a range of people, both content creators and developers. Nonetheless its importance cannot be ignored. The language is used to tag different aspects of content, and is the foundation for other approaches to managing content. The power of XML is that it allows you to pick the exact slice of content you need from a larger whole, and put it exactly where it’s needed. Complementing the tagging markup are several methods to select what you want, the most basic of which is called XPath. You can get a flavor of how XPath works by watching this video of XPath in action. It shows someone using Google Sheets and XPath to “scrape” content from a web page. The specific content is targeted using the page’s Document Object Model (DOM) and element selectors. The content is then pulled into the spreadsheet, and automatically updated each time the sheet is opened.

You can learn the basics of XML from W3C Schools tutorials, a book like the XML Visual Quickstart Guide, or a video course from a source like Lynda.com. Coding XML is similar to coding HTML: it is not glamorous. It’s the ability to find, extract, reuse and repurpose specific elements that makes XML powerful. You may have heard about an approach called DITA (Darwin Information Typing Architecture), which is used to manage technical content such as software help instructions. DITA is built in XML, and showcases many possibilities for how XML can be used to create reusable content components. Ann Rockley, the important content strategy pioneer, has been a key champion of DITA through the years.

It’s worth becoming acquainted with DITA even if you don’t plan to produce technical content because DITA has developed many important ideas that can be applied more widely to all kinds of content, through the approach known as intelligent content. Now things are sounding exciting! Discussions of intelligent content can sometimes sound like tales of magic flying carpets, but remember that intelligent content is based on ideas from DITA, which in turn are based on core concepts and features of XML. You will be limited in your understanding of how intelligent content actually works in practice unless you have at least some acquaintance with XML. That’s true even if your solution doesn’t rely on XML. Alternative implementations that don’t use XML are generally variations of core XML concepts.

Don’t be enticed by those who say there are simpler ways to do what XML offers, without first understanding how XML works. Some developers have a shaky knowledge of XML (especially as it applies to narrative content), and treat it dismissively as a result. Simple solutions can sometimes lose some of the sophistication and capabilities that are possible. Your job as a content strategist is to know what capabilities are possible, match them with needs, and advocate for the right solution for your projects.

Structured Data Markup

Another kind of markup concerns identifying “entities” mentioned in content: things like products, people, events, and so on. This kind of markup is often called structured data or linked data, and it forms the basis for the evolving semantic web. Semantic identifiers are placed on HTML pages so that other people’s software can understand precisely what your content refers to. While intelligent content is about making the internal management of your organisation’s content smarter, the semantic web is about making your content more intelligible to others.

The most exciting examples of structured data are when content using this markup shows in Google search results.

Google search results.
The Sapienza University of Rome web search reflecting several instances of structured content.

When we enter a search about a topic, we see a range of information related to the topic that goes beyond what we specified. This happens because the content has been marked up as structured data. The SEO community is understandably focused on structured data these days, given Google’s promotion of schema.org markup, the leading vocabulary used to identify entities. To learn about structured data and schema.org, there are many articles available from SEO publications, Google, and schema.org itself.

Structured data markup will be increasingly important for content, and something content strategists should be concerned with. It would be a mistake for content strategists to assume SEO consultants have the topic of structured content covered. In reality, a search engine’s use of structured data is just one application. Structured data is also called ‘linked’ data because it enables anyone to link to anyone else’s data. Once you understand how search engines use structured data markup, you may want to learn how to query the data directly using the SPARQL query language. People have the ability to ask interesting, complex questions of information that might be located in many different places. One can ask, for example, what is the largest city in the world with a female mayor? When you learn about linked data, you will see many possibilities for your content.

Scripting

Scripts tell computers what to do. While developers might use programming languages to perform elaborate tasks, you can use such languages to create simple scripts that perform a range of functions.

JavaScript

JavaScript used to be a simple scripting language to handle mundane user interface tasks, but it has evolved into a comprehensive programming stack to build apps that manage UI behavior and the data appearing in the UI. JavaScript is now the most popular web programming language, and thus can be a good first programming language to learn. You can start small, learning simple script functions, and work in a familiar environment using a browser and HTML. There are countless free resources for learning JavaScript. Find a few that are right for your comfort zone.

Setting up Git first is not necessary.

How does knowing JavaScript help a content strategist?

The chief benefit is having the ability to prototype ideas for how content might appear on a screen. While an interaction designer would typically handle this task, it can also be useful for a content strategist to explore the behavior of content to work with nuances that interaction designers might not care about. This is especially true for areas such as data visualization, where a JavaScript library called D3 is often used to manipulate the display of data. If you are interested in the area of content experience, especially the visual presentation of content, then JavaScript knowledge is useful.

Python

There are many full-fledged programming languages. PHP is popular, and provides the basis for well known content management systems such as Drupal and WordPress, so if you were interested in understanding back-end systems, PHP might be a good choice. So why do I recommend learning Python?

Python is a popular language to learn programming concepts, and countless free resources are available to learn Python. Python is also the language Google uses to power its search engine. Both beginner programmers and Google engineers like the fact that Python is geared to handling text well. Google uses Python to index billions of HTML pages. You can use Python to manipulate HTML content yourself.

There are two big benefits to knowing a bit about Python. First, you can use it to do content analysis. You can scrape web pages, strip out the HTML markup, and analyze the frequency of words used in your content. It can make content inventory work much more sophisticated, and less laborious, at the same time. Python is good for crunching text, and saving you from having to read through thousands of web pages manually. To get an idea of how learning Python can benefit these kinds of tasks, check out the recent book, Automate the Boring Stuff with Python.

The second benefit is learning how a language like Python can process information to transform it into something different. What additional value can the computer offer a reader? How might different elements of content interact to enhance what audiences get? How might knowledge of a reader’s online behavior be useful for deciding what to show them? We often think that everything a reader sees needs to be created for them in advance, but many things they see can be delegated to a computer to be created in real time. Making the computer do the work means that content can be more sophisticated and dynamic. Some first hand experience with programming will help you identify these kinds of possibilities.

Utilities

Finally, I want to mention a couple of utilitarian topics.

Application Programming Interface

APIs allow different websites to talk to each other. It is helpful to know a bit about how they work so you can evaluate opportunities to use them. APIs are useful for “pulling” content from elsewhere, or “pushing” content to other people. Suppose you had a travel website and wanted to include the current Euro-to-Dollar exchange rate on the page. You might want to research APIs that could insert that data into your content.

Some apps such as Zapier have accessible tutorials explaining how an API works. Because APIs are common, you can experiment with them easily. For example, you can explore Nobel prize winners with the Noble prize API. Several Google apps have APIs that users can set up for themselves.

Regex

Regex is a cryptic query tool that helps you find a word or string of text based on its pattern. Regex is challenging to understand at first, so many people avoid it, but it is powerful and handy. You can find instances where a phone number appears in your content, or perhaps where you have name variations that you need to identify. Regex is a coding tool that even writers can use — it is Find and Replace on steroids, and widely available. Macs, for example, have Regex software built into them, called Grep. Many software applications such as Open Office include Regex. To learn more, check out an online tutorial, and practice.

Your next steps

Other content strategists might offer additional coding suggestions, but your reasons for learning more will dictate what to learn, exactly. Learning to code can be hard work. It requires equanimity and persistence when things don’t work as you intend them. Computers aren’t known for giving praise. But you can find intellectual satisfaction when you figure out how to do something that’s not obvious. And you’ll get pleasure when you get a computer to do boring tasks that you previously were doing manually. Keeping your purpose in mind will keep you motivated.

Finally, it is important to find instructional materials that match your needs. Some materials might emphasize games or drills that seem far removed from work goals. Some people are happy to immerse themselves in the instruction, and figure out how to apply it later, while others want only to learn things that will solve specific problems they are facing. So spend time exploring available instructional materials, as there is no one source that’s right for everyone.