Chris Wiegman Chris Wiegman

Product vs Agency vs In-house in WordPress

I don’t know if my experience could be considered “lucky” or not but, since starting with WordPress around a decade ago, I’ve had the chance to view the WordPress community from more different angles than most of those I’ve met in it. From plugins to themes, agencies to in-house development teams and freelancer to web host I’ve encountered teams of all sizes in work that touches nearly every aspect of the ecosystem.

Given the breadth of my experience I’ve been thinking a lot, lately, about what the “best” role is or, for that matter, if there even is a “best” place to be in WordPress. Here’s my thoughts on some of these sectors of the WordPress community from my view as a developer.

The In-house Team

If there is one area that I think has benefited the most from the rise of WordPress and its ecosystem over the last decade it is the in-house team. During my time at UF Health, St. Edward’s University and Southern Illinois University (SIU) I watched WordPress transform the landscape for the smaller in-house teams I was a member of as well as for the larger organization as a whole. Applications and builds that, previously, would’ve taken millions of dollars and years to roll out can now be done in a matter of months and a few hundred thousand dollars at most and, in many cases, can now be done for the existing salaries and time of the teams already in place. For universities and hospitals, the areas I know best, this has been a major win in an era of decreased funding and increased pressure.

As WP Engine’s Jason Cohen puts it best, WordPress can shine in these teams not always as their main application platform but as a compliment to systems already in place and, in my experience, shine it does. When I first started with the web at SIU most of the features and integrations I wanted to work into our sites were simply unavailable to me as a team of one yet, with the advent of WordPress, I was able to build sites and systems for a single department that out-shined the best of the central university could produce.

The win here is applications at scale and integrations to other systems are now available to smaller teams. When I left my most recent in-house team last Fall I was integrating everything from Sharepoint to other proprietary systems into our WordPress systems all for the price, at least to the organization, of my single salary.

As a developer this experience gave me the chance to shine as an expert on the platform but did have its drawbacks. In many cases these showed up most in that WordPress teams tend to face greater political attacks from teams trying to defend their higher budgets for their own products as well as isolation in an organization that doesn’t always have the resources to let individual developers grow and expand in their craft beyond the barest minimum it takes to finish the project on deck at that moment.

The Agency

Interspersed with my university and in-house work has been a couple of stints at various agencies over the years. This is another area where the low entry barrier to WordPress has shined, particularly among smaller agencies and allowed the better organizations in the space to scale quickly from small projects to sites for the largest of traditional corporations and other organizations.

Like the in-house team, and any position, the agency role has some pros and cons for developers. It allows and even requires developers to ramp up quickly on a diverse set of projects and, often ensures one will never get bored in a world with more work than people to do it. In my 2+ years in the space I worked on over 20 different projects for various companies and learned more about the application and presentation layers of WordPress than I had ever done before.

The downside of the agencies, for me, was it’s pull towards the front-end of development in a WordPress ecosystem that is becoming more of a SaaS community than an application community. While I’m grateful for my time with JavaScript and other front-end techs they’ve never been where my heart is and with the advent of Gutenberg and managed WordPress hosting that push to the front-end is only getting stronger.

I’ve identified as a back-end developer since before my time in WordPress and, in truth, I’m more into devops than actual development as I’ve focused my efforts on hosting and its related layers at every position I’ve held. Add to that the time pressure to get it done now vs getting it done right that comes along with agency work and, while I can see the drive for many, the perfectionist in me was never happy with the positions I held in the space.

The Plugin/Theme House

When I sold Better WP Security in 2013 I thought I was going to have it made. I would get to focus my time on making my product better for my users without the client pressure to do everything “right now.”

For a while it was great but I am glad I didn’t spend too much time in the space. Today I watch two trends emerging in the plugin and theme markets, neither of which I believe are healthy for the independence of the space. First is the race to the bottom in which products with 100s or even 1000s of hours of time invested are expected to be given away. The idea of WordPress being free as in a “free puppy” vs free as in “free beer” is still lost on most who are willing to give away the house in order to make their name in the space.

The second trend in this space today is the buyout of many of these companies by hosts. With the right investment I don’t think this is all bad but it has and will continue to lead to a more siloed market for WordPress users where host lock-in has the potential to become a major limitation on an otherwise open platform.

As a developer in this space I don’t know if I would have stayed in WordPress had I not moved on. Today I watch even big plugin developers advertise senior development roles for less than $50,000/year and I cringe. The model just isn’t sustainable for all but a few.

Freelancing

I lucked out in that I didn’t do a whole lot of freelancing and the bulk of my income while I was doing so came from the Better WP Security plugin. Freelancing suffers from the same race-to-the-bottom issue I see in the plugin and theme space only on a larger scale where folks who have never written any code are selling themselves as WordPress “developers” for a fraction of the price even the smallest agency would charge. While I still see the best in this space charging $200 per hour and up for their services there are far more people charging $10 or less to build a site.

As recently as two years ago I still advised folks getting into development to look at freelancing with WordPress. Today I don’t do that anymore. The returns just aren’t there.

The Web Host

Ah ha, now for my thoughts on where my career has taken me. I’ve been a “Staff Software Engineer” at WP Engine since September where, for the first time since my SIU days, I’m working on products I actually care about for a company that is big enough to do things right and, yet, small enough to still care about their employees and customers.

This isn’t to say I don’t have my concerns about the WordPress hosting space in general. I worry about the lock-in customers, especially those on cheaper plans at any of the hosts, will face in the future when their themes, plugins and other tools are provided by the same company. What happens when they run afoul of one of their terms of service and lose their account or some other factor forces them to find a new host?

That said, the model I’ve seen in the hosting space to date, even with plugin and theme acquisitions, hasn’t demonstrated the same type of login you see with products such as Microsoft Office or a point-of-sale system. Organizations and people still own their data which is a major benefit over non-WordPress platforms.

As a WordPress developer the hardest part of developing at a managed WordPress hosts has been the different technology I’ve learned. Right now I’m working entirely in GoLang, something I had never even looked at a line of before starting here. My background with a Masters degree in computer science combined with my long tenure in the WordPress space has helped me here but it isn’t a job I would recommend to many WordPress folks.

I’ve watched self-starters go from novice to pro in WordPress very quickly. You won’t get that a host as easily yet, those developers who do make it will have a deeper understanding of the code they’re writing and the technologies that lie underneath it.

The pro to this new level of complexity is that, if my current project was to end tomorrow, there are dozens of others I could work in spanning a wide range of languages, technologies and impacts. This, to me, is probably the best part of my current job. I feel less siloed in the code I write than at anywhere I’ve been before. The fact that it isn’t an entry-level job is, to me, a benefit as well. The depth and experience of the people I work with now is far greater than I’ve experienced anywhere in the past and, because of all of it, I’m learning more than I have in a very long time.

So where’s the best place to be?

I started this post with the idea of determining the “best” from each of the sectors I’ve worked in from the viewpoint of a developer but, as I’ve come to this point, I’m not sure that was the right approach. With the exception of some of the lower freelancing levels the WordPress space offers a wide range of opportunities for developers at all levels. From the greenest of the green to the most seasoned of classically trained developers there is something for everyone. I don’t know of another community that can offer that.