Why and how does Open Source software

Is WordPress Development a Form of Web Development?

Here comes a harsh opinion coming from a WordPress Core contributor and WordPress agency owner who’s been programming since 1999.

First off, you can’t say “building websites from scratch using WordPress”.

The fact that you can pretty much set up a website in a matter of minutes with WordPress is nowhere near starting with an empty folder, firing up the IDE and spending weeks or months creating a database schema, building an entire content management system on top of it, dealing with user management, a template hierarchy, a plugin system and what not.

With that in mind, you can call yourself a web developer while working with WordPress if you use WordPress as an application framework and focus on building extensible platforms on top of it.

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’ve spent years preaching that in the WordPress ecosystem after some time building enterprise solutions with Java, Python, and PHP.

Since we’ve switched to WordPress entirely as a technical agency, we had to spend over a year full-time studying over 300,000 lines of code shipped with the core platform at the time. We had to explore and implement test applications for each and every API, transfer several high-scale projects to WordPress and build over 50 plugins interacting with the life cycle and other 3rd party applications.

We’ve had a couple of projects where our development team had spent over 5,000 hours on web development on top of WordPress for each of them. Sure, we’ve saved plenty of time by using WordPress, but a team of several engineers had been writing PHP and JavaScript full-time over the course of a year. We could have used CakePHP, Laravel, CodeIgniter (or any other PHP framework that we’ve developed in before), or even Django in Python or JSF/GWT in Java.

Some of our WordPress applications have been built for automotive and aircraft providers, a couple of banks, several magazines generating over 10M page views a month, Software as a Service businesses, educational communities and so on.

The platform itself was a strategic choice and we’re using it as a foundation to build upon. If WordPress suddenly vanishes off the face of the Earth, we’ll simply switch to another framework in order to save some time without compromising on quality.

In order to become a “real web developer”, you should learn software development and computer science first. Then, you need to build a few applications from scratch in order to understand how everything works behind the scenes. With experience, you’d be able to pick the right tool and use it as a starter framework for your web applications.

If WordPress is the only tool you can use for web development and you’d be pretty much jobless if you can’t use it for web development purposes, you’d likely need to step back and learn software development.

Since most of the web development on top of WordPress happens through plugin development and 3rd party integrations, I’ve shared our hiring process when interviewing plugin developers:

Mario Peshev’s answer to How can I test a developer who says he knows WordPress plugin development?