Please stop asking for “advanced” learning content

I’ve been teaching technologists various topics since… oh, 1997 or so, when I taught my first Windows NT 4.0 MCSE courses. God, I’m old. Anyway… the very best way to frustrate an experienced tech teacher is to bemoan the world’s lack of “advanced” content. So please stop doing it, and here’s why:

The world of technology people breaks down into two main groups: those who proclaim themselves to be n00bs, and those who don’t. Let’s even break that down a little before we go on.

We are all, each and every one of us, afraid of being made fun of by people we perceive of as our “betters.” Folks who proudly proclaim themselves to be n00bs are taking ownership of that fear, and taking power for themselves. Once I declare myself a n00b, you can’t make fun of me for not knowing things, because I told you I didn’t know the things. You’d have to be a rank jerk to pick on a n00b once they’ve admitted it. It’d be like picking on a five year-old. And so you get a lot of people running around asking “n00b questions,” when in fact they’re not n00bs at all. They’re usually experienced, competent adults, who simply don’t Know All The Things, and are in the process of trying to learn a little.

I’ve literally seen someone post the question, “sorry, n00b question here, but can anyone tell me the exact level of electricity required to degauss a hard drive?”

Friends, that is not a n00b question. Also, yes, I hang out in esoteric Q&A forums. Everyone needs a hobby.

So how’s this bring us to “advanced” topics?

Let me share a little secret of the training industry with you: an “advanced” topic is any topic that you don’t already know.

I’ll share an example: I once taught a class on SQL Server query tuning. Query tuning is a deeply deep topic, and you can easily spend a week on it—and we did. As with many technology topics, query tuning exists along a spectrum. There are query tuning tasks that almost everyone runs into, and there are query tuning tasks that are far more niche, that not everyone runs into all the time. That’s the nature of any technology: creating new users in Active Directory is considered “beginner,” because everyone does it, all the time. Using a network sniffer to troubleshoot replication traffic? That’s “advanced,” simply because so few people do it on a regular basis.

After the class, one fellow came up and expressed his disappointment with the class. “I thought this would be advanced,” he said. I was a bit shocked, because we’d gone freaking deep into the topic. Like, on Friday morning, we were covering query tuning topics that maybe 2% of the population would ever even need to know.

“What,” I asked him, “do you mean, exactly?”

“Well,” he said, “I already knew all that. I was hoping to learning something really advanced.”

“Like what?” I asked.

“Well,” he repeated, and then gave me an example of something I hadn’t covered. Which I hadn’t covered, by the way, because as far as I knew only like two companies in the universe needed that information. He just happened to have started for one of those two companies.

“That’s actually not very advanced,” I said. “I can explain it in five minutes,” which I proceeded to do. “It’s just super-niche. Like, nobody does that except for the company you work for, and your main competitor.”

“Well, I didn’t know it.”

Yeah. Here’s the thing, folks: anything you don’t know is considered advanced. Honestly, with most tech topics, there’s not really a spectrum of “easy” to “hard;” there’s a spectrum from “commonly performed” to “less commonly performed.” Classes tend to teach the stuff that’s commonly performed, and as you move into less-common tasks, classes tend to leave off. That’s because classes—training materials of any type, really, including books and videos—need to, from a market perspective, focus on the stuff most people will need to learn. I can’t spend six months writing a 600-page book on a topic that 10 people will read, because I will not make money on that project. It doesn’t mean that topic is advanced, it just means it’s uncommon. Packet-tracing DNS queries, for example, isn’t hard, it’s just not something everyone needs to do every day. Yet for people who don’t know how to do it, it feels “advanced.”

So drop the word “advanced” from your tech learning vocabulary. Instead, recognize common and less common tasks. When you need to learn something, be specific on what you need. Just because you don’t know something doesn’t make it advanced; just because “nobody teaches this” doesn’t make it advanced; it makes it niche. Don’t expect learning providers to address every niche topic, because it simply isn’t profitable to do so. Something might be incredibly important and specific to you, but that doesn’t mean many people other care. That doesn’t make it advanced.

Spread the word: the good news is that there are no advanced topics. Just ones you don’t already know.

UPDATE 1: I’ve had some fellow instructors/instructional designers point out that we often use the word “advanced” to mean “topics which have a larger number of pre-requisites.” That is, I have to teach you the “basic” stuff before I can build upon that to teach the “advanced” stuff.

I will argue that we should stop using “advanced” in that way, and probably stop using it altogether.

When a learner sees advanced, they do not necessarily interpret that as “a topic which has a large number of pre-requisites.” They more often interpret it simply as “harder content,” or as I’ve outlined above, “anything I don’t already know.” The problem is that just because a topic has a large number of pre-requisites does not mean it is either common or uncommon, and it does not mean the topic is more complex or less complex. So we’re all using “advanced” in different ways; when a word cannot consistently convey a globally understood meaning, then by definition the word is not useful.

Just because something has a lot of pre-requisites does not mean it is “hard.” For example, controlling an in-flight airplane is a topic that has a lot of pre-requisites, yet once you have those pre-requisites, it is not a difficult or complex task in most situations. Pilots certainly don’t consider it to be difficult—it merely requires a lot of practice and some core concepts. So is controlling an in-flight plane “advanced?” If you don’t know how to do it, absolutely. Which is my argument: “advanced” is more often a shortcut for “something I don’t know.” You could know it, though.

So again: let’s maybe stop with the word “advanced.” It doesn’t convey a shared meaning to everyone, and it actually hides what we’re often trying to talk about. Saying, “this topic requires a lot of pre-requisite knowledge and skill” is far more accurate than calling it “advanced.” Saying, “I need to know [specific topic]” is far more actionable than saying, “I need to know things that I don’t know.”

UPDATE 2: I love the responses to this article! I’ve had several folks direct message me over the months, each offering a different definition for “advanced”—which I believe proves my point! This article isn’t suggesting that there’s no such thing as “content which is harder than other content,” the point is that the word “advanced” doesn’t have a universally understood definition. When the definition of a word—any word—is unclear, then the word becomes less-than-useful.

UPDATE 3: I’ve had a bit of a personal epiphany on this topic: rather than trying to use words to describe the skill level of a piece of content, I’m moving toward describing the job level toward which the content is targeted. In the HR world, there’s a company called Radford who publishes salary data for a variety of job families. In their “professional” band, which includes most tech positions, they separate jobs into levels P1 to P6. Those job levels correspond well to the job levels used by many major tech companies. In other words, these Radford job levels represent a near-universal abstraction of what different job levels mean. If you say a piece of content is targeted to a P1 learner, then you’ve made a near-universal statement about the job roles to which that content is intended to be applicable—Novice, in the case of P1, which appropriately corresponds well to major tech companies’ internship levels. Saying, “this content is intended for a Novice Developer” or “this content is intended for a Senior Software Engineer” does, I personally think, a far better job of communicating who the content is intended to serve.

You might also like

Add comment

E-mail is already registered on the site. Please use the Login form or enter another.

You entered an incorrect username or password

Sorry, you must be logged in to post a comment.


by Newest
by Best by Newest by Oldest

Thanks for writing this! You've put into words something that's been on my mind for a while -- I just struggled to crystallize my thoughts on this 🙂


A fan of your writing & teaching for a long time, the knowledge you have shared over the years saved my hide too many times to count, shine on, keep the faith..