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.

Existing programming solutions. Via http://dilbert.com/

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

– 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

– people who use theme options panels from premium themes and a multitude of plugins to “build” a website Virtual assistants

Bloggers

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:

As a WordPress Designer/Super Admin – I can't wait to give #blog insights from #mnblogcon to my blogger clients! — Erica Schaaf (@EricaSchaaf1) November 14, 2015

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:

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:

WordPress has been used by thousands of reputable brands, high-traffic websites, Fortune 500 companies and some of the leading giants on the Internet. Their teams are comprised of capable PHP and JavaScript engineers, devops experts, integration specialists and other qualified folks who make sure that the system is up and running, compatible with upcoming features and additional enhancements, secure, and fast.

I wrote the definitive guide to the skills taught at a Computer Science specialty that is relevant to WordPress development at WP Elevation:

Building a Web Product Requires a Set of Skills

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

With that in mind, as a web developer, you don’t need to reinvent the wheel when you can use WordPress. Put your PHP and JavaScript skills in use, study the default database schema and the plugin APIs provided by WordPress and use it as an application framework accordingly – just as you’d do with Laravel, FuelPHP, CakePHP, CodeIgniter or any of the other frameworks out there (excluding the UI element).

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.