We’ve been thinking a lot about how people learn WordPress, and what drives success in WordPress development learning.
We’ve been teaching WordPress development for almost ten years. That’s a lot of add_action()
calls, and we wouldn’t remove_action()
a single second of it.
Ten years is also a long enough time that we’ve found ourselves naturally doing some perspective-taking. In addition to teaching the technical material itself, we’ve been thinking harder and harder about how people learn WordPress, and what key elements drive success in both learning WordPress development and practicing it as a career.
Here, I’m summing up much of that thinking, and presenting what I believe is the single most important takeaway for you to, well, take away in your own WordPress learning journey.
And that takeaway is: The secret to learning WordPress development is people.
No, I didn’t misspell “Stack Overflow” (which is great too). It’s honestly the case that the best way both to learn WordPress development, and to work with confidence and enjoyment as a WordPress developer, is through good old fashioned human-to-human interaction in a supportive community.
Let’s explore what’s challenging about both learning and working in WordPress development, and how people—a real, supportive community of fellow WordPress developers, learners, and teachers—are our best solution for those challenges.
The Challenges of Learning WordPress Development
When I started learning WordPress development, I was very surprised at how hard it was.
When I initially learned WordPress development, I was very surprised at how difficult it was. A lot of technical topics are like learning a new card game: a new set of interesting variations on familiar underlying rules. WordPress was more like learning a new language, as in German or Portuguese.
I’ve reflected quite a bit on that experience in the years since, and I’ve talked to, worked with, taught, and learned from lots of other WordPress learners at all stages. From those experiences, I’ve worked to summarize what I think are the key challenges that make learning WordPress development difficult for most people:
I’ll briefly summarize those challenges below, before discussing the unique role that people—real, supportive community—play in addressing each of them.
There’s So Much to Learn…
Although there are some challenging concepts, I never found the WordPress learning curve to be crazily steep, the way it is for things like calculus or astrophysics. Unlike in those disciplines, I haven’t run into many moments where I said, “Okay, I just can’t learn this,” cursed the missing 30 billion brain cells I’d have needed to keep going, and went off to major in pottery.
While it may not be terribly steep, the WordPress development learning curve is enormous, and that’s what makes it difficult.
Rather than being steep, the WordPress development learning curve is enormous, and that’s what makes it difficult. I’d learned technical systems before, but WordPress just seemed to go on and on.
This was both because WordPress itself has a vast number of systems and functions, and also because a WordPress developer’s practical role on client projects draws on so many fields: front-end development, back-end development, SEO, server administration, digital security, design, strategy, and a huge amount more.
So after 18 or so months of steady progress up the learning curve, I still found myself climbing at a 45-degree angle—that is, smack in the middle of mastering the basics. It was a really humbling experience. And now, the better part of a decade later, the ongoing challenge of getting familiar with everything that a WordPress developer ought to know continues to be (depending on the topic and day) humbling, frustrating, and fun.
…And It’s All Tied Together…
I remember clearly how disorienting learning WordPress was—there was no place to start.
I also remember clearly how disorienting learning WordPress was. It was like getting dropped into an entirely new country, and having to learn the language, culture, food, laws, and everything else all at once. There was no place to start: I couldn’t attend a language class because I didn’t understand the traffic laws or the bus maps—and I couldn’t figure those out because they were all printed in a language I didn’t understand. And so on.
As the article linked above describes in more detail, this is because so much of a WordPress developer’s knowledge is bound up in types of knowledge that are extremely difficult to learn linearly, front-to-back. A few of these include:
- Tacit knowledge: things you may not even realize you know. Examples would be a basic grasp of how a “web server” is different from but related to a “website,” or understanding how to efficiently find key information within documentation.
- Rabbit holes: exceedingly specific topics that are also crucial to solving real-world problems. Examples would be “Can MemberPress be modified to allow multiple memberships per user?” or “What’s the best way to get around a server’s PHP
max_execution_time
timeout limit if it’s breaking the database import section of a site migration?” - Folk knowledge: general wisdom, hunches, and pattern recognition on development topics that only emerges over long experience. Examples would be “Never buy EIG-owned hosting,” “Gravity Forms is usually the best default choice of WordPress form plugin,” or “This bug I’m seeing is probably a caching problem.”
…And I’m Getting Discouraged
With enough time and enough motivation, anyone can learn WordPress development. The challenge is finding enough time and enough motivation.
With enough time and enough motivation, anybody can power through the difficulties outlined above and learn WordPress development. This is precisely where the challenge really kicks in: finding enough time and enough motivation.
In other words, how do we keep our forward momentum as WordPress development learners—or, for that matter, as working developers continuing to grow and sharpen our skills?
As the article notes, lots of us are learning WordPress development:
- For free,
- On the side, and
- Alone.
So for too many of us, the story sounds something like: It’s 7:30 PM and I just got home from my day job. Time to do my WordPress learning. Except there’s nobody to hold me accountable, and I’m not learning for any particular purpose—certainly not one that will pay me in the near future.
Also, Netflix just dumped an entire new season of Orange is the New Black directly onto the very same laptop that’s supposed to be the place where all my WordPress learning happens.
Now, do I really want to hunker down and learn what $query = new WP_Query( $args );
actually means? Especially once the tutorial I’m reading starts being confusingly worded, and I have no one to ask for clarification?
Frustration, loneliness, and drift are the real forces that stop WordPress development learning.
Frustration, loneliness, and drift—“this is too much,” “I’m confused in too many places,” “I’m too busy to keep doing this,” “I’ll get back into it”—are the real forces that stop WordPress development learning. It’s simply not a good topic to learn alone, in a vacuum, with no particular purpose or urgency. No matter how good the education resources are, there’s simply too much to learn, and the field is too opaque and confusing at first, for a “solo explorer” approach to yield good, timely, thorough results.
We’re All WordPress Learners
There’s not really a time in a WordPress developer’s career when these challenges go away.
As I’ve mentioned, there’s not really a time in a WordPress developer’s career when these challenges go away. As a developer, I’ve gotten more comfortable with WordPress generally, but there’s no such thing as a time when I “got” it, back-to-front, self-sufficiently—nor is that time coming up in the future. It’s simply too big.
One of the biggest problems in WordPress is the huge learning gaps that developers often bring into our client projects.
In fact, one of the biggest problems in WordPress as a whole is the damage, chaos, and loss of trust caused by the massive learning gaps that working WordPress developers often bring into our projects with our clients. I’ve written at length about the patterns of harm that I’ve seen in my own work, and especially in the work that I see previous developers having done for my clients:
As a working WordPress developer, I find that the need to do constant ongoing learning sometimes manifests as a fun challenge—“Hey, I wonder if I can learn how to make a custom Gutenblock?”—but it also sometimes manifests as the following experiences that are among the toughest in our line of work:
- “Oh no, I’m stuck!” When a client needs something urgently and you don’t have any idea how to get their site there, it’s not a fun time at all.
- “Well, that went badly…” When you just can’t make it work with a client, when you ruin their SEO, when you try to log in and notice they’ve switched the password on you—these are the tough times.
- “This is lonely :/ ” Continually churning through WordPress problem-solving can be tough psychologically, especially in the context of the freelancer lifestyle (alone for long periods of time, likely at home, looking at a computer screen most of the day).
All right, so that’s what makes learning and doing WordPress development difficult! Now, what can we do about it?
Why People Are the Secret to Learning WordPress Development
The good news is that there’s a best answer to each of the challenges listed above: a supportive learning community of real, live human beings. This section explores why human interaction matters so much for WordPress development learning.
Nothing’s as Efficient as Live Human-to-Human Learning
If I want to learn something, I ask Google. If I want to learn something difficult, quickly, I ask a human being.
If I want to learn something in WordPress development, I ask Google. If I want to really learn something difficult, quickly, I ask a human being. (Specifically, David.) The human being is vastly better, and it’s not close.
Learning directly from a live human being is far more information-dense than reading written material like this article, or even than watching prerecorded video, for a number of reasons:
- A live human being understands your specific question and can give a specific answer—including being able to look directly at your code and point things out about it.
- A human can also take a minute to answer your question about a related topic if you’re confused about that too.
- Perhaps most importantly, a live human being will give clear answers that make immediate sense to another human, in a way that is exceedingly difficult to do in one-to-many written documentation, blog articles, tutorials, and other types of resources.
You can do an enormous amount of extremely helpful learning through other media (ask our Up and Running buyers!). But the truth is that, for some key learning challenges, you’re far better off accessing the high-bandwidth, high-quality learning that only a live human can provide.
For Some of the Hardest Learning Challenges, Only People Can Help
For some types of challenges, human-to-human interaction is the only way to learn.
Human-to-human interaction is not only the most efficient way to learn. For some types of challenges, it’s the only way to learn.
As I wrote above, the hardest learning challenges in WordPress arise because of the different types of knowledge it requires. You may come into a project with solid PHP knowledge, not realizing until it’s too late that the project requires SEO skills you don’t have. You may think you want to know how to “create a widget,” not realizing that you’re missing tacit knowledge about the difference between a widget and a widget area. Or you may simply need help with a baffling and complicated bug you’re seeing, one that only a deeply experienced human being can help you think through.
In each of these cases, community help is an absolute requirement: without it, you simply can’t move forward. So having regular, supportive access to experts, and even to peers with complementary skills, is often the difference between “Oh no, I can’t fix this bug” and “Wow, I learned a lot from that bug”—and that makes an enormous difference in how your WordPress learning progresses and feels overall.
Community Feels Amazing
It’s easy to overlook how many WordPress learning challenges are emotional by nature, and just how much a supportive community helps.
It’s easy to overlook how many of the challenges learning and doing WordPress development are emotional by nature, and just how much a supportive community helps with that entire range of challenges.
Again, just about everybody has the raw intelligence to become a WordPress developer; that’s not the issue. WordPress is almost never as brain-destroyingly difficult as something like abstract mathematics. What does happen, to almost everyone who tries to learn WordPress, are emotional impediments to learning: “Rrgh I don’t get this!” and “OMG this is so boring” and “I don’t think I can learn all this.”
Relative to facing those frustrations alone, facing them in a supportive community makes all the difference in the world. That community can be quite small: I learned WordPress development almost entirely from David, with help from a few other people I met locally, and I never once felt like it was a topic I couldn’t learn or didn’t have the patience to grasp fully. If I had been on my own, staring at opaque Codex articles and trying to fiddle with their code examples, I would have felt overwhelmed all the time, and there’s absolutely zero chance I would have become a full-fledged WordPress developer.
Community is the cure to the sense of solitude that makes any element of learning WordPress more difficult. One of my favorite articles on WPShout is from David on this topic—it presents strategies to cope with loneliness as a freelancer. I find them quite similar to strategies I’ve heard for helping a homeschooled child make friends, which is a fairly similar situation in a different age bracket. 🙂
WordPress Freelancing Can Be Lonely: Nine Strategies to Cope
Those specific coping strategies aside, community can help you with virtually any emotional obstacle you encounter as a developer, from imposter syndrome to a lack of accountability to discouragement to burnout. For any of these issues, having supportive people around you is always a huge part of the cure.
How to Find Yourself a WordPress Learning Community
So, how to find the right WordPress community for you? A two-part answer here.
First, if you’re not doing so already, you should take advantage of the community resources that are easily available to you. For most people, this will include a local WordPress meetup, and local or regional WordCamps. In fact, we heartily recommend that you get into speaking at WordCamps. We’ve benefited a lot from doing so, and have even written a guide to pitching your first talk:
You may also like the online communities in the Intermediate WordPress and Advanced WordPress Facebook groups, and (for the thick-skinned) on Reddit. These things are great digital resources for connecting with other WordPress developers and developer learners.
That’s the first part of our answer on how to find a WordPress learning community. The second part is: Stay tuned, because we’re about to launch one for you.
We’re not writing this just to make an abstract case: we want to actually help you. We’ll soon be launching a new kind of WordPress developer community, one which will help you overcome the WordPress learning challenges, and enjoy the benefits of real community, that we outlined here.
Our articles for the next several weeks will outline how that community works, and why it will benefit your WordPress development learning and work in ways no existing community can.
Thank you for reading, and as always, good luck in your WordPress journey!
Sound promising