Don’t Call Yourself a Developer If You Don’t Code

For some unknown reason, the number of “WordPress Developers” out there is probably nearing the number of Java developers, despite of 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.

I do conduct interviews on a weekly basis for various reasons, and over the past couple of years I’ve probably shortlisted over 700 applications for WordPress development. The original article was written late 2015 and updated in April 2017, adding up to a few hundred interviews on the way – both locally, virtually, and by 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/
Existing programming solutions. Via http://dilbert.com/

A tiny chunk of the applicants had any exposure to code 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 option 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:

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.

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
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 fully-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.

127 thoughts on “Don’t Call Yourself a Developer If You Don’t Code

  1. Don’t you agree that a developer doesn’t necessary need to be a programmer like yourself? For example, a person may be comfortable using the WordPress codex to create themes but he is not actually writing the code. He is just using bits of code in his own themes to display different kinds of content in different sections of his themes? This doesn’t involve creating php arrays or functions because there is no need for them. Yet, can’t this person be called a WP developer?

    1. That’s a valid question, but the short answer is no.

      The lengthier version refers to the definition of programming again, and to the varying type of programming languages and stacks. Embedded development requires some skills, mobile dev others, web development as well, etc.

      What you are referring to is not a development, unless it is classified as front-end development due to the extensive use of HTML, CSS and JavaScript, which is a specific niche when it comes to dev work. Just using and existing theme and slightly modifying it though is not development. Not being aware of functions or arrays (the very next thing in 101 courses after variables, conditional statements and loops) also hints not development.

      WordPress development is another niche of software development on top of the WordPress platform. That includes plugin development and building extensions for other plugins and the WordPress core, complete know-how of the WordPress APIs and life cycle, debugging skills and understanding the underlying layers related to the database communication, operation of web servers, file permissions, different technological stacks and so forth.

      As compared to a web developer who is just as comfortable building a product on top of WordPress as is when extending Laravel or building from scratch, this ain’t dev.

      Then we reach to the skill set of each developer which is certainly arguable. I have over a dozen years of desktop, web and some mobile dev experience, but I wouldn’t diss a developer who has been coding for a year as long as he or she is actually performing development activities (we have some juniors in house that I gladly help improve over time).

      1. Yes, since I’m talking about WP themes, I’m referring to front-end development mostly. This also involves quite a bit of coding but I wouldn’t call it programming since I’m not writing the code for the jQuery plugin I use in my themes, for example.

        1. You’re not a developer. You’re a cowboy. And you’re not being paid for your skills. You’re being paid for your inhibition to do something you know nothing about. You’re able to charge money for this, because few people (rightly so) will not just start hammering away on source code in a text editor when they know nothing about that which they are doing. This may work for a while. But eventually, you’ll experience a catastrophe. People like you are dangerous. Spend a few hours a week to learn about programming. Then you’ll learn what you don’t know. From there you can do the right thing and stop taking people’s money to hack on text files OR invest in learning about what you are doing before taking people’s money to do it.

        2. Yavor,

          Why are you using a JQuery plugin in your theme? WordPress already comes packaged with JQuery, and you should be enqueing that instead of loading it twice. Here’s a tutorial you can use. And that’s my good deed for the day done.

          Not to be rude, but this is the kind of thing we’re talking about when we say people who don’t code aren’t developing. Hacking a theme isn’t development. It’s not that there’s not a market for theme customization, but that’s exactly what it is. Theme customization. Not development. there’s nothing wrong with theme customization, as long as it’s being done correctly, and you’re using either a well-built theme as a parent, or a well-built framework, (Genesis, Compass, and Hybrid Core come to mind off the top of my head, although I prefer Genesis), and your customizations are also not just some hack to get some feature working or removed or whatever, and that breaks down the line when WordPress gets updated, or plugins get updated, whatever. Because I work in the field of accessibility, I customize a lot of themes. Sometimes, when it starts to become a complete rewrite, I’ll start over and start from scratch, depending on the theme the client as asked to be customized. But at that stage of the site build, I’m not doing development. I’m customizing the theme, and will then develop some custom plugins to do things like add things to the backend, change the way the backend of wordPress behaves, add some functionality needed for the theme, ETC. So if you’re selling your services as a developer, stop. Because you’re not developing. You’re customizing.

          1. Amanda, I was talking about including jQuery plugins in MY own themes published on WordPress.org, Take a cup a coffee to clear your thoughts and come back when you feel better and can concentrate on the subject at hand.

    2. No. Being a developer means you “develop” things. Not using features another person built to create something. That’s called “being a user”.

      1. By your reasoning, there is no such thing as a WordPress developer because every plugin or theme written for WP is a derivative work. Remember, you can not have a WP theme or plugin that does not interface with WP. Someone else built WP, you, whatever your role, are just a user – by your definition.

        By your definition, only people who write their CMS/webapp from scratch, no frameworks, are developers.

          1. This entire article is just a public ego stroke-fest. I mean, the author is trying to tell me I can’t be a developer if I don’t know about how the internet works, how my PC stores data to disk, how the Unix kernel boots up, how garbage collection in C works — just to write a WordPress theme.

        1. Actually yes, that’s close to what I’m saying. Then again, I’m referring to “Developer” and “WordPress Developer” which is not a “WordPress Theme Developer” being a separate niche skill.

          A WordPress Developer may be able to build themes, but a WordPress Theme Developer is not able to build the majority of the stuff a WordPress Developer does on a day-to-day basis. That’s why we don’t call ourselves “Internet Experts” as there’s so much to know and do online that it’s irrelevant to use a title like that.

          1. By your reasoning, how can there be such a person as a “WordPress Developer”? WordPress developers are always taught to not modified core files. If you build a WP theme or plugin, it is considered a derivative work, it is only interfacing with WP core. A WP theme or plugin cannot work without WordPress, so by your reasoning a theme/plugin built on top of Ma.tt’s work, isn’t software development.

            By your definition of a software developer, to be “correctly” labelled as one, you have to build a CMS/webapp from scratch, no frameworks.

          2. I believe that we can get into semantics and argue each other for a while. That’s not my point here.

            Just to clarify again – there are various nuances of development, and same goes for building applications on top of WordPress. I’m not arguing particularly against theme developers, or people building tiny 10-line plugins, or people debugging and fixing existing sites without too much code.

            But in my dictionary development is different than installing WordPress through a web installer, adding a theme and a few plugins and that’s all. Some may say that Lego is one of the top 3 largest brands in the world, and that’s development. I don’t see it that way and I don’t mind people who disagree with that – if that’s the case with you.

            We get dozens of requests a month from people being abandoned by their “developers” when they ask for something outside of a plugin. The other day I helped a church for free since their “agency” didn’t find a dumb argument in the shortcode of their player for enabling downloads for their church choirs and stalled for 3 weeks whilst the agency added a plugin from WordPress.org which clearly listed all shortcode arguments – one of which being download. I find that disturbing, insulting even and it pains me.

      1. Jan, it doesn’t matter what language someone has used. People that are classically trained will have a superficial knowledge of assembly and C, but unless they’ve worked on embedded systems or high performance software, it is unlikely, that in the 2010s that a person would have real experience working with these languages. Most developers will have spent their careers working with third and fourth generation languages like C++, C#, Objective-C, Java, JavaScript, Ruby, Python, PHP. Just because they don’t write things in c or assembly doesn’t make them not developers. That’s just silly. Not to mention, what is really important is the understanding of the concepts. With that understanding in hand, one can pickup languages as needed.

        I’d fathom that the litmus test is you are a developer is if you can read and understand other people’s source code and you can express your own ideas in code.

        1. Thanks Sandor – despite of the fact that I’ve written stuff in both C and assembly, I don’t think they are required for a developer.

          But there are plenty of skills needed for most fields in development – some I’ve explicitly stated in the post – not possessed by far too many self-titled WordPress developers.

          That said, I’m aware that there are nuances and shades of development and some are more extreme than others, but none of those includes installing themes from an admin panel.

  2. A “WordPress Developer” develops WordPress solutions like a “Business Developer” develops businesses. None of them code. If you want someone who develops software then I suggest you search for a “Software Developer”, or a “WordPress Software Developer” 😉

    1. Installing a WordPress site and changing theme options is not WordPress development. Building large and scalable applications on top of WordPress, extensible and feature-rich WordPress plugins or migrating proprietary applications to WordPress is something that actual WordPress developers do.

  3. Hey Mario, I am the first to admit, I love this post. I do believe a huge gray area has grown between developers and designers (or other WordPress site builders). I get so many people requesting a “developer” when that isn’t really what they need, in my eyes. Others, well, it’s exactly what they need. For me a WordPress developer not only knows code, but knows the WP core code through and through.

    Also, I know a lot of designers who use Page and Site builders, for the very reason that they don’t need to know code. But at the same time some of them sneak in the label developer. Or they customize an existing theme with a few tweaks and all themselves a developer. None of which I feel is the right label.

    I still get people calling me a developer vs. a designer, when I have been doing design a long time and have no desire to be a coder. I know just enough CSS to be dangerous, but that does not make me a developer. I often have to correct people.

    Lastly, from talking to clients and users all across the board, they assume that a developer does know and understand code. That they can take something from scratch and create a custom site. They are the coders.

    Thanks again and you hit the nail on the head as far as how I define a WordPress developer as well. Cheers!

    1. Hey Bob, thanks for joining the discussion. I’ve always admired you as being incredibly proactive in the WordPress community and also actively engaged in training activities without labeling yourself as a developer. That’s rare and helps teaching people the difference.

      For me a WordPress developer not only knows code, but knows the WP core code through and through.

      Absolutely!

      Lastly, from talking to clients and users all across the board, they assume that a developer does know and understand code. That they can take something from scratch and create a custom site. They are the coders.

      That’s what development means in the Java, Ruby, Python, node, C#, C++ and all other tech communities, including PHP-relevant ones such as frameworks and even Drupal. No clue how WordPress tends to be different here.

        1. The on-boarding I believe. The others mentioned there are frameworks. They don’t have administration. To accomplish something, you have to write some code. WordPress is different. WordPress has wp-admin, which gives user an interface to achieve something, without writing a single line of code.

          WP should be compared to Joomla (or Drupal or other CMS for that sake). I bet there are Joomla developers and Joomla ‘developers’ out there. But since WP has the largest share of the CMS market, the obvious choice nowadays is to start with WP, hence the problem being the most obvious in our pool 🙂

          At the same time I would like to add, that WordPress developer is a very ambiguous term. I believe there is no WP developer out there (despite I sometimes use this term). There are PHP developers which specialize in some framework or CMS. WP developer = PHP developer, who got his head around WP. It is the same problem I see in JS community. People calling themselves jQuery developers. I won’t even go further explaining that, as I think is it obvious what is wrong here (Dunning-Kruger full power!).

          1. just a friendly reminder that wordpress is not actually a CMS. It is a blog engine with CMS-like features tacked on (and quite sloppily, imo) as an afterthought. WordPress is not a CMS. django-cms is a CMS.

        2. Agreed on on-boarding and frameworks, and that’s totally valid.

          And it’s similar with Joomla – but way different with Drupal. I have attended Drupal Camps and spent some time with Drupal folks – it’s completely different there. You can set up a website with Drupal easily, but it still requires quite a lot of work. All modules are highly customized, often require building custom extensions, and building themes is far more complicated than the WordPress way.

          Their module repository is not as easy to get into, their community is favoring development over all, their market is enterprise and things work in a completely different manner. So yes, Drupal onboarding is easy, but their community is kept in tact and it’s clear what a Developer does there.

  4. I’m going to take it a but further. A coder is little more than someone who assembles the Lego’s together. A programmer is one who creates solutions to problems algorithmically. Programmers understand how machines work and build on that knowledge.
    The result of a coders’s labor is the computing equivalent of a prefabricated home. Programmers build stick by stick, driving each nail carefully, building something that coders will undoubtably one day re-use for their own projects. Coders are factory workers, programmers are craftsmen. Each useful, but different.

      1. I just want to state that the vast majority of software development is *not* engineering as a discipline and is usually a craft. There are some fields where it is engineering as a disciplined practice, but this is the exception far more than the rule.

        I think there’s room for all levels, but in this case most of the people in question should be WordPress Designers, WordPress Administrators or similar. If your skills relate to actual software, and your understanding covers more generic usage and tools then you can call yourself a developer.

        Beyond that, Architect, Developer, Programmer, (Software) Engineer is pretty much meaningless in terms of distinguishing characteristics and blurred lines prevail. The only point I consider in contention is generally I don’t like the term Engineer applied to software development that isn’t done as a more pure engineering practice. I don’t care if I’m called Most Junior of Code Monkeys or if it’s Software Developer IV as long as I’m paid well and the work is mildly interesting.

        1. I have to admit – “WP Designer” suits me well, but I can imagine my rage if I were a designer and I see someone installing a paid theme and calling himself/herself a designer. WordPress administrator, power user, site builder, implementer are definitely terms that are the right fit for the job description we’re discussing.

          And yes, I also find the tech definitions blurry at best – although they all imply that the person is involved with actual programming activity to some extent which is what we aim for, too.

          1. I don’t think there is something like WordPress Designer, since if you are going to be designer, what your end product become is not required to be build on WP at all, there are many other frameworks that can do the job. Designing i think is never limited to just one tool, the site you make can be anything + designing as Mario mentioned is not installing themes or playing with sliders to add/remove some paddings or margins or change the color of a button.

            I would categorise them as users, not developers. They use the end product with its options and settings, same if i open photoshop and create some document. I am not coding it, i am not building on top of it, i am just using what is being provided. Only the type of software is different, the rest is the same. As mentioned the problem is not what they do, but the title they give to them self.

  5. Coming back, I just have to add. I think we can define what a developer is or should be. Or look at it from the actual definition of the word. But what we really need to understand is what people look for in a developer and what their expectations are. I think this is where the post is spot on. I only say this as I have worked and trained thousands of people who carry this same perception of what a developer is.

    1. Have you seen http://taupecat.com/2015/11/the-case-for-wordpress-certification/ ? I do believe that a certification program would help a lot, but I don’t care about certificates as much as the opportunity to define roles properly.

      The problem with the “WordPress developers” I refer to is that a real developer cannot appear on the radar of the majority of the clients looking for custom development. They need to blend in the endless ocean with everyone else, or come up with custom titles that can’t be searched for when looking for custom services.

      Same goes for hiring. And it affects other areas of WordPress – from the ThemeForest themes, through some broken WordPress.org-hosted plugins, and more. Large businesses and enterprises are often afraid of WordPress as being a playground for small projects when not appearing as a professional platform with a large pool of experts, a stable plugin category of reliable plugins, a set of tools used by other development communities and so on.

      1. So true, and yes, I have seen that before. It’s crazy as I get asked for dev references a lot, and when I think about it there are only a few I really feel confident to recommend. Especially for those projects that really need some deep diving.

        1. Yes indeed. Even if I’ve met a lot of folks at WordCamps or online, I have no clue what most of them know and can do, and can’t verify that at all, due to the nature of the work and the lack of proof.

  6. ” Good artists copy, great artists steal. ”

    -Pablo Picasso

    Just like the above quote

    Good WordPress Developers use others plugins , great wordpress Developers write their own code.

  7. “Don’t call it a programming language unless it compiles”. It’s the same way C language purist who don’t think PHP should be called a programming language.

    I am so glad I don’t need group consensus to validate who I am or what I do.

  8. True Story…

    I had a lady contact me about a BuddyPress site, “developer” left her hanging and dissapeared after snathcing 8 grand in payment. I listened to her requirements, then logged into her site and found out the “developer” only install a few plugins, off shelf theme and toggled a few settings. She wasn’t happy when I told her the “developer” was most likely not a developer and didnt even know the inner workings of BuddyPress let alone WordPress.

    I was furious that someone called themselves a BuddyPress developer when they were not souring the title “BuddyPress/WordPress Developer”. So, I simpathize with the tone of this post. Be honest and upfront, hire out the things you do not know how to do. Clients dont care about your titles or who builds functionality. They just want an end product that works.

    1. We probably get that on a weekly basis, which is the reason I’m so concerned about that (wouldn’t be the case if it happened twice a year or so). Moreover, when we quote a client for real work, they often shout: “But that thing costs $200/$1K – what the hell are you talking about???”.

      Fake titles, poor work, underpricing, broken solutions, bad rap for WordPress as a whole, low salaries for WordPress developers, hard to find talent and many software developers won’t touch WordPress with a 10-foot pole.

  9. One defining characteristic of a developer or true developer ought to be that they work in an agnostic manner with whatever tools suit the project at hand. Frontend developers or full stack developers should be able to build sites from a series of blank ansi files, in that sense they are ‘Web Developers’ or ‘Frontend developers’, they will be variously described as ‘coders’ as they write code, whether it be HTML, XML, CSS, JS, A pre-requisite for these skills set is being able to perform these tasks without re-course to platforms or frameworks. Describing oneself as a WordPress Developer is always going to need detailed clarification and imho best avoided as a label, I tend to work exclusively with WP however my skill sets were learnt before it existed and in a true agnostic style and I never refer to myself as a WP Developer. As for the term ‘Programmer’ as I always understood it it is incorrect to ever apply the term ‘programmer’ to the writing of interpreted script languages as these do not truly fall under the umbrella of programming languages, PHP is an interpreted scripting language, I write PHP i never ever refer to myself as a programmer that would be entirely misrepresenting my skills and ability levels.

    1. One defining characteristic of a developer or true developer ought to be that they work in an agnostic manner with whatever tools suit the project at hand

      Absolutely – can’t agree more.

      One of the main problems covered in my post is that a real developer competes with the other 99% “developers”, and that goes both ways. Often real developers get back to what they do in Laravel, Rails, Django, or plain X, or mobile, or whatever; and clients can’t seem to find a capable fit for their work.

      That said, the reason I don’t prefer “web developer” (not that I use WP developer) is that I do have extensive experience in several languages and a dozen of frameworks, but I do full-time WordPress work nowadays and I prefer that to be clear for everyone.

  10. To me, a WordPress Developer is someone who contributes to WordPress core.

    A WordPress Plugin / Theme Developer is someone who writes themes / plugins.

    People like, I PHP code a lot but I do not like WordPress very much (won’t go into why here, philosophy difference). Even though I have written a few plugins and occasional fix bugs in plugins / themes for pay, do not consider myself to be a WordPress Developer or a Plugin / Theme developer because it goes months between times when I touch WordPress.

    But no one should ever call themselves a WordPress Developer unless they regularly have code accepted into the core project. Occasional patch accepted, they are a WordPress Contributor.

    No one should call themselves a WordPress Plugin / Theme unless they have written Plugins / Themes in use by other people.

    Good communication is clear communication. The terms must have meaning.

    Thank you for this post, it is dead on correct.

    1. Thanks Alice, a lot of food for thought here.

      To be honest, I know dozens of full-stack web developers who have solid experience with high-end WordPress projects and haven’t contributed to Core. I believe that this is a philosophical question regarding contributing, priorities – or a moral one. That also includes some politics regarding getting patches in and the thousands of open Trac tickets (some for 6-8 years now). But I certainly get your point.

      There are also a lot of patches for inline docs or one-liners in CSS that are probably arguable. And then there are the 1 million freelancers providing WP development services (or so they say) that can’t be validated easily due to the lack of any standards, pre-listed pool of proven experts and so forth.

  11. Software developer != WordPress developer.

    Define developer by itself and the result is “a person or thing that develops something.” — so by that nature, you don’t need to know code to transform wordpress.zip to a site with plugins and themes, etc. WordPress is a software package, just like there Squarespace developers, or Business catalyst developers.

    If someone said they were a software developer who builds on WordPress platform, but didn’t know code, that’d give you a reason to ague against it.

    It’s also worth noting, to a possibly larger group (and likely higher average calibre) of software developers (eg, C, Rails, Python, Django etc) , people who call themselves developers but only use WordPress and PHP are just amateurs wanting to be real coders.

    1. Over the past couple of months I spoke at both a PHP and a Java conference. I know how people react at a PHP event when hearing “WordPress” and how much more magnified it is at a Java conference – especially being Java certified myself and coming from the enterprise development bubble.

      Whilst I disagree with you on your own definition on “development” (or rather, when compared to the actual statistical extract of “development” in the first 10 million results), what would you call full-stack, or PHP developers who come from other industries and do full-time WordPress work?

      1. It wasn’t my definition, it was from Google.

        I wouldn’t get as hung up on an issue like this as you are. People can and will call themselves whatever they want. If you or I think we’re not in the same class as developer that just tweaks themes, then that’s a comms/marketing problem.

        Roles are pointless in my opinion (and I don’t really use them), I personally don’t like people calling themselves a CEO when they aren’t – but that’s something I need to deal with and get over, I’m not going to change other people from doing it.

        1. Usually when I blog, I consider the time I’m about to spend on reading comments and tweets, replying back and get engaged with discussions – and think about whether it’s worth heading there.

          And if I decide to post, I’ve went (in my mind) through an alternate reality when things proceed in a given way. Various alternatives, for example:

          1) WordPress loses many business opportunities thanks to the poor amateur community where everything beyond Core is not worth using
          2) Squarespace and Wix stealing the market share due to simpler UI and toolkits that are a good fit for bloggers, marketers, business card websites, etc
          3) Enterprise and large clients switching to Drupal 8 (which is pretty cool other than UI) and sticking to Rails, Django, Laravel, ASP.NET MVC, JSF/Spring MVC or whatever
          4) or WordPress reaching 40%-50% of the market, most businesses (other than mission-critical data-related like stock markets, banks, social networks etc) switch to WordPress, code quality is still poor, timelines are cut in half, salaries decreased, other web developers have to switch to WordPress or their rates go down thanks to the gap between a custom framework build vs WP

          Either way, those are imaginary, but whenever I post, I try to bring a fresh perspective and actual problems I see, and discuss them with other people at large WordCamps and over the phone/Skype. It’s worth giving a shot at least for me.

  12. At Pagely, we call them: WP Themers. Our support staff even corrects/educated the clients as needed.

    “I spoke with your Themer regarding… “.

    “You mean our developer?”

    “No. You hired a Themer, this person cannot code.”

  13. I like to use the word “facilitator” or “designer” for myself. While I do create my own themes, and on occasions create my own plugins to fulfill a specific task, I, by no means would claim to be “developing” new ideas, but am coming up to solutions to problems that utilise existing code that I adapt, or by implementing solutions designed by others.

    Whilst I do “develop” custom solutions, which on occasions does mean I implement and adapt code, I am building on the skills of other far more intelligent and creative experts. I am a “middle man” in this aspect, and while I “facilitate” my customers needs, and while I have WordPress skills, I am by no means at the cutting edge.

    I have to confess that by “designing” custom solutions, and this does mean implementing specific types of code into my themes and bespoke plugins, I am designing the solutions for specific customers – maybe a better way of describing myself would be a “problem-solver” or “solution-finder”. It is my understanding of WordPress and computing principles that help me with this.

    While I first baulked at the “insult” of not being labelled a “developer” I completely get the idea and principle – I actually agree with it. I suppose the best way I describe my role is educating and enabling my customers to use powerful tools that are available, but they are not aware of – and as for “Premium” themes – don’t get me started. I like to design my own as it helps me to understand my customers needs better, and in therefore, their customer’s needs. Is a “facilitator” the human face of the incredibly clever and creative world of developers, an interface if you like? Most probably – both are needed, both are required and both depend on each other.

    A very thought provoking article – Thank you!

    1. Thanks for the honest response and the brainstorming you’ve put into it. I’m really glad that it’s helpful to some people and I’m always happy to help the ones eager to learn, grow and get better.

      Thanks again!

  14. Hey Mario,

    Thanks for all the work you do to educate people, I love the article. This is truly a very problematic topic in the WordPress world.

    The titles that people give themselves create all sorts of expectations, and in the WordPress ecosystem, these expectations are completely skewed, from both the consumer & the producer side. It lowers the overall value of the marketplace, and I wouldn’t be surprised to find out that these “ninjas & gurus” have already caused one or the other business person to fight for their existence because they lost their investment.

    WordPress is derided in most of the other technological spaces, no matter how much market share it has, and these overblown titles combined with the lacking competence are the main reason for that.

    I also find the comments here to give some valuable insights:

    – there seems to be a common misconception that you either a.) make themes or b.) change core. People seem to be completely unaware that WP is a solid development platform that can create web apps, games, management systems, whatever… And to develop, you don’t “change core”, you reuse and extend it.

    – there’s a lot of personal attacks in the comments, which is really a shame, seeing as to what lengths you are going to help people advance in their career (free of charge). Such an attitude by these commenters is probably something I will never be able to comprehend…

    Please keep up putting content like this out there… who knows, you might have reached a couple of your readers! 😉

    Cheers!

    1. > WP is a solid development platform that can create web apps, games, management systems, whatever

      Sorry for offtopic, but I am wondering how one can create games with WP? Do you have any examples? I can see the usecase for management systems, also for the web apps to some degree now when REST API is coming to core. But games?

      1. No, sorry, unfortunately I don’t have any examples for this.

        WordPress is a collection of integrated subsystems on top of a web architecture. You don’t need to use the whole platform, and you don’t need to use the standard plugins & themes.

        For a multiplayer web game, for example, WP would already provide you with user authentication/profiles/management, messaging systems, database management, filesystem management, server abstraction, …

        In the end, all it does is generate HTML to send to a client’s browser… and the developer can completely shape what that HTML will look like. So, whether you want to build a game, or a weather app, or a trading app, or a comic book viewer, or a… you’ll be able to do it.

        You might want to take a look at the following video: https://www.youtube.com/watch?v=GCWXZ4-jOpw

        It doesn’t give any specific details, but it explains more clearly how client-server works, and role WordPress plays in this.

    2. Quick addition:

      I didn’t want to self-promote, but as Mario is okay with it, here we go…

      If you want to learn in more detail what the notions of “Programmer”, “Software Developer” and “Software Engineer” mean to the outside world (meaning everyone who uses more than WordPress), feel free to check into the following course material:
      https://school.wpdevelopersclub.com/courses/se-0050-understanding-role-software-professional/

      To take that course, you’ll have to sign up here first: https://wpdevelopersclub.com/join-the-wordpress-developers-club/

      Both the membership as well as this particular course are completely free of charge!

      I would heartily recommend this for everyone, even those that have left so harsh comments here. It will only take you half an hour, and you might be surprised to find out that there’s a lot more to the term “developer” than you thought.

      So, now I will be probably be the target of some ridicule as well!

      Have fun!

    3. I don’t find WordPress to be solid.

      First of all, it’s database manager doesn’t properly support prepared statements. Oh it claims it does, but that’s a lie, it uses printf. Prepared statements are useful not just for security, but for cases where you want to re-use a particular query with different arguments. That is something I frequently do and it is a pain the arse when someome wants me to port my code to a WordPress plugin because you literally can’t do it.

      WordPress also runs a lot of un-necessary code with every pageload. Every plugin has a piece of code run with it.

      And Ajax in WordPress is horrible – when I write plugins, I just bypass the WordPress Ajax facilities because I hate them. Too difficult for me to effectively debug. Maybe if I frequently did wordpress stuff it would seem natural, but since most of my web programming is not WordPress, trying to use WordPress Ajax facilities means I can’t debug in the normal way.

      And the emulated magic quotes – gah! yes, I bypass those too. There is a reason why PHP removed support for magic quotes.

      To say WordPress is a solid platform, sorry. It is a popular platform with a lot of momentum, but it does a lot of things poorly.

      In my opinion as someone who curses more than a sailor when I have to do something with it.

  15. I think what this whole discussion boils down to is (a) don’t inflate yourself with titles you shouldn’t use, and more importantly (b) be honest about your skillset when selling services to clients. Sell what you know, be honest about what you don’t know, and keep learning. More here.

  16. I’d dive into the world of “Programming/Developing” from my interest in Develop computer powered solutions for consumers which will be distributed via CD back in early ’99- soon I’ve walked into “Desktop Application Development” (end-user applications) to Web Development.

    Due to some partnership issue (burnout) when I’d to close services I’d providing for Startups- I took into WordPress and what surprise me most is that- A individual “WordPress developer” could be anything- from a skilled “Core” programmer to “Super User”, A button pusher to “Designer”- Looks like in the WordPress related agency, freelancers, and service providers are claiming anything they like and getting along with it. This is a total mess. Which is not that worse in other sectors though.

    If WordPress going to be more than 50% of Web this need to be addressed, yes. The more days goes by the way currently it is- will hurt the industry badly, even if it doesn’t look much harmful as it is now.

  17. Your issue should be with the developers who are making tools for convenience. It’s made it hard to get anyone to spend money on their sites these days. Maybe you should join and create tools to simplify the process rather than be mad it’s not 1995 where everyone depended on developers. Things change and a new market was created. Fact is that most small businesses cannot afford nor need an expert like yourself. There’s a market for people who know WordPress but who don’t do extensive coding. There’s more than the website to consider and while I agree there are a lot of brother in laws setting up out of box themes, I wouldn’t write off everyone. How does a small business afford website, SEO, social media, branding etc?

    I find developers suck at project managing and people skills. And design. And sales.And SEO. And the day to day operations. And many of the other things needed. I don’t code because I hate it. I know enough but prefer the creative and strategic part. I team with someone to do my development and I do everything else he hates. Like dealing with people lol.

  18. I read your post this morning and I can’t figure out what your goal is or what issue you’re trying to solve. How does this post help the WordPress community or ecosystem?

    Any person who calls themselves a “WordPress developer” could have any level of programming knowledge. It’s up to whomever hires them to do due diligence and ensure the prospective hire has the qualifications necessary.

    If a person wants to call themselves a “developer”, what harm is there? How does it hurt anyone? If a 13 year old who’s learned how to change some CSS and HTML on their site wants to call themselves a WordPress developer, I fully support them.

    Furthermore, why must everyone label themselves according to your (or Wikipedia’s) definition? For example, if I don’t agree with your self-titles of “WordPress Architect” and “Business Strategist,” should I blog about it and tell you to stop using those titles?

    In all honesty, I find posts like these – many of which seem to come from you lately – to be harmful to the community and ecosystem.

  19. Sam, obviously we do have a different perspective of the term or the ecosystem. I do respect your opinion, but I won’t stop calling out people who have never ever changed or written a single line of code in their life calling themselves developers and then producing poor solutions, deceiving the percentage of clients who can make a difference between an installer and a developer, and ruining reputation due to slow or broken websites yielding notices and warnings.

    Also, if you want to blog about my titles, yes, go ahead. I’ve said before that I’ll apologize personally to every architect (construction field) who feels insulted despite of my “software architect”-related position due to the polluted version of the “developer” one.

    As for hurting anyone, why yes, I’ve listed the problems in the bulleted list above.

    Also, as someone who does hiring for us or our clients who look for outsourced CTO services, 98% (out of 1000) of the received applications are people with no code experience applying to “Experienced PHP developer for a WordPress team”-kind of offers that require at least 3 years of practical PHP experience with Zend, Symfony or alternative framework, perfect command of OOP, previous experience with Angular or Backbone, knowledge in SQL, preferrable experience with TDD and so forth.

    My last few applications (just from this morning when I woke up) was from a few spammers, a marketing lady who openly sells Facebook designs, SEO, SMM, Press releases, Twitter/FB ads but applies with 10+ years of programming experience + web services, web security, eCommerce integration etc etc, and then a call center employee who had to change some of their reports to clients and add paragraphs or divs around some entries to avoid breaking their internal system.

    None of them has ever seen PHP, JS, or SQL – they had some minor exposure to HTML and apply freely for that kind of jobs.

    If you do it the other way around and look for a developer online, that often gets scary. And I’ve met hundreds of clients who have abandoned the platform due to similar reasons.

    So yes, while you may disagree and see it as harmful, I don’t see it this way. If the plan for WordPress over the next 5 years is to be the best and most powerful blogging platform, then obviously there is no use for developers at all (but site builders) and enterprise (or large) clients should indeed avoid it at all costs. If that is the case, a roadmap would be of a paramount importance in order to solve all of those online conflicts at once.

  20. I think this is a great article, I am a Web Designer who is really good with software and WordPress works great for me! But when I need some-one to fix code or change the Theme I purchased a little bit to fit the customers needs, I hire a developer, that’s what they do!

    Same could be said about developers they are NOT all designers. I don’t a see a problem.

  21. I in no way consider myself a developer, or even a designer really. I use the title of ‘implementer’ – I guide people through the initial WordPress install, and simply aid in plugin/theme installation/configuration. I can do minimal HTML/CSS customisations through use of child themes and have only ever made a plugin once which had a very simple function (which I really struggled with due to my lack of knowledge, admittedly). I’d love to learn more, and I do strive to continue my development, but currently I’m more interested in the following: do people think my description as a ‘WordPress Implementer’ is accurate? I’ve always been very concerned with not stepping on people’s toes.

    1. Thanks Joe, I really appreciate and value your concerns. I’ve seen that other CMS communities with certification and training programs use Site Builder for Implementer – maybe you can consider that if you’re worried?

  22. Thank you for your blog, for your writing, for your everything & anything, your time.

    Lately I’ve been struggling with not BEING BITTER, and though your blog has a somewhat bitter tone, it helps me, because it voices things I have had trouble voicing. There’s so much frustration as a freelancer, and so much self-doubt instilled by clients and potential clients who want expert work for free or cheap. I like your push back, and a demand for respect.

    Also, it’s always nice to hear someone else complaining. We’re generally told not to complain, that it’s not attractive and yadeeya, but I’ve always felt complaining is one of the first steps towards acknowledging a problem and getting change on the move.

    One thing that did help me IMMENSELY recently was learning about the opposite theory to the “Imposter Syndrome,” the Dunning-Kruger Effect ( https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect ). If anyone has a shred of confidence and a sliver of intelligence and yet worries about Imposter Syndrome, it is curative to consider the Dunning-Kruger Effect. There are so many idiots out there who are so stupid they don’t even know — can’t know — they are idiots. And intelligent people will be wise enough to consider they may actually be idiots. Intelligent people thus continue to grow, because they doubt themselves.

    I think that this is what Mario has been skirting around in many of his articles. The battle must be against being idiots, and ignorance, not against each other. A semantic battle about who “can code” won’t help. Intelligent people will quickly learn to code as they go, and they will grow. Battling idiots won’t help, because they will never realize they are wrong. The trick is to avoid working with them, and seek out fellow smarties.

    I like what Amanda said. Work on being more honest with yourself.

    Are you an idiot?*
    ____
    ,,sǝɯᴉʇǝɯos ‘ǝqʎɐɯ,, sᴉ ɹǝʍsuɐ ʇɔǝɹɹoɔ ɐ*

    1. Thanks a lot for commenting here and supporting my stance.

      We’re generally told not to complain, that it’s not attractive and yadeeya, but I’ve always felt complaining is one of the first steps towards acknowledging a problem and getting change on the move.

      Yes indeed – not expressing those problems is more alerting and dangerous than voicing the concerns, just as a conversation about a problem at the office has a better chance of getting resolved than ranting behind one’s back and quitting or putting a business in a terrible position because of miscommunication.

      The Dunning-Kruger Effect is indeed an interesting phenomenon, Morten pointed this out a few months ago on Twitter and I’ve been using that as a response to various individuals who can’t see clearly.

      However, I believe that we’ve made some historical progress at WordCamp US over the past week and set the ground for some standardization, so we’ll see what would happen over the next 2-4 months

  23. I have started calling myself a WordPress Consultant. My skills and knowledge are probably more equal to a junior developer. But the services I have provided to clients have involved very little actual development and more of the site implementer kind.

    I have been called a coding Ninja for partially rewriting a client’s premium theme for better performance and caching. I can write my own plugins, and use automated testing in doing so. I have contributed pull requests to other plugins as a result of client projects. But I am not comfortable in calling myself a developer. I am far enough on the Dunning-Kruger scale that I am aware of many shortcomings.

    I would very much like some kind of validation to assess my knowledge and where I am at. Also, how do I prove my knowledge when my track record only includes brochure sites? I think some kind of third-party certification would really be beneficial to service providers and customers alike.

    1. Thanks Karin – from what I read above it seems that you’re comfortable writing code after all, and have some general idea of performance and caching (and possibly other things, having mentioned automated testing). The main target audience for this post is a large majority of people who offer development services freely not knowing at all what does WordPress development entail, or programming in general, as well as how anything works behind the scenes.

      Some thoughts from another guest post of mine – http://www.wpelevation.com/2015/11/wordpress-install-developed-solutions/

  24. I understand your point and that is partly my point too.

    I, who can and does write code, have a problem with calling myself a developer because I know that there is a lot that I don’t know. But I have met people on forums that seem to have no problem in calling themselves developers or experts while asking me how to move the header image a bit further down on the front page.

    I’m starting to be aware that I’m not a beginner anymore. Some day I’ll overcome my impostor syndrome, but until then I still think a third party certification would be a great service to both service providers and their clients. Like a diploma on the dentist’s wall – someone other than myself says that I know what I am doing.

    It’s difficult to explain your knowledge and expertise when no one knows or agrees on what is in the box labeled “WordPress developer”. This self proclamation of titles creates a credibility problem for everyone in the industry. I couldn’t agree more with you on that.

    1. Indeed – WordPress is powerful enough and the learning curve allows almost anyone to do almost everything. Some people argue that being able to deliver a final product is equal to development, which I very strongly disagree with, but that’s what causes the confusion most of the time.

  25. This Post! Thank you!! This thing has been bothering me so much. All these blogs hiring “WordPress Enthusiasts” to write theme round ups and tutorials are simply deceiving their audiences. Does anyone take advice from medical “enthusiasts” rather than actual doctors? This Tom Ewer and others like him are the spam of WordPress. You can’t know how a theme or plugin really is because they have posted spam reviews where everything is good (affiliates, of course everything is good!). You won’t really know till you download it and..surprise, surprise, 7 out of 10 themes are the same thing.

    For someone with an actual computer science degree (major in web applications) I find this outrageous. I wish more people would speak out about this. Please do an update on this post. I’m sure many people will be able to resonate with it in 2017.

    1. Hello Sophia,

      Can you refer me to any reviews or tutorials I’ve written that you’d consider “spam”? I take the accusation seriously and would like to think I’m open-minded enough to respect your opinion and seek an understanding of where you’re coming from.

      For the record, we (i.e. wordcandy.co) only tend to review products that we consider worthy of consideration – hence why they all tend to be positive reviews overall (although we’ll always endeavor to point out a product’s weaknesses and/or shortcomings).

      In my opinion, simply ignoring a poor-quality product is as effective (if not more) as writing up a disparaging review, and who knows; in the future, that developer may improve the product, at which point a historical negative review might do undeserved damage.

      Cheers,

      Tom

      1. Tom, It’s common knowledge in the WordPress community that paid freelance writers are involved in content theft, you being one of them. I would never trust a review you publish anywhere or trust that any content you publish, is your work.

    2. Hey Sophia,

      Thanks for chiming in. I’ve updated the post with some additional numbers and considerations based on the past couple of years hiring talent and facing various challenges while growing the team.

      I believe that Tom is a knowledgeable guy who cares about the community and picks stories that would benefit the readers without facing some notable challenges while growing further, but you can review his reply as well and chat with him as well.

  26. Hi Mario, can I translate it to Brazilian Portuguese, obviously linking the text to your original? Your words would mean a lot for the brazilian community.

    1. Sure thing, Elia – I’ve received a request from the Brazilian community before but I’m not sure if the translation was published at the end. Feel free to translate and share locally.

  27. Wow, Mario. You’re missing the whole point. Developers are actually the slaves who work for agency bosses who have never heard of PHP and make all the money. There is nothing to be proud of of.

    Call yourself developer or not. Today it’s irrelevant. There is so much code. So many gifted eastern Europeans and Indians who code miracles for $10 an hour. I’ve seen it all and the developer is way down the food chain. Don’t be too proud. Don’t think of yourself as something special. The term developer is not trademarked, anyone can call himself developers if he pleases. Today it’s not about the nerd who hacks away at some custom website for 2 months charging the client $90 an hour for a subpar solution and no taste for design. Many theme frameworks provide better code than the so called custom developed.

    It’s 2017, deal with it.

  28. Look man if you don’t code, your not a developer.
    If you use wordpress to “Develop” websites (pfffft) you are only a user.
    If you design templates in wordpress you are a wordpress designer.
    Only once you have learned a programming language and you can use your code to write something new and unique.
    I mean come on my niece is 10 years old and she can write html webpages with css and jquery functions, I taught her how to do it in one afternoon.
    If a 10 year old can learn code then so can you there is no excuse.
    I personally as a Software Development Engineer with a Masters degree in Information Systems find it quite offensive if people have the nerve to can themselves developers if they write plain HTML websites or use wordpress without really coding.
    There is a vast gap between an amateur web designer and a qualified Software Developer.
    A simple contact us website without any functionality is not a Software System, its a waste of time…
    You are probably one of those people who calls themselves a Doctor after prescribing a person with a headache aspirin or you buy a tv dinner and call yourself a chef.
    If you cant code and call yourself a developer then GTFO.

    1. Yeah, I used to be fairly extreme while building a telecom ERP across 5 different European countries with Java and Oracle over a decade ago. I still advocate BSc programs actively (including alternative ones that touch on OS, data structures, algorithms, networks, computer architectures).

      While I try to be tolerant to self-taught developers, I still strongly suggest that the proper CompSci background is mandatory for professional programming.

  29. Thank you all. This post just helped me understand what I am. I am a wordpress designer and admin. Just wanted to add that there shouldnt be a war. WordPress is a colaborative platform. Some are able to colaborate more than others, and those who dont know how to code – like myself – benefit from the ones that do. But this is the core of wordpress brand and if you feel so strongly about it, you can always decide not to colaborate anymore. But you should know that BECAUSE of you there is a world wide digital inclusion going on. Because of what you know and share, more and more solopreneurs and small businesses are being able to have their voice or store on the digital world. Not everyone needs a super incredible high tech site or can even pay for it. WordPress altogether with your knowledge makes it possible for these people to be online. So to me, this discussion feels a little dumb when compared to the greatness of what you are doing as real developers. I mean, should it really bother you that much the title on their signature?
    Tks again for the post and no hard feelings!

    1. @Ana, I do agree with you and I never said that non-developers are second-class citizens. There is a multitude of available roles in the field and each is valuable in its own way.

      Misrepresenting skills, however, is affecting the entire industry. It loses money and trust by clients. It brings costs down. It bashes against WordPress as people offering a set of skills have no expertise to back them up with. As long as that is sorted, everything else would be immensely better for the entire industry.

  30. Amen brother. If you use a page builder you are not a developer. Invariable clients get sick of dealing with amateurs after being told no enough times – and go to a real agency or freelancer. Inevitably they get told they need to throw everything the fuck away and start over.

    If I were ever to meet a Divi developer I would fucking curb stomp their head for all the misery they have caused my team.

  31. Money is Money

    Who cares about cracked or ready to use .
    We finish the project we get the money .
    both are happy 😀

Leave a Reply