Software Engineering in WordPress, PHP, and Backend Development

Tag: Web Development (Page 3 of 3)

“Seems like a basic feature to me.”

The idea of “a basic feature” when it comes to creating software is such a weird notion to me. Last week, I was reading a blog and came across the following comment:

I don’t have a [device redacted] but these all seem like extremely basic features that should be there from the start.

And it’s a strange thing because the implication is that whatever is released out of the gate should be something that’s feature complete and should conform to whatever you (or whoever makes these comments) thinks of how a product should function.

But this carries several implications with it.

Continue reading

Don’t Over-Engineer Your Project

Over the last few days, I’ve been building the site that’s going to power the membership aspects of the WordPress Development course I’m working on. Initially, I went into the project like any other developer: I was ready to sit down, start writing code, handle a bunch of configuration, and generally tweak my WordPress installation at a level that I was convinced would take me a long time.

But it wasn’t like that at all.

And that’s something I know developers are plagued with more often than they – or we – would like to admit:

We over-engineer our solutions all of the time.

It doesn’t have to be like that, though. It takes a slightly different approach and it requires that we fight our natural inclinations, but it can be done.

It just requires a more pragmatic approach.

Continue reading

On The Idea of Simplifying Our Tools

Perhaps one of the most tiring things of working in development in staying up to date with all of the various tools and processes available to us for helping us get our work done.

As soon as one comes out we even come close to mastering (and I use that term loosely), there’s a new dependency manager, process, server configuration, whatever, to learn and to see if it fits into our workflow.

All the while, many of us want to find the most streamlined process available for us to efficiently do our work and build our projects with as much optimization as possible.

So it’s like we’re faced with this dilemma:

Stay up to date with all of the new tools that are available or stick with what we know and hope that we don’t become irrelevant?

It sounds a bit like hyperbole, but you know the feeling I’m talking about, right?

Continue reading

Drafting Pseudocode Before Building Anything

The longer we work with a given library, framework, set of APIs, or whatever, the more comfortable we get with solving problems using them.

It’s a natural by product of experience, isn’t it?

But that doesn’t mean we’re solving the same problems over and over again. Sometimes, sure, we might be solving a problem like we’ve done previously. And really, in those instances, we should have libraries ready to plug into our work, but that’s content for another post.

Other times though, we may be working with the same foundation to solve new problems.

And that’s where it gets to be a little more touchy:

Because of our familiarity with the tools with which we’re working, we think we’re ready to jump in and solve the problem.

That’s not really the case though, is it? I mean, we might be working with the usual toolset, but we’re still solving a unique problem.

And in that case, shouldn’t we be taking a few steps prior before jumping into our IDE?

Continue reading

Pulling Back From Progressive Enhancement

One of the terms we hear a lot in web development is “progressive enhancement.” If you’re new to web development, Wikipedia defines it as follows:

Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web page, using any browser or Internet connection, while also providing an enhanced version of the page to those with more advanced browser software or greater bandwidth.

Perhaps another way of looking at it is you introduce a basic feature such that it functions without any of the newer-ish technologies – such as Ajax – and then progressively enhancing the feature so it works a bit more smoothly (or flashier, because that’s a proper term).

Ultimately, it should improve the user experience without compromising the feature for those who don’t have access to newer technologies.

But there’s a challenge those who have been in development for a while tend to face.

Continue reading

Newer posts »

© 2024 Tom McFarlin

Theme by Anders NorenUp ↑