Course: Learn WordPress Development
WPShout has helped thousands of people learn WordPress development since 2009. We’ve published hundreds of tutorials, created a premium WordPress development course, and love teaching what we learn in our day jobs as WordPress developers to would-be WordPress developers like you, who are just getting started, need a bit of extra guidance, or need a refresher.
Whilst we’ve had an excellent resource for learning WordPress development in our premium course, to date we’ve never had a clearly-packaged and concise WordPress development guide on WPShout itself. This course will fix that for you, pulling together our very best content on getting started with WordPress development into one place.
We’ll cover the basics of why to do this, and start you on the how to do this, with the first posts and resources that you need. All of this material is free, although for a more complete guide which takes you from “getting started” to “WordPress developer,” you should take a look at our excellent course, Up and Running:
Serious About Learning WordPress Development?Up and Running is our complete “learn WordPress development” course. Now in its updated and expanded Third Edition for 2018, it’s helped hundreds of happy buyers learn WordPress development the fast, smart, and thorough way.
Here’s what they have to say:
“Other courses I’ve tried nearly always lack clear explanations for why WordPress does things a certain way, or how things work together. Up and Running does all of this, and everything is explained clearly and in easy-to-understand language.” -Caroline, WordPress freelancer
This course starts with a philosophical take on why you should learn WordPress development, and we have three subsequent posts which take you from a technical introduction, to programming basics, to a start on local WordPress development.
This is our free WordPress development course! Start with this post, and then continue your WordPress development journey with the links below:
- Introduction: Learn WordPress development
- WordPress is a Factory: A Technical Introduction
- The Four Programming Languages You Must Know To Understand WordPress
- Local WordPress Development: A Rundown of the Options
- Becoming A Freelance WordPress Developer: How to Make a Career of It
- Ready to get to the next level? Take our excellent course on WordPress development, Up and Running.
Why you should learn WordPress development
There are lots of ways to make a living on the internet. You can be a marketer who helps people make money online. You can be a social media maven who helps a celebrity like Jessica Alba connect with her fans. You can be an e-commerce seller who sells great niche goods to fans from around the world. You can be an expert at an important technology and use that skill to help people to have better online businesses. And I’ve hardly scratched the surface.
If you think of yourself as a web implementer, designer, or even a developer who is too good for WordPress, I want to convince you that it is worth learning.
The thesis of this pieces is all those people, and more, should learn WordPress development. If you think of yourself as a web implementer, designer, or even a developer who is too good for WordPress, I want to convince you that it is worth learning. There are lots of reasons that learning WordPress is valuable. The core reason is that with WordPress development in your tool belt, you’ll deliver better solutions for the people you help. You may not do it a lot. And your greater technical skill may not be enough to make an ill-conceived business succeed. But you can and should do it nonetheless.
For Implementers, WordPress Provides Abnormal Control
The thing about WordPress is that it’s super good at most things it does. Its weakness for implementer (people who create sites but don’t design them or write code for them) is that it’s not completely seamless. It’s not always obvious how to do things like making CSS changes or tweaking PHP a bit. You need to understand a little better how the web works, and how WordPress works for that to work.
Being a WordPress implementer without knowing about WordPress development is not impossible. It’s harder. And for that reason it’s useful to have a little more knowledge of what WordPress does under the hood. That knowledge empowers you to change and tweak it as needed.
Squarespace & Co are Coming for Implementers
Website building platforms are making hiring expert-users of WordPress obsolete.
A secondary reason that people who currently implement WordPress but don’t develop for it may want to think about learning is that website building platforms are making expert WordPress use obsolete. WordPress as a tool is intimidating to a lot of people who find they can get what they need from the likes of Wix and Weebly. These platforms have problems — vendor lock-in is real, as is the fact that they allow much less customization than WordPress — but they’re good at getting basic brochureware sites out into the world.
As these tools — and WordPress itself, which is also aware of the threat — get better at being user-friendly and good-enough without professional help, people working in the narrow “WordPress expert implementer” niche will find themselves hard-pressed to find clients. When the market moves against you, the smart people move to where the market is steady or opening. And development for WordPress will be robust for decades. The customizability of WordPress is powerful and important, and it’s not going away or getting supplanted anytime soon.
Designers: Most People Need Websites
People need websites, not mockups.
For people who think of themselves as good designers, there is a different but strong reason to get comfortable with the basics of WordPress development. Being good at building beautiful Photoshop documents that show off how a website should look is an impressive skill. It’s a valuable and marketable talent that people still need. But it’s also a fixed skill set that is getting ever less relevant in a must-be-responsive world where mobile is rapidly replacing the desktop as the dominant platform for web users.
People need websites, not mockups. And so while it’s not too hard to make some basic mobile mockups side-by-side with the desktop ones you’ve been delivering for years, it’s not the same as delivering a design that’s been tested on all devices you own. And that’s where using the actual delivery medium makes the most sense. Amongst all kinds of web development, WordPress is one of the easiest and least intensive to get started in. It’s also the one that’s most likely to allow you to deliver the best results in the shortest time.
Most Sites are Brouchureware
The CMS features of WordPress make it a much better place to learn than, say, Ruby on Rails
Most sites that hire a designer aren’t complex web applications with rich interaction models and lots of complexity. They’re great-looking marketing sites that contain all the information in a rather static format. But there’s so much value in making the real thing yourself. And WordPress’s light programming need is the reason that it’s so good for designers to get into when they know the basics of HTML and CSS, but are scared by anything beyond that.
WordPress is not a perfect programmer’s system — it’s a weird hodge-podge or newer and older ideas of a large variety of quality — but it’s also pretty easy to make progress on for exactly that reason. Most features a designer wants to add to a site can be done with an existing plugin, then some visual tweaks. This is exactly what you, as a designer, thrive on. So the CMS features of WordPress make it a much better place to learn than, say, Ruby on Rails. It’s exactly the right mix to let you see if you like programming. It’s also a great place to stop if it turns out you don’t. You won’t ever do everything you design in WordPress, but it can be the perfect tool for lots of it.
Developers: People Don’t Need Web Apps, They Want to Publish
The right tool to give most of those people isn’t a Django app. It’s a system purpose-built to give them control of their content.
Most web projects in process in the world aren’t complicated multi-faceted, rich-with-data tools. They’re simple sites presenting rather static text that a non-technical person needs to edit on a regular basis. And the right tool to give most of those people isn’t a Django app, or a static site generator, or a bunch of HTML files. It’s a system purpose-built to give them control of their content while it lets you manage the more detailed technical aspects. And this is exactly what WordPress does for you.
There’s many interesting choices in building your own CMS from scratch. I, and more than 50% of semi-seasoned PHP, Ruby, or Python developers have tried it once. But those challenges aren’t that valuable to solve. Again. For the thousandth time. The solutions do differ, but not enough to justify the time expense that gets poured into a CMS-building project in 90% of cases. Unless the CMS is going to be a differentiator for the publisher, spending resources making your own is a waste of time.
Data Standardization and Portability Matters
You will not only find it easy to get data into and out of WordPress for other systems, but you’ll find it easy to move most WordPress sites around the web.
A nice quality of building your own CMS is that you have access to all the parts and all the data. This isn’t true if you build out a site with Squarespace, Wix, etc. But it is true if you build out a site with WordPress(.org). WordPress is GPL-licensed, and connected to a rather-conventional and open-sourced database solution. What this means is that at any time you can stop using WordPress and pull all your data out.
Migration tools for WordPress also number in the hundreds. So you will not only find it easy to get data into and out of WordPress for other systems, but you’ll find it easy to move most WordPress sites around the web to different hosting solutions. Don’t like GoDaddy anymore? Great; SiteGround would love to help you move your WordPress site to them. The opposite, and any other substitutes, are true because of the simple commonality of WordPress-based sites. They’re not identical, but they share enough that most use cases are easy to port. Most data and site moves can be handled by a non-technical person who’s patient. And all them can be done pretty quickly by a technical person who understands the core things about WordPress as a publishing system.
WordPress is the BEST at what it does
There are lots of existing content management systems in the world. And many of them do have some of that open-sourced and simple-database-system stuff that I mentioned about WordPress in the last section. So why choose WordPress?
Drupal has a long history of backwards-incompatible changes that has stifled the third-party ecosystems of plugins, themes, hosting, and more that thrives around WordPress.
Paying for custom app development is rarely the wisest use of capital for any business whose core business is not software they use to generate new capital.
Beyond Drupal, there are lots of other options. Joomla has been around nearly as long as WordPress. Fork CMS (whose name stuck ;p) got my attention a few years ago. Jekyll — a static site generator — is perhaps the most popular non-PHP CMS-like system in existence. And these are all good options. But none of them have even a fifth of the user-base and surrounding software ecosystem that WordPress does. And that vast ecosystem makes both developer’s and end-user’s work easier. A lot of complicated solutions can by prototyped and deployed in WordPress in a small number of hours.
Paying for custom development on a software system isn’t always a bad idea. Far from it. But from a business perspective, it’s rarely the wisest use of capital for any business whose core business is not software they use to generate new capital. That’s why WordPress’s ecosystem makes it the favorite web publishing and marketing tool for so many different businesses.
Why WordPress Development May Waste Your Time
This argument, so far, has been the bull case for learning WordPress development. And there are a number of sound objections one could have about not needing or wanting those skills. Some people–truly–will get no concrete benefit from learning WordPress development. They will get no value from getting better thinking about how that and other systems work under the hood. They’re a small minority of the people who will have read this far. But they exist. Some of the people who I’d discourage from picking up WordPress development:
- People who know their strengths are in less-technical things, and who make a good living leveraging those skills. Lots of people who initially think they’re not-good at technical things can be great at WordPress development — my business- and writing-partner here, Fred, is an example. But for people who are sure their strengths lie elsewhere, and have great jobs, not learning WordPress development is a wise choice. If you can grow Facebook account to millions of followers from nothing — to name one example — don’t try to pick up WordPress development. Keep nailing that one!
- People who have and like their focused job in a technical field. If you’re a Java developer on some specific app your company has had for year, or a Postgres Database Administrator or similar, WordPress development may not be for you. You have the technical skill to do things like WordPress development, and you’re happy using that in a different field. If that’s you, don’t try to learn WordPress. If you’re not enthusiastic about the learning process, don’t waste your time on it.
- People who know WordPress as a publishing system, and think it sucks for that use. I’ll clarify–I’m not saying people who have heard bad things about WordPress’s technical merits shouldn’t learn WordPress development. They should — it’s not a perfect system, but it’s so good for publishing that you must evaluate it on those grounds first. But if you think it’s a bad publishing system, don’t learn how to develop for it. Go make the publishing system you prefer more like those things about WordPress you can admire. Don’t waste your time on something you hate.
Those exceptions granted, if you’ve made it this far you owe it to me and your own sense of curiosity to give learning WordPress development a try. I’ll be one of the first to say that WordPress isn’t a perfect system, but I find it so useful that it’s worth learning for many more people than already know it. No, its technical oddities don’t all bring me unfettered joy as a WordPress developer. But empowering people to publish online, with tools that conform to their needs, does. And WordPress development gives me those powers.
Web Developers Should Solve Clients’ Actual Problems
WordPress development makes empowering people to sell and publish online possible. That’s the heart of my controversial opinion. Many web projects go wrong because the team tasked with making a solution uses its favorite tool rather than the tool that best serves the clients. For some 80% of projects, a basic CMS is the solution that will work the best for the clients. And for 80% of those projects, the best CMS to deploy is WordPress.
But WordPress is the Microsoft Word of the web: a good-enough tool for a giant set of use cases. And a tool that lots and lots of people know and enjoy.
The reason that 64% (80% x 80%) of projects are best served by WordPress is that people know WordPress. Publishers like WordPress. Not everyone gets it and it’s not a perfect system. But it is the Microsoft Word of the web: a good-enough tool for a giant set of use cases. And a tool that lots and lots of people know and enjoy. (Though I admit, I still find it hard to appreciate Microsoft Word. But I do see its users and fans as real and intelligent humans making informed choices.)
There are still a huge number of weird edges to WordPress and reasons that it’s not the perfect system for developers. But it is good enough in almost all those cases. And when you keep in mind that people know and like WordPress as a user experience, you need to have WordPress in your tool belt as a good web professional.
And being a developer is useful, for the reasons we’ve covered thus far. And so for that reason, I encourage you to learn WordPress development. If you want to serve the real problems of people looking for help with web projects, pick up our Up and Running course.
In it you’ll learn the ropes of WordPress development with us. It’s genuinely really good, and our readers think so too. Check it out! Want the next post in this WordPress development course series? Continue reading with WordPress is a Factory.