Software Engineering in WordPress, PHP, and Backend Development

Tag: Software Development (Page 20 of 20)

Personal Involvement and Improvement in WordPress

A couple of weeks ago, a friend (who I finally had a chance to meet earlier this year) sent me two questions that I thought would best be covered in the context of this blog.

Specifically, the questions are around evaluating the skill of potential and existing employees in the context of personal development rather than if a person is worth hiring.

I’ll share the actual questions momentarily, but I think it’s important to note that my experience in doing this within the context of WordPress, let alone open source, is very different than when working in a corporate job working on a closed source application.

Involvement and Improvement in WordPress: The Original Cube Farm

No, corporate environments aren’t all like this. It’s fun to think of them that way, though :).

That in and of itself could probably be its post (and it’s not a bad thing any more than it’s a good thing), but I thought I’d offer whatever input I have with hopes of having others chime in via the comments.

Continue reading

The Clean Architecture and WordPress

For the past couple of weeks, I (along with others in the comments) have been talking about things such as testing, namespaces, and more. When building well-architected, testable, and scalable software, these are all relevant topics.

But they only scratch the surface of some of the many ways in which we can manage project architecture.

Developers have been experimenting (and using) WordPress with a variety of different tooling such as different web servers (like IIS – good luck :) and with different database servers.

And when it comes to dealing with various types of third-party dependencies like database servers, creating a proper architecture is key to making sure your code is portable between environments and for other reasons, such as testing.

Continue reading

The Tension of Refactoring Legacy Code, Part 2

In the previous post on refactoring legacy code, I talked a bit about the challenges that we face not only as WordPress developers but as programmers in general as it relates to working with legacy code.

The short of it is that I believe we want to make sure the codebase is as optimized, clean, and well-organized as possible. But the reality of a project prevents us from doing this.

Deadlines can prevent us from refactoring legacy code.

Perhaps it comes in the form of the team we’re on; perhaps it comes from deadlines that are looming, or perhaps it comes from something else.

Whatever the case, we’ve established that a tension exists. And though I’ve talked about some general ideas as to how to deal with it, I haven’t really talked about my own experience in doing so.

Continue reading

The Tension of Refactoring Legacy Code, Part 1

In a post last week, I talked about various problem spaces that exist in WordPress, but I also briefly touched on the idea of practical applications as it relates to writing WordPress-specific solutions.

Specifically, I made the comment (more or less in passing):

When I was in school, I had to take a class in Computational Theory. For the most part, I’m more of a fan of practical application, but I know that much of said practical applications are the concrete implementations of proven theories.

And then I went on to talk about more theoretical topics as it relates to solving problems in a given computing space (for us, that’d be WordPress).

Computational Theory

Since I spoke about the previous topic at this particular level, I thought it might be fun talk about a more accurate or more practical approach to writing WordPress-specific software.

Recently, I’ve been working on a codebase that’s a few years old. The desire to want to refactor the whole codebase is strong (and I know I’m not alone in feeling this way when it comes to working with previous projects).

But this is not pragmatic, and it’s not so for some different reasons. So over the next three posts, I thought I’d share a little bit about the state of the project, managing the tension that exists, and how to do what we can when we’re faced with this type of situation.

Continue reading

Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑