WordPress Developers: The Programmer and the Implementer

Throughout the last few posts, I’ve been talking a little bit about WordPress Developer Salaries, but have also done so by taking a look at exactly what it means to be a WordPress developer.

If you’re just catching up, the previous posts are:

  1. A WordPress Developer Salary Should Be…?
  2. WordPress Developer Salary: Manage That Content
  3. Of Salaries and Software Development with WordPress
  4. The Roles of WordPress Development

There have been a lot of awesome comments and I’ve enjoyed hearing the different perspectives and opinions that everyone has brought to each post. There’s one more aspect of WordPress development that I want to look at before ending the series.

I’ve already mentioned this throughout several of the previous articles (and it’s been bought up in the comments, as well), but I thought it’d be worth outlining it here not only to share my concrete opinions on the matter but hopefully as an attempt to provide a reference or even maybe some food for thought for those who are looking for WordPress-related jobs, and those who are looking to staff WordPress-related jobs.

Specifically, it’s about looking at the term “WordPress Developers” and trying to give an explanation as what that really means.

After all, we’ve already said that the term developer is overused to the point of having no meaning, right?

Writing Maintainable WordPress Themes

Comments are closed on this post. Please leave your feedback on the series' respective article.

One of the most difficult aspects of building any type of software is the amount of work that’s required to maintain the project after its release.

Sure, shipping an initial version is challenging and this is not to understate the amount of planning, feedback, iterating, and general work that goes into a project; however, once it’s out in the wild and more and more people begin to use it, discover bugs, hammer on it, and so on, and additional ideas for features are developed, it becomes an entirely different challenge to keep the project rolling.

And though people would argue whether or not WordPress themes (or plugins or any script-based utility, for that matter) constitutes actual software, the truth is that it’s still subject to the same rules and methodologies as different software projects.

As such, one of the challenges of theming is actually writing maintainable WordPress themes such that they can continue to be improved over time. So in my latest series for Envato, I’m writing exactly on that topic.

The Roles of WordPress Development

In the last three posts, I’ve spoken a bit about the salaries of WordPress developers, why they may be lower than traditional software developers, and some of the expectations that come with what a WordPress developer may be (depending on their role).

I’ve shared:

  1. A WordPress Developer Salary Should Be…?
  2. WordPress Developer Salary: Manage That Content
  3. Of Salaries and Software Development with WordPress

In the last post, I talked a bit about the responsibilities and expectations of a traditional software developer and how that may relate to WordPress. And earlier, I briefly talked about the terms a “developer” and an “implementer” both of which I think are applicable in the WordPress space.

But first, it’s worth noting that many WordPress developers are people who are building themes and/or plugins. At this point in WordPress’ history, people still aren’t seeing it as something that can be used to build web applications (let alone mobile applications) so it’s seen more as something that bloggers, frontend developers, and maybe some middle-ware developers are used to doing.

And all of that is correct – but there is more to it than what’s listed above.

Of Salaries and Software Development With WordPress

Over the last couple of posts, I’ve been talking about the various things that contribute to WordPress developers having lower salaries than other traditional software developers. Specifically, I’ve talked about:

To be clear (and as pointed out in the comments), this isn’t the case everywhere, but it’s apparently a common enough trend such that peers in the industry are noticing it, and it’s struck a chord with others to, ahem, write about it, and to continue a talking about it a little more in-depth.

Anyway, one of the things that’s undeniable is that WordPress can’t be compared directly to frameworks like Rails and .NET, libraries like jQuery, or straight up languages because it’s none of those things. In and of itself, WordPress is an application that can be installed on a web server and can be used for digital publishing.

It just so happens that it has a powerful API that allows it not only to be extended, but for other applications to be built upon it.

WordPress Developer Salary: Manage That Content!

In the previous post, I shared a few thoughts on the challenges of setting a WordPress developer salary. When I began writing out my opinion, I ended up writing a lot more than I had intended, so in order to keep posts at a shorter length (thus saving all of us time :) and sounding less monotonous, I’ve broken everything up into a handful of posts that I’m basically running as a series.

Yesterday, I laid it all out in that I shared three reasons as to why I think WordPress developer salaries are lower than that of the average software developer. There were some really good, thoughtful comments on the post, too.

And the whole point of doing that was to lay out a high-level view of my opinions before looking at the topic in more detail.

As much as I want to talk about more technical matters of WordPress, I think it’s worth noting that one reason that a WordPress developer salary is hard to set is that many still see WordPress as a content management system, if not just another blogging platform.

A WordPress Developer Salary Should Be…?

Earlier this week, Ryan Sullivan - a twitter-friend of mine - sent out the following note:

An interesting observation, isn’t it? Especially for those who work on WordPress full time, work with WordPress full time, and/or those who have come to WordPress from other backgrounds. Specifically those in software development backgrounds.

Straight up, I’ll say that I don’t know why a WordPress developer salary is less than any other [insert whatever type of] developer salary is here, but I have my thoughts and speculations (as I’m sure you do, as well). And as I – and many others – have been talking more and more about trying to force a shift in the WordPress economy, this seemed like a timely thing to share.

Making the Shift to Premium WordPress Plugins

When it comes to various business models that surround WordPress plugins, there are normally three types:

  1. Completely free
  2. Freemium
  3. Premium

How a developer opts to publish their plugin is their prerogative, and there are a lot of opinions as to why any one model is better than any of the other models. As with anything, each has its own set of advantages, and each person’s opinion is not necessarily any better than any other person’s opinion.

That said, as someone who has tried all three business models, I have to say that the longer I work in this particular economy, the more I lean towards the third option.

Though I’m not saying I dislike the other two, and though I’m not interested in discussing the advantages and disadvantages of the first two (at least in this post), I am interested in sharing my thoughts on the premium model (or the pay-for-it model or whatever you want to call it.

Pressware: Just Another WordPress Company

Since launching The Pressware Shop a few months ago, I’ve also been working to blog a few times a week about what’s going on with the projects that are in development and about some of the core philosophies that I’m trying to follow as I work to introduce this second arm of the company.

The Pressware Shop

When Pressware first started, it was primarily services-oriented. That is, it was primarily made up of doing contract work (which I love doing) with a few hobby projects on the side; however, as time has passed, I’ve been able to add to the team to continue to service-oriented side of things while also focusing on building products.

But there are already so many WordPress companies already available, why bother starting another one?

Publicly Display Post Meta Data in WordPress

Comments are closed on this article. If you have something to add, please do so on the original article!

A couple of weeks ago, I shared a simple plugin that added a meta box to the post editor dashboard screen that demonstrated how to display post meta data within WordPress. After it was released, I received a few questions as to how one would go about displaying this information on the frontend of a WordPress blog.

That is, how would one go about displaying the post meta data as part of the content for a single post (or post type) in WordPress.

Though I’m not necessarily a fan of doing this, I am a fan of giving other developers practical advice on how to extend existing plugins (using practices used throughout an existing plugin), and I’m also a fan of discussing why I am a fan or not a fan of doing something.

So in my latest article at Tuts+ Code, I did exactly that.

Writing JavaScript Helpers for the WordPress Theme Customizer

I’ve talked before about how I think the addition of the WordPress Theme Customizer (well, soon to be called the Customizer) is one of the nicest additions to the core application in a long time. I’ve also talked about how I fear the direction that some developers will take it.

Regardless, if you’ve worked with the Customizer long enough – especially when it comes to the JavaScript aspect of it – then you’ve likely noticed that you can end up writing relatively repetitive code especially when you’re working with something such as a list of items or something similar.

When you end up reaching this particular point, having too much of the same code with the only variations being a few strings ends up being a bit of a code smell.

In order to prevent this, it’s often better to write helper functions that abstracts the repetitive functionality into a single, ahem, function that you can call with the strings that are unique to your use case.

Here’s what I mean.