Malacandra.me

Time is one of the best indicators of how far you’ve come in terms of being better at your job. But it seems like web design and development is a line of work that provides the most tangible evidence of progression. All you have to do is take a look back at an old project and the proof will be there, looking right at you.

In my own career, I go back to my days with static HTML websites. I can easily see the signs of improvement in the code – and particularly when it comes to how I accomplished various layouts (hint: table layouts were older).

But over my years of building themes for WordPress, I can also see how things have changed. Sure, the design trends have come and gone. Those are the most obvious types of progress. But there are other, more subtle, aspects of development that provide an even better picture of evolution.

Below are some lessons of WordPress development I’ve learned through experience. Most all of it has been learned the hard way. And, while I can’t guarantee that this is how others would do it, I hope that it can at least spark some thought about how and why we do things.

The Straightest Path Isn’t Always the Best

Rarely do we ever build a WordPress website that doesn’t include some sort of custom functionality. That is, after all, part of its appeal as a CMS. It can do just about anything we dream up.

Oftentimes, that means using plugins. We literally have an entire world of them at our fingertips. They help us do things like sell online, optimize our site for search engines and share content with others.

We often think of plugins as the straightest path to solving whatever challenge we’re facing. And, while a well-coded and properly maintained plugin can be exactly what we need, the decision to use one is often more serious than we may think.

The ease of installing and activating a WordPress plugin can give us a false sense of security. A few clicks provide instant functionality (and gratification). However, there are potential consequences each time we do it. Plugins can have an impact on virtually every aspect of a website – security, performance and compatibility to name just a few. Then, there is also the possibility of a plugin becoming abandoned and left to die out. That puts us right back to square one.

In many cases, the right code snippet can provide a much more efficient solution. It can save performance-degrading overhead and, importantly, is within your control. One of the most frustrating aspects of plugins is that you are essentially handing over part of your site’s well-being to a third party. If something breaks, you must rely on them to fix it. And even the best plugin developers out there will run into a hard-to-fix bug sometime. That leaves you to wait while a solution is found.

The bottom line here is that, while it’s fine to use plugins, think about the alternatives as well. There may be a better way to accomplish your goals.

Find a Comfortable Starting Place

My first designs with WordPress were often the result of pulling apart whatever default theme that came with the software. For example, many of the sites I’m now in the process of redesigning were built with a thoroughly hacked version of the Twenty Ten theme. I didn’t even bother using a child theme, which of course is a big no-no. I just renamed the theme and went to work.

While this method worked, it was hardly efficient. I found myself having to rip the same things apart over and over for each new project. Default themes are actually meant to be used as a starting point, so it wasn’t quite as bad as it could have been with a fully-bloated theme. Still, there had to be a better way.

As time has gone on, I discovered the beauty of a WordPress starter theme. There are a number of ways you can go, from full-on frameworks to something a bit more barebones, like Underscores (my personal favorite solution).

What I love about Underscores is that, out of the box, it’s pretty much as unformatted as you can get. That means I don’t have to rip anything apart before I can start building. I’ve got my own customized version, complete with some basic responsive styles, to give me a healthy head start on design and development.

This also allows me to design prototypes knowing how it will apply to my starter theme. There aren’t nearly as many worries about how I can achieve a specific look or layout because I have built in ways to handle most anything. That doesn’t mean that there aren’t still some challenges, it just provides a nice blank canvas with which to work.

If you develop a lot of sites, you’ll be much further ahead if you set up your own starter theme. Include the scripts and layouts that you use most often. That will get you up and running with each project in no time.

Take the Time to Learn

Early on, one of the biggest mistakes I made with WordPress was that I didn’t put in the foundational work when it came to learning the right way to do things. In particular, I had very limited knowledge of PHP. While I knew enough to hack my way through things, not having a grasp of the fundamentals made everything more difficult than it should have been.

For instance, it seemed like every project had a point where development stalled while I tried to figure out how to make something work. Because I didn’t really understand things, I found myself just hunting for code snippets and hoping they’d do the trick. Oftentimes I found that I couldn’t even customize those snippets to fit my needs – all because of my incredibly scattered approach.

Finally, I did something about it. I took an online PHP course one summer and, all of the sudden, things began to make sense. I am nowhere near a master programmer (the next must-have plugin won’t be coming from me anytime soon), but this basic understanding of how things work has improved the development process dramatically.

I still get stuck from time-to-time, but those issues tend to get cleared up much more quickly than before. And, while I still need code snippets, I generally can make them work for my situation.

So, instead of hacking your way through building with WordPress, take the time to learn the skills you need to know. Having even a basic understanding will empower you to do more than you thought you could.

Tomorrow Will Always Be Better

Lastly, I think it’s worth pointing out that evolving into a better developer is what we are supposed to do. So often, it’s easy to be hard on yourself when you have to dig in and try to fix something you built years ago. The old, “Why did I do it this way?” is a lament that we all face sooner or later.

The key is to learn from what you’ve done. As time goes by, you’ll find that your knowledge is greater and your processes are leaner. The result is that you’ll improve – one project at a time.