How To Level Up Your WordPress Development Skills

This past weekend, I attended WordCamp Atlanta 2013 and had an great time listening to some awesome speakers, finally meeting some Twitter friends face-to-face, and hanging out with a number of different people at the conference at the after party. All-in-all, it was a great weekend.

I gave my talk, Level Up Your WordPress Development Skills, on Saturday morning at 9am. Though the talk was filmed, I’m not sure when it will be online, so I’ve shared both my slides and the notes from my talk below.

My Talk at WordCamp Atlanta 2013

Below, I’ve shared both my slides and my notes from each section of my presentation.

Rather than provide just bulleted list of content, I’m providing an abbreviated form of the talk in hopes that it gives each set of slides more context so for those of you who weren’t able to attend will still be able to understand my general talk throughout the presentation.

Additionally, whenever the videos are posted, I’ll be sure to include my talk on the site, as well.

Level Up Your WordPress Development Skills

[slideshare id=17315717&doc=levelupyourwordpressdevelopmentskills-130318071140-phpapp02]

What’s Up?

I’m a self-employed developer who primarily builds plugins and web applications using WordPress. I build plugins in order to contribute back to the WordPress economy, but also for hire so, y’know, for fun and profit.

As of 3.5, I’m also a WordPress core contributor, and a partner at 8BIT where we produce #notes, Standard, WP Daily, Hello Dolly, and where we’re working on a few other things that should be released later this year.

Finally, I blog almost daily about WordPress specifically around development and those topics that are tangentially related.

But Enough About Me, Let’s Talk About You

The point of the talk is Level Up Your WordPress Development Skills, but this presents a bit of a challenge since everyone is at a different level of experience.

As such, this talk is geared more towards those just getting into WordPress development as well as intermediate WordPress developers, but hopefully there’s something for advanced developers, as well.

Level Up!

This raises the question of how do we level up our WordPress skills? My goal is to cover exactly that.

We’re going to discuss:

  1. The WordPress Codex
  2. The WordPress APIs
  3. Coding Standards
  4. Finding Your Niche
  5. Educating Yourself

The WordPress Codex

As defined from the site itself:

Welcome to the WordPress Codex, the online manual for WordPress and a living repository for WordPress information and documentation.

But here’s the unique thing about the Codex. It’s useful for all types of people:

  • Bloggers
  • Designers
  • Developers
  • …and more

It’s not simply limited to those who want to build for WordPress, but for those who want to use WordPress, as well.

Here’s why this is significant: Regardless of how you’re trying to level up your skills, you need to be spending  lot of time in the Codex.

But this matters because if you have a question for how to do something in WordPress, the Codex should be the first stop – not Google – and here’s why:

Because WordPress and its associated ecosystem is built using a variety of languages such as PHP, JavaScript, HTML, CSS, and so on there, it is a lot of information on the web for how to get things done using WordPress.

But if you want to level up your skills as a professional WordPress developer, you can’t settle for simply getting something working. Instead, you need to care about building things correctly. When you opt to google for how to do something in WordPress, you run the risk of finding code although it may work, it may not provide the correct way of doing something.

The WordPress Codex provides documentation for how to do it right.

Of course, there’s a little bit more to it than that. After all, WordPress has grown into a mature application with reference material to match and this is why it helps to know what APIs are available.

The WordPress APIs

But what are APIs? If you’re new to programming, then the true definition of API is an “Application Programming Interface,” but that sounds a lot like technical jargon, right?

Instead, think of APIs as available functions to help you do stuff. And when it comes to WordPress, there are actually quite a few sets of APIs that are available all of which generally make building things for WordPress easier.

So how do you go about finding them? Generally speaking, I always recommend that you first identify what it is that you’re trying to do.

This can be something as simple as adding something to the content that’s rendered in a blog post, or it can be something more general such as building a theme, writing a plugin, creating a widget, or something like that.

Secondly, it’s really helpful to read, practice working with the example code, and then implement the solution.

The point is not to memorize code, though – that’s not a good habit for programmers to adopt – instead, it’s for you to fully understand what’s going on with the code so that you’re able to apply it in future work.

Finally, there are a variety of WordPress APIs most of which I can’t summarize here, but if you’re looking to begin building professional-grade products, I recommend learning the following APIs as a starting point:

Again, there are plenty of API’s available – many of which I recommend reading – but they’re out of scope for this particular presentation; however, if you’re getting into more advanced development, then they are a must.

Coding Standards

Here’s the thing about writing software: each programming language has its own set of standards, but its not at all uncommon for programmers or a team of programmers to decide how they think code should be written.

And perhaps that’s the best definition for coding standards: The consistency of style of our code.

The WordPress Coding Standards are not an intangible set of rules – they’re documented within the WordPress Codex and provide an extraordinarily large set of examples for how code should be formatted whether or not you’re working on WordPress or building products for WordPress.

But this raises the question of why should we use them?”

Remember: WordPress is licensed under the GPL so all code that goes into WordPress or that is built on top of WordPress falls under the GPL is as well so make sure it looks good.

It also sets a level of expectations for what other developers, our teammates, and our fellow contributors. Ideally, there should be no surprises for how the code looks if they are to interact with it.

Finally, it’s about creating a cohesive experience. When a team of designers work together to create the designer or user interface of a site, they have a cohesive vision and style that they put into their design for a project. But imagine if each designer was given free reign on their own page or set of pages. This would result in the site appearing as if there is no design to it.

Such is it with code. If there isn’t cohesion, others recognize it and it can reflect poorly on the entire application.

Finding Your Niche

Next, if you’re looking to begin building up your name or brand around yourself for building WordPress-centric products, it’s important to know the niche that you’re targeting.

It’s rarely enough to say that “I build things for WordPress” because “things for WordPress” now consists of sites, blogs, applications, plugins, themes, support services, consulting, education material, and so on.

To that end, it’s important to know that you know you know what you’re going over. I’m not saying that you should pick one of the above, but you need to know what thing you’re targeting.

I think that we – as developers – need to know our market and our market should be identified by creating things while sitting at the intersection of what we love doing and what we’re best at doing.

Ultimately, it can be challenging to find what our niche is, but the best advice that I can give is to try to identify where your talents intersect with your passion and try to work from there as much as possible.

Educate Yourself

Because WordPress and its economy are consistently growing and changing, its important that you not let your skills stagnate. The sooner that you realize it’s a journey rather than a destination, the better off you are.

Case in point:

  • WordPress releases several new versions per year
  • New blogs, technologies, and practices emerge each year
  • There is always someone more capable than you (and me)

To that end, you’ve got to stay on top of it. The challenge – or perhaps the scary part – is that you’re trying to drink from not one but many firehoses.

So here are some practical tips to help stay on top of the topics that are most closely aligned with your niche:

  • Follow those aligned with your niche
  • Read the comprehensive WordPress blogs simply to stay updated with what’s going on in the world of WordPress
  • Design, code, and/or blog frequently
  • Don’t stop!

Note that these are just general pointers. Ultimately, you’re going to have to find ways to contribute back to your niche in order to make sure that you’re leveling up your skills.

That It’s – At Least, For Now

As I mentioned, this is more or less an abbreviated version of the talk that I gave. As soon as the video is made public, I’ll be sure to link it up.

If nothing else, hopefully sharing these notes provides a bit of help for those of you who were unable to attend the conference. Maybe next year?

9 Replies to “How To Level Up Your WordPress Development Skills”

  1. Great post,

    I wish I saw your talk live ;)

    Actually the biggest problem that I’m trying to overcome is the niche mentioned.

    I find it quite challenging to have time to blog, educate myself and answer clients. This seems like too much tasks for one person and is quite overwhelming.

    I was trying to figure out how do you manage to post / blog / and work at the same time? This particular niche (say blogging – programmer) is interesting as you both give & receive :)

    Regards Tom,
    Rafal

    1. Thanks a lot for the comment, Rafal. As soon as the video is available, I’ll be sure to post it here.

      You know what’s interesting, though, is that I had a number of people talk to me throughout the weekend about finding the balance of blogging and then working. I need to find a good way to break down my schedule, I guess ;). The challenge is that we’re all built different so what works for me, may not work for you, you know?

      At any rate, you’re not the first person to ask me so hopefully I can provide some insight later on.

      Anyway, thanks again for the comment – all appreciate your thoughts!

      1. Ha ha ;)

        You’re right indeed, it’s all more personal than it seems :) Although couple of general rules might come in handy.

        I for instance feel more comfortable to code late night, while being bothered by nobody. While blogging is much easier throughout the day.

        Nonetheless I think that communication is neccessary – mental evolution is required as it’s easy to get stuck in your own world of constant coding not having time to improve your routines :)

        Thanks for the ‘thankses’ ;)

  2. Fantastic, as per usual, Tom.

    Did Naomi have some input on this? I recall seeing a pitch from her for Wptuts+ once with the same title!

    I might have to borrow this for our local meet up sometime even, if you don’t mind :)

    1. She didn’t – that was pure coincidence!

      She gave a talk the day before that was fantastic. Hopefully all of the videos will be online soon (I’m just not sure where ;)).

      As far as borrowing it, go for it. Shoot me email and I can probably provide you with some more collateral..

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.