My WordPress Origin Story And Why It Matters

Here's how I started, then promptly stopped, calling myself an "Expert."  Creative Commons Image Attribution.
Here’s how I started, then promptly stopped, calling myself an “Expert.”
Creative Commons Image Attribution.
Last week I wrote a post helping folks to vet potential WordPress developers.

Lest my developer friends think I am being two-faced, I thought it best to follow up with my origin story, for reference.

I’ve been the theme-tweaking developer I publicly shamed in my previous post. But I’m not much good at fast-talking slick salesmanship.

It’s lots of us second-career developers’ origin story. We were tasked with putting together a website for someone, found WordPress, kicked the tires a bit, and made the first DIY website we’d ever seen that was not terrible. It wasn’t good. It just wasn’t terrible.

So we bought the developer’s license to the Thesis 1.x framework which somehow inexplicably gave us for.ev.er without having to pay again, and a drag/drop(ish) interface for making WordPress sites. It was a high enough bar that it couldn’t be replicated by our target market, but by no means a high one. The techiest we ever got was having to add some code to our functions.php file, and there was always some to copy and paste on a forum somewhere.

If we were savvy enough, we could make a decent living from that point, without ever having to learn anything else. It’s the beauty of WordPress.

I can’t be sure, but I may have even referred to myself as an “expert” at that point.

I wasn’t savvy (or tenacious, or something) enough, so though I got to a point where people would pay me to make sites, I was never making all of my living from development. Then I made the mistake of continuing to learn.

See, had I pivoted away from the development side and into the marketing side of web design, I may have been able to continue blissfully unaware of how little I actually knew about WordPress, the community, or development in general.

I’ve always been a learner though, and soon enough I peeked from behind the curtain of Thesis and it’s hide-the-code philosophy and stuck a toe into the actual code that is holding up the whole affair.

I’m not exactly certain of the timeline, but it goes something like

  • Read something Otto wrote →
  • Read something Ipstenu wrote →
  • Immediately stop calling myself an expert →
  • Cobble together a plugin for a specific client need →
  • Release that plugin on the official .org repo →
  • Start trying to figure out enough code to call myself an expert again →
  • Read something else Otto wrote →
  • Go to a WordCamp developer’s track and watch the lingo fly over my head →
  • Come home with a three page document of terms to Google →
  • Join slack and sit through several meetings afraid to ever speak up →
  • Happily give up on ever calling myself an expert →
  • Volunteer to help a few people with their code on github →
  • Release another plugin →
  • Nothing has blown up as a result of my plugins after “1000+ active installs” on each of them.

See, I’m by no means the best WordPress Developer on the block, but I’ve started to learn how little I know, and I’ve contributed to the community, which puts me in the top 1% according to this great article.

...You are not dealing (any longer) with a guy just in this open-source game because it's cheaper. Share on XThat’s why this matters. For the client hiring me to set up a backup or maintenance plan for their WordPress site, it’s important to know that you are not dealing (any longer) with a guy who is just in this open-source game because it’s cheaper. I’m here to actually contribute to this product which has essentially already made good on its promise to democratize publishing.

For too long I’ve been a freeloader, or at least ignorant of the community supporting this thing with hours upon hours of free labor. It’s time to pay my dues.

How Learning WordPress Development is Like Playing a Crappy Guitar On Purpose.

Sometimes the nicest tools can actually hurt your ability to learn.  Creative Commons Image Attribution.
Sometimes the nicest tools can actually hurt your ability to learn.
Creative Commons Image Attribution.
I took guitar lessons for years as a kid from a virtuoso named Eric Perrotti. Every week I would show up with my (relatively nice) guitar, pull it out of the case, and plunk through whatever I was supposed to be playing that day.

Eric, on the other hand, would pull this old crappy Yamaha guitar off the wall that literally had a folded over piece of paper forming the nut (where the strings rest against the headstock of the guitar) and would amaze me with some new technique or riff.

Today during a quick YouTube search I found Eric as a guest on a local radio show back in 2003.

Later in the episode he remarks that he bought the guitar he’s playing there for $40, thus reinforcing my point here.

Eric drilled it into my head as a kid, but I forgot it: the degree of quality in the equipment does not make me any better of a guitar player. Learning the fundamentals of guitar, music theory, and other (free!) things is what made me a better guitar player. The nicest guitar in the world in my hands would pale in comparison to that crappy old Yamaha in his hands.

And that’s why I’ve redone my website, not with the Genesis theme framework or some other premium framework, but based off of the free Twenty Fifteen theme that comes installed with WordPress 4.1 and later.

At this point in my developer knowledge, putting Genesis in my hands doesn’t help me learn the fundamentals of WordPress theme development. In fact, it may hamper my ability to learn those fundamentals in the same way an effects pedal system would’ve hurt my development as a guitarist.

I don’t need a distortion pedal so that i can sound like Van Halen (who, according to my guitar teacher, was mostly tricks mixed with good marketing). I need to work on scales, intonation, hand strength, and chord changes. Once I get those down, adding some additional tools like effects pedals would likely enhance the music I am able to make.

Where the analogy falls apart is that the Twenty Fifteen theme is not crappy. It’s just not fancy. Eric was proving a point by intentionally using junk to make beautiful music. My goal is to develop a base understanding of child theme development before I hop into the deep end with a powerful tool like Genesis. (See kids: mixing metaphors makes you jump in pools with power tools.)

So, the site you are reading this on is built atop plain old Twenty Fifteen, using a child theme. Once I get comfortable plunking through the notes here, I’ll peek my head around the corner at Genesis.

Operation Over The River UPDATE April 2015.

How do you motivate your 6- and 4-year old to be more active? I chose to ride my bike with them across the state.

One set of Grandparents down, one to go!
One set of Grandparents down, one to go!

I promised to pop back in with updates, and I’m happy to report that as of Easter Sunday (just a bit over 7 months after we started), we made it the 101 miles to my parents’ house, and fittingly were able to do it at my parents’ house!

Note another flawless use of “Ka-chow!” by Benjamin, and Theo’s race pose.

Now, to keep track of the 185-ish miles left to go to make it to the other set of grandparents!

I love being a homeschool dad.

Shut Your Pie-Hole, Imposter Syndrome.

You’ll never graduate to fixing problems if you don’t first understand the system. That’s how the pros became pros.

I was having trouble with my website the other day. It was an issue unlike any I’d ever seen. My mind started to fill with all those familiar thoughts:

Welcome to my internal debate.
Welcome to my internal debate.
  • Real developers don’t have these types of issues.”
  • “Maybe I should stick to guitar, or retail sales.”
  • “I’m too dumb to figure these things out”

I pushed back with a bit of truth: I am a real developer, and the way all of those other developers got to where they are today is by not giving up when they mysteriously borked a table in their database. I can figure this out. Today’s as good of a day as any to learn something new.

Web development (and I assume this applies across most of software development) is as “simple” as understanding how the pieces fit together, and isolating problems by tracing through the connections.

Just like a good auto mechanic can explain everything that happens between gas pedal and tire to make a car accelerate when you push the pedal, the best developers out there have at least a rudimentary understanding of everything that happens from browser to server and back to make your web site look the way it does.

If you are a WordPress developer, that includes steps like how WordPress interacts with the database, and how to isolate issues to specific database tables and indexes.

This week in my never-ending journey to be the best web developer I know, I learned that the wp_options table contains an index named wp_user_roles that, if messed up (in my case, prefixed incorrectly by a naughty backup plugin’s importer script which shall not be named), makes even the most admin of admins appear to the server to be just an average joe with a subscription.

As Yoda might say “Locked out of my website I was.”

Hours of wanting to punt my laptop through my office window later, I stand before you a man with a far more rich understanding of not just the truths in that above paragraph, but also of WP-CLI, MySQL, databases, and WordPress in general.

Take that, internal monologue. I am a real developer.

Logged back into my website I am.

My Dad the Scarecrow. A Fight Worth Winning Against Critters.

That's not exactly how he looks. His hat's different, maybe.  Creative Commons Image Attribution
That’s not exactly how he looks. His hat’s different, maybe.
Creative Commons Image Attribution
In the spring every year, my dad becomes a full-time scarecrow. At daybreak during gardening season he assumes his position in a strategically located chair in the yard, fending off wildlife that would render his garden a 24-hour furry buffet.

He takes a book, a cup of coffee (with water bottle chaser for once it gets warmer), and sits guard over his domain.

Even with such vigilance, last year the deer began winning. He’d wake up early, and get out to see tracks and nibbles alerting him to their wiles.

Not to be outsmarted (he has a distinct prefrontal cortex advantage over the deer in that area), he purchased and installed a motion sensor sprinkler system that stands guard in his absence.

As a sidenote, it never gets old sending my 4- and 6-year-old into the garden without reminding them that the sprinkler is on.

See, even the best attention is not critter-proof when it comes to gardens. It’s a full-time job.

The same goes for your WordPress install. You might as well plan on having “critters.” Malicious code, hackers, and spammers. They are coming. What are you going to do to ward them off? A solid maintenance plan is critical. Keeping your site up to date is a digital sprinkler spraying would-be buffet visitors.

Contact me today to get started.

If you need me, I’ll be eating some of the corn, field peas, and fried okra from my dad’s garden.