This essay was originally written in 2015 after years of “race to the bottom” in the WordPress space, especially among service providers who sell low-cost solutions without revealing the drawbacks of their work.
For some unknown reason, the number of “WordPress Developers” out there is probably nearing the number of Java developers, despite the fact that all Java developers do program extensively whilst the WordPress developers far too often have no idea what’s going on behind the admin panel.
Full disclosure: I am a WordPress Core contributor since version 3.7 with background in Java and Python. Many of our agency projects serve over 100 million monthly page views and we integrate with hundreds of APIs, analytics solutions, ad providers, and more.
I do conduct interviews on a weekly basis for various reasons, and over the past several years I’ve probably shortlisted over 1,000 applications for WordPress development. This includes hiring locally, virtually, and telecommuters interested in joining our team or any of the technical teams led by our ongoing retainer clients.
A small chunk of the applicants had any exposure to actual programming at all. The rest of them usually fall in one of the following categories:
- WordPress installers – setting up WP websites and installing themes
- WordPress administrators – people who use theme options panels from premium themes and a multitude of plugins to “build” a website
- Virtual assistants
- People who have in fact edited some HTML/CSS to align a menu or hide an element
Developers Actually Code
According to Wikipedia, “Software Development” is:
Software development is the process of computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks involved in a software release life cycle and resulting in a software product. The term refers to a process of writing and maintaining the source code, but in a broader sense of the term it includes all that is involved between the conception of the desired software through to the final manifestation of the software, ideally in a planned and structured process.
There is no ambiguity here. At all.
Programming, writing code, building products, maintaining code and bug fixing. None of those means “installing a platform with a few clicks” or “customizing options built by other programmers“.
I used to find that amusing over the first dozen or two interviews and applications. Nowadays, I do receive submissions by various people, including folks with little to no exposure to power user Internet usage or even “developers” who don’t own a computer (but rather use a smartphone to change themes, write short posts and post statuses on Facebook).
Most people suffer from the Dunning-Kruger effect and know nothing, hence claim to be developers. But far too often this is not the case.
I stumbled upon a tweet that was defined in a proper manner:
Running a website could be WordPress administration or operation, or a number of different terms that have nothing to do with web development.
This wouldn’t have been a major problem unless it affected the entire industry:
- Millions of amateurs selling WordPress services claiming to do what they don’t, in fact, do
- Various clients looking for expert programmers and getting lost in the pool of amateurs
- New clients receiving ridiculously low price offers from “super admins” which leads to huge gaps when receiving an offer for a custom solution on top of WordPress
- Large customers picking another platform due to disappointment by their experience with “WordPress developers” (or generally being unable to find any decent ones)
- Amateurs not knowing what “development” entails and lacking the scope of work a developer deals with on a day-to-day basis
- WordPress customers being hacked, suffering from slow page load times and broken websites
- WordPress plugin repository filled in with plugins causing various issues related to performance, compatibility, broken UI and more
- I’m not even going to touch on the premium WP themes
I’ve written about that plenty of times in different context:
- Why “WordPress Expert” is Not a Real Title?
- The WordPress Industry Is Just As Every Other Field
- On WordPress Talent Shortage
- WordPress Job Titles and Skills – Where Do We Stand?
- Setting the Wrong Example
- Envato Or Why Race To the Bottom Is Dangerous?
- Code Quality and Free Plugins
- Your WordPress Business is Not There Yet
- Keeping WordPress Up-To-Date Is Not Enough
- The Problem With Having To Educate Your Customers
- Blogging And Helping the WordPress Business Ecosystem
The State Of WordPress Development
For everyone working actively in the software engineering industry programming all day long and shaming WordPress, there is some merit to the global perception of the WordPress community. A good percentage of the small business websites and blogs are often DIY solutions or merely WordPress installations with a bunch of themes and plugins installed.
And this is totally fine for a hobby blog or a single page app that displays general information about the business.
That said, there are more than enough use cases that require heavy programming, scaling large systems, performing migrations from 3rd party frameworks to WordPress platforms, enhancing security for enterprises, building educational multisite networks for universities, crafting Software as a Service solutions on top of WordPress and more.
We’ve been involved in each of these cases. Currently, we do provide ongoing development for several sites generating over 10M page views a month, as well as franchise networks ran by enterprises, large media outlets, professional event management platforms and several more.
WordPress as An Application Framework
While WordPress has initially started as a blogging platform, its popularity has led to increasing the scope of applications that WordPress is a suitable solution for.
Back in WordPress 3.0, custom post types and an editable taxonomy engine were introduced. Over the years, WordPress became a tool of choice for application framework development as well. In 2016, the REST API had been included as a part of the WordPress Core, making it possible to build single page applications or completely detached software solutions interacting with a WordPress website through its various APIs.
Moreover, the most popular eCommerce solution nowadays is WooCommerce – currently powering 41% of all eCommerce websites using a known eCommerce platform:
I wrote the definitive guide to the skills taught at a Computer Science specialty that is relevant to WordPress development at WP Elevation:
My guide includes a list of skills such as: Computer Architectures, Operating Systems, Networks, Databases, Programming Languages, Data Structures, Algorithms and more that are used by developers while building a web solution in order to build a robust, scalable and reliable end product for the right stack while considering other aspects related to building, operating and running a web solution.
Should Web Developers Use WordPress?
Yes, there is no practical reason for web developers to avoid WordPress whenever the platform provides a good chunk of the required functionality.
Let’s take into account the fact that WordPress comes with a bunch of features out of the box:
- An engine for creating pages and posts (news entries, articles)
- A role engine with several roles and different capabilities having access to various features
- A media component for uploading media, resizing images, creating post thumbnails
- A full-fledged dashboard with limited features depending on the user role
- A large suite of themes and plugins that you can extend further
- Comments, additional tools, default website settings
Otherwise, if you’re someone who offers “WordPress development” but don’t code, and you haven’t read about the different layers under WordPress itself, please change your title to something relevant to your skills and service offering. Also, in order to evolve and start offering valuable solutions, allocate some time, and start reading – extensively – about everything that happens from the hardware through the network layers to the databases and programming languages.
Installing a website itself is of no service to most clients who can accomplish the same in a couple of hours with a cheap host providing a detailed guide on their website. Providing real value and investing your relevant skills or partnering with a technical expert would be far more rewarding to you and your customers, and allow you to step up and take on great custom projects for large businesses.