Practical WordPress Development

Assume You Know Nothing, Learn Even More

As an industry, computer science and/or software engineering is comparatively young. The field moves fast, no doubt, but we’ve obviously not been around as long as many of the other industries in which our parents or our peers are involved.

I think that’s just one part of what makes all of this interesting.

One thing that I’ve begun to notice about the industry is that the more new technology that is made available with respect to web development, the less people understand about the work that came before them.

It’s kinda sad, but it’s also natural, right? I mean, given a cliché example, each time something new is added to a car, we don’t all necessarily understand what was in place before a new piece of technology, we’re generally just happy that a new piece of technology exists and that it makes our lives easier.

But in the field of web development (and perhaps other types of development – I don’t really know), other developers – specifically those that are newer to the field – do call into question some of the ways that we do things, some of the things that we do write about, and some of the things that we do try to explain because “there’s an easier way” and, as such, it makes no sense to share such antiquated tips.

That's Borderline Inappropriate


Assume You Know Nothing (This is a Problem?)

But why does this come off as a problem? I mean, do these developers have a point?


I mean, if there’s a newer technology that’s available that makes, say, connecting the front-end to the back-end a little bit easier, then why would we not use it? For those who have been involved in development for, say, just 10 years (let alone more than that), then you likely know the answer: It’s the result of what has become a legacy application.

The technologies that were used to build said application are not necessarily compatible of playing nice with what’s now available. Alternatively, perhaps the architecture of the application doesn’t work well with including the new technology, or maybe the cost of refactoring the code doesn’t justify the cost a business would need in order to patch the code in a more compatible way.

For Example

Let’s say that you have a web application built in a prior version of .NET that uses jQuery and loads a ton of information into the front-end.

You’ve used a combination of vanilla JavaScript, something like jQuery UI, Ajax, and a caching mechanism in order to make displaying the data, paging the data, modifying the data, and so on and little bit easier for the user.

The challenge is that each time the page loads, you have to perform at least one – if not several – loops through the data in order to handle it. And we’re not talking, say, a few hundred pieces of data. At this point in time, that’s next to nil in terms of computational power.

But perhaps we’re talking on the order of hundreds of thousands. And yes, there are a variety of ways to solve this problem.

  • We could grab the first page of the data from the cache and then use Ajax to retrieve each subsequent page
  • We could load up the entire set of data and cache it on the first hit
  • We could optimize the tables in which the data is stored as well as the server-level and client-level algorithms are used to parse the information
  • …and all of the above, some of the above, and so on

But the point that I’m trying to make is this:

When building an application, there are times in which you cannot foresee how users will employ what you’ve built. You don’t know how much information an application is going to really manage so you have to make the most educated guess possible as to how to best implement your solution and then go from there.

Coming from a position of someone who has had to do this more than once, sure, refactoring and improving the speed of things can be a lot of fun. But is a business willing to justify a cost? This depends on several factors (that aren’t relevant to post this).

Similarly, as someone who has had to work on legacy applications, there are also constraints in which we need to work that don’t always allow us to simply use whatever the latest and greatest tools are in order to achieve the best performance possible.

So we have to work with what we have.

Don’t Think You Know

The bottom line of what I’m trying to say is this: It’s a common theme to see people leaving comments on the web – especially technical articles – that start with:

  • “If I were you, I would’ve just done…”
  • “Why did you not use [this library], it offers [these advantages]…”
  • “I’m so tired of seeing these inexperienced developers do [whatever]

When the truth is, you don’t know what you would’ve done because you weren’t at the place and time using the technologies and tools that were available when building the application.

I Know Everything

Furthermore, they may not be inexperienced developers at all – instead, they may actually be more experienced than you are and have very logical, wise, and business-driven decisions to have made the calls that they made with respect to building what they’ve built.

So maybe this is a better approach:

We ask why a given decision was made versus one that we thought would be better and try to gain an understanding as to why something was designed and built the way it was?

Ultimately, it may make you a better developer, come off less pretentious, help you appreciate the tools that are made available to you now, and help you to understand the constraints that a person had when they were building the application, and how and why they made the decisions that they did.

This doesn’t mean you have to follow suit, but it can help you appreciate where things have come from, where they’re heading, and maybe even learn a new strategy for how to implement a solution of your own.

We don’t know it all, so we really should stop commenting on others posts in the way that we do (though that’s probably just a pipe dream).


  1. Jason G

    This is very true Tom. I personally have been working with WordPress now for 4 years and still finding out new things every day. Never has it been so true to me that finding your niche in today’s web / tech world is so very important. No one human mind can absorb and fully understand all of this technology. I definitely think outsourcing is also a great thing and more of us should do it. We all need to work together if we are ever going to really improve the web. I hope to continue learning more, but it has been a challenge everyday. Still really hoping to find my specialty / niche. If you have any suggestions or advice to share with those of us who are front-end WordPress designers / developers, please let us know. I am sure many of us could benefit. Truly appreciate any help!

    • Tom

      Yep – it’s true within a niche in an industry and it’s true within an industry as a whole.

      I think that finding experts who are great in their own niches is something that’s worth doing, but knowing how to vet them is really tough. I always want to see samples of work in addition to something like a GitHub repository so I can see how organized their code is and how easy it is to follow.

      As far as the designers and developers go, I don’t have a good strategy yet. That’s one I’m still working on :).

      • Jason G

        Thanks Tom for your reply!

        I am also just wondering if it might be a good idea for someone who knows the WordPress industry quite well to come up with at least a few certifications that people could complete.  The certifications could be available for sign-up on, and of course, approved by lead developers or whoever really needs to approve.

        I started thinking this maybe a few months ago.  Defining areas to focus on I think could help many of us.  That is something I have struggled with quite a bit.  Maybe we could suggest the certification to Matt M.  

        • Tom

          This has been something that’s been brought up on a couple of different blogs (like WP Tavern).

          I don’t know if we’ll ever see this in the near future, but I don’t think it’s an impossibility to ever see this at some point down the road.

          I think WordPress still has a ways to go.

  2. Rick

    Experienced .vs inexperienced developers is a “toad” subject with me. I’ve been coding 35 years, I have taught in schools / continuing ed. I’ve saw kids of 14,15, 16 and 17 years old produce code thats astonishing. I saw two women in continuing ed, work together and collaborate who literally did not know a lick about coding but due to their connectivity and personalities made a very successful business.

    Many lesser successes. The question that came to bare in my mind was WHY.

    The answer actually came from a 15 year old years back, he was awarded a full scholarship to Carnagie Mellon and I worked alot with him in early middle school through some of high school. He told me its my methodology. I do not teach in traditional form and that forces them to think. Alot of these kids code produced, better than mine and I am the first to tell them that.

    Book learned makes for text book coder and they are becoming a dime a dozen. In fact, China is working to dominate that job market. Many instances over the past few years of “well known coders” in business sub-contracting their work the Chinese coders. They take in their 6 digit salary and the kids in China getting $12-$14K. China governmental policy has been one of training kids as early as what would be 4th grade here in logic.

    Beckons question why? Answer is simple. While the Western nations have been great at electrical engineering digital, coding digital we have farmed manufacture away. Manufacture is physical. EE and Code is virtual. Our economies in western lands have staked tremendous amounts of wealth into these virtualized forms of assets. That stands at risk. In many ways not so different from the tech bubble burst. My brother for example was worth near 8 million dollars when that hit. Afterwards, well… He walked away with his truck and $10,000. Was a lead engineer AOL.

    Over 35 years I have learned several things:

    I should have stayed in the commercial games industry. But stress was mad-like.
    Doing one’s own thing, work from home or sole proprietorship is future dangerous. My brother actually hammered this at me many times and I never listened. While doing ones own thing feels great, as one gets years moving by the freedom becomes a trap. How so? Because the longer the time one is out of commercial industry coding or vertical market coding (such as Joomla, WordPress etc) the less their chances of getting back into the commercial industry as time rolls by. Competing with younger people who are more into the dynamic of the “times” and the questions that have no form of good response. aka: Why did you freelance for 8 years? “Because I wanted to try making my own way”. Bad answer. Not a team player. “Because I was experiencing burn out”, “Because I wanted to be with family” on and on. There is NO response that wont bring to mind in HR’s heads many questions all of which set one back in getting that job atop age etc. Thus, it becomes a trap.
    Can be “Best of the Best” in name, doesnt matter. In fact, that actually works against a programmer in almost all industry now except games. One of my friends worked for Microsoft. Was very much part of Direct X. Went from there to nVidia, worked on Cuda, microcode and code. Brilliant engineer. His salary, well… Most of us can only wish. After exiting nVidia his public name recognition REALLY worked against him. You’d think opposite. He’s now at, still makes a fair buck but WAY WAY less than he was.
    I know exactly what your saying Tom when you cite pretentious. I actually am not but many people reading my words think that. Thats perception, I can just as readily type like an idiot. I am as comfortable in a bar, a auto garage, a meeting in a board room or at $1200 a plate dinners with politicians. Pretentiousness is the wrong word (imho). Ego or self-induced and/or public induced importance breeds it. “See people pay attention to me”. Thats a trap. Also a drug. Also why “Glory is to God”, not just a passing phrase as glory is a drug. The pursuit of wealth is actually the exact opposite of the pursuit of a good life. The understanding and pursuit of PURPOSE is of good life. Purpose is not found in wealth. Hence why it was said, “Its easier for a Camel to go through the eye of a needle than for a rich man to make it to the Kingdom of Heaven”.

    That might sound like religious diatribe (Was Christs words, so no). But, Average Mr or Misses Human doesnt understand what was said. Thats not Kingdom Of Heaven aka: solely afterlife. Its here, its now.

    I’ve asked the question many many times. “Why are you here? What is your purpose on Earth and this life?”… A few times I am amazed. Most of the time, same answers… “To raise my family”, this/that. This is near complete blindness especially amongst engineers as they are those who reverse engineer to engineer more often than not. Engineers are seldom inventors if you will, they implement invention.

    The best laid plans of mice and men.

    What we learn as we grow older is that our “quirks” become more apparent to us. When we were freewheelin’ youngsters we might know them but we dont really think about them. Tom you raise your quirks several times in your writing and in a way humble your writing to the reader. Not a skill I am really good at, its admirable. Quirks are hard to overcome. Or are they? We as human beings tend either wish hide them or control them. As we get older and I have NO idea as to WHY it happens, I attribute it to pressure (in a sec). All of a sudden the weakness of said quirks becomes sorta like a “shirt that refuses to stay tucked in”.


    I figured it out! Took 49 years of life!

    Because QUIRKS are NOT QUIRKS at all. They are opportunities to grow!

    Think about it. Good quirks and bad ones and how they relate to others as well as your own psyche / spirit. One is a great enhancer of personality, you. Tom.Core.Person(); The other works towards !Tom.Core.Person(); Now add in this: Tom.Core.Person(& agedPsycheSpirit); As we move ahead in lifes time one is more adored, the other more despised often growing in bandwidth.

    Bad quirks are a flare. Its a signal. Its NOT a signal set off in the brain. One’s brain REMEMBERS quirks and thus the looping repetition of them becomes more recognizable to us. But the SIGNAL is set off by the soul, the spirit.

    Its a signal that says, “This will hold you back from being who you are meant to be”.

    How do we fix it?

    We are programers! LUCKY! Really? Uh huh. You sure? Yessa’. K… So?

    Think brain == computer. Think soul == programmer. Now, can reverse engineer, make some changed alterations that IN TIME just like work in -> work out (I/O) results in? Better Application? Uh huh. Better person then? Uh uh. A person that is instead on purpose. Towards purpose. Answers. They come forth. 2000 years ago folks knew more of purpose than most today BECAUSE they didnt have so many “blocks” standing in the way of? finding purpose? Uh uh. Purpose FINDING THEM.

    How does the soul reprogram the brain?

    Where is ones soul?

    Class? Anyone?

    Right smack dab in the middle of ones chest. When you feel deep loss is that aching feeling in the brain? The head? Nope. Feel it right smack dab in the center of the chest where it emanates outwards. When we feel great joy is it within our head? Nope. When we feel the excitement of true love? Head? No, the brain is the anticipation catalyst, we feel it in the chest, just as we do should we loose special love. Heartfelt tears dont come from mind. Again, its the catalyst. The brain is the ultimate pattern matching “PC”. Think about that a moment. EVERYTHING you KNOW and HAVE LEARNED sits in memory, your “Heap” in code terms. But emotionally, different story, even though recorded in the memory and brought forth thereof it is not the living entity or warehouse container…

    of the entity.

    Bad quirks mode unlike MSIE in human’s is not something to be managed, instead its a message, a flare. That flare signals an exception. But the exception is not one of graceful degradation. Instead its actually one of opportunity. Opportunity towards purpose and time for a very slight base level adjustment in program of the brain that in time moves up the brain codebase.

    Sound crazy? Trust me. Its not. Take your most subtle bad quirk, the one found most simple to cope/manage. Think about what input(s) set it into motion. When those inputs occur what would you LIKE the output to be INSTEAD of what happens. Then WHEN those inputs happen, PAUSE sleep(15); and do an AJAX request, select() { Case: } towards that LIKE outcome. Before you know it, guess what? Doesnt happen anymore. Instead, very positive things happen.

    Why? Because you are moved towards purpose.

    The more you are moved towards your purpose here in this life the more you will be happy and the more those around you will learn, grow and be happy and first and foremost, the closer you are to “Heaven on Earth” which also happens to be part of what Christ was saying when he said, “The Kingdom Of Heaven Is At Hand”. Surprisingly, thats misread by many. They think he spoke only of Heaven above. Not so. Its both. Here and there, together, as one. I am Jewish by the way.

    But try it out “readers”. What do you have loose? What you can gain will floor you.

Leave a Reply

© 2020 Tom McFarlin

Theme by Anders NorenUp ↑