The community fragmentation, though, creates some challenges that aren’t entirely solvable with a broad program. The ECMAScript standards process continually strives to create a single specification that all of these groups can share. The tensions in that process over which features to add and how many often parallel the fault lines in the community. How far should the language go to accomodate programmers who expect object hierarchies to be defined with classes, for example?
First, let’s set a few things straight: becoming a top WordPress developer is hard work — very hard work. It’s going to take a lot of time, energy and determination. If you’re looking for an easy checklist or some “fast pass” to the top, you’re going to waste your time. Being one of the best is hard, and statistically speaking, the odds are stacked against you.
By the way, installing WordPress, reading a few tutorials and customizing a few themes does not make someone a top developer. They may call themselves an “Expert”, and that’s fine. They may know more than the average person. But a top developer moves far beyond the basics, and pushes the very boundaries of what is possible. They innovate, contribute to the community, and demonstrate mastery in the work they do. So I want you to be more than an “expert”, I want you to be one of the best.
WHY BE A TOP DEVELOPER
Why not? If you work with WordPress (or plan to start), why just settle for being average? There’s too much “average” in life already. “Normal” is highly overrated. There are other reasons, though. For instance, the top WordPress developers:
Make the most money
Demand for WordPress development is high and clients are willing to pay more for developers who are the best in their field.
Get the best clients
When you are at the top, you have the freedom to say “No” to the projects you don’t want, and “Yes” to the projects you do.
Have the most influence
Being at the top means you have influence (and responsibility) and the capability to shape the future of WordPress as well as the ecosystem that is built around it.
ONE HOUR OF READING A DAY
If you’re going to make it to the top, then you need to spend at least one hour each workday focused on reading and learning more about WordPress — outside of any development work. There are no shortcuts, and no other ways around it. Learning and mastering WordPress is going to take time. If you watch TV, cut it out — more than 90% of it isn’t good for you anyway. If you’re a gamer, sell your games or throw them away. Reaching the top takes commitment and sacrifice and the best place to start is with the things in life that aren’t doing you any good anyway.
Start with one dedicated, distraction-free hour of reading for each workday. Shut off instant messages, put your phone on silent, and read. Take notes on what you learn along the way. You’ll find the time goes by faster than you would have expected. Keep at it, day after day, week after week, and month after month. And as you start to see success, put in more time for reading.
Alternatively, consider a three-hour block, two to three times a week. The key is to make a commitment to learning and honoring that commitment by setting aside the necessary time to see it through.
Enrolling in WordPress University
There’s never been a better time to learn and master WordPress than right now. There are so many excellent resources available to those willing to put the time and effort into using them. Before you can start gaining experience, you need some education. Sure, you could just jump in and start breaking things. But I suggest you wait, and cultivate the self-discipline it takes to learn — there will be plenty of time to break things later. As you start your education, it’s important to begin with the social aspect of your experience.
HANG OUT WITH THE RIGHT CROWD
We become like those we associate with. If you want to be one of the top WordPress developers, start spending time with those at the top. Read their blogs, follow them on Twitter, give feedback on their thoughts and ideas, go to WordCamps to meet them and listen to their talks. Read the interviews on CodePoet. Follow their examples, ask them for advice, follow their advice, and report back.
Here is a small list of WordPress developers to get you started:
Andrew Nacin (@nacin)
Alex King (@alexkingorg)
Bill Erickson (@billerickson)
Carl Hancock (@carlhancock)
Cory Miller (@corymiller303)
Mark Jaquith (@markjaquith)
Matt Mullenweg (@photomatt)
Mike Schinkel (@mikeschinkel)
Nathan Rice (@nathanrice)
Peter Westwood (@westi)
Jeff Starr (@perishable)
Joost de Valk (@yoast)
Justin Tadlock (@justintadlock)
Silviu-Cristian Burcă (@scribu)
READ THE MATERIAL
The amount of reading material available on WordPress is overwhelming. There are thousands of people talking about WordPress and it is becoming increasingly difficult to filter through the noise. There are authorities, however, and when you commit to mastering WordPress, then you should start your journey by finding the highest quality resources and concentrating your efforts just on those.
Here are a few resources to get you started:
The WordPress codex is a community-edited repository for all things WordPress. Start with the very basics and focus on mastering the WordPress interface itself from an end-user’s perspective. Learn the WordPress semantics. Read about theme design and plugin development.
Books on WordPress
There are more than a dozen books available on WordPress. Start off with the titles of greatest interest to you and then work towards the others. Think “WordPress For Dummies” is too basic? Maybe not. Your clients may read it and it’s important to have their perspectives. When you’re finished, thank the author and write a review.
Blogs on WordPress
Find and follow the best blogs about WordPress. Subscribe to their feeds. Read them regularly and give feedback to the authors. A few of my favorite blogs are WordPress on Smashing Magazine, WP Tuts+, and WP Candy.
UNDERSTAND THE TECHNOLOGY
If you’re going to master WordPress as a developer you need to understand the technology. If you’re already a programmer and PHP/MySQL aren’t new to you, great. Make sure your skills are up-to-date. If you’re new to programming, start learning.
Here are some ways to begin:
Learn PHP and MySQL
It’s really important that you know PHP and MySQL and that you learn the best practices. A few out-dated tutorials aren’t going to do it. And if you learned it a few years ago, a lot of the practices you picked up are probably out-of-date. Not sure where to begin? Start with Lynda.com or Learnable.com. Learn about MySQL performance.
Explore the Codebase
Take time to explore the WordPress codebase on Trac and on Xref. Read through the documentation to understand how things work. Look up what doesn’t make sense to you and ask questions. Familiarize yourself with how WordPress is structured.
Run The Nightly
Setup a local development environment and run the nightly build as a way to stay up-to-date on WordPress as it’s being developed.
Read “Make WordPress”
A good way to understand the technology is to follow the development discussions taking place on make.wordpress.org. You can follow discussions about the Core, Plugins, and Themes for starters.
DO THE HOMEWORK
Put what you’re learning into practice. Start with your own WordPress websites. After you read a tutorial, follow it on your own. Experiment. Break things down. Track what you’ve learned and record your insights and breakthroughs for future reference. Spend as much time as you can taking what you’ve learned and applying it to your own projects and experiments.
Here are a few areas to explore:
Start by familiarizing yourself with the list of available APIs on the Codex. Read through the information available for each API and experiment with each (some will be easier than others). Search for tutorials for each of the APIs to give you some real-world perspective and experience on what can be done with each.
Ajax in WordPress
Even if you’re already familiar with Ajax, learn about the use of Ajax in WordPress. Then, move on to tackle using Ajax in plugin development. Search for tutorials to develop your experience further.
WordPress PHP Classes
Familiarize yourself with the list of classes created by WordPress developers. Experiment with them on your own projects and master them. In particular, pay special attention to WP_Query, WP_Theme, and wpdb. Search for tutorials on each of the classes, as well as non-core, community contributed classes like WPAlchemy.
Gaining Experience With WordPress
With your education well underway, it’s time to gain real-world experience — and lots of it. Your path to the top is lined with trials and difficulties and gaining experience outside the safe playgrounds of your own projects is a critical step in the right direction. One of the best ways to get started is doing work for others.
TAKE ON CLIENTS
Working for clients, paid or free, is one of the best ways to gain experience. Clients introduce challenges you would never have to deal with working on your own. If you’re just getting started, learn how to get your first client. While the market focus (large clients vs. small clients) will vary, the heart of the matter is get a lot of experience. The goal is to not just get a few hundred hours working on WordPress, but a few thousand. You need to put the time in with real-world experience and taking on clients is one of the best ways to do this.
DEVELOP A PUBLIC THEME
Build a theme you’d actually use. Release it, paid or free. Listen to the feedback you get from developers and end-users who use your theme. Ask for a peer review from theme designers you respect. Update your theme as you get feedback and as your abilities improve. Work hard to make a theme that you can be proud of.
DEVELOP A PLUGIN
As you learn and work with WordPress you’ll eventually find a need that hasn’t been met. When you do, meet it yourself. Take what you’ve learned about plugin development and put it into practice. Write a plugin that’s secure and that solves a real need, without being another “me too” contribution to the already massive plugin community. Release it, paid or free, and get feedback from the people who put your plugin to use.
CONTRIBUTE A PATCH
Read the Core Contributor handbook and learn how to submit a patch. It can be a daunting process your first time around, but look for a challenge that you can tackle, and stick to it. Contributing a patch is an invaluable experience and an important part of being able to consider yourself a top WordPress developer.
Learning how to write bug-free code is a critical step in becoming a great developer. Start with the Codex and learn about debugging in WordPress. Read Andrew Nacin’s post on 5 Ways To Debug WordPress. Familiarize yourself with some of the developer oriented plugins, like Core Control, Debug Bar and Log Deprecated Notices.
Joining The WordPress Community
As you continue your education and put what you’ve learned into practice, the next step is to become an active member of the community. You may be a fantastic developer, but it doesn’t count for much if no one knows you exist. Spend time investing in the community. One of the best ways to do so is sharing what you know.
I got my start back in 2006 with a simple tutorial I wrote (be warned, it is a little dated). I took what I had just figured out and poured it into a tutorial to help others and save them the time (and headache) I had just experienced. A lot of people read it, a few wrote back and said thank you, and some people even asked me to do some work for them. So write tutorials that take the best of what you’ve just learned and present it to others so they may reap the benefits of your efforts. It’s worth it.
CONTRIBUTE TO THE CODEX
As you spend time reading through the Codex you will notice areas that need improvement. Learn about becoming a volunteer in the Codex. Dedicate time to improving the quality of the documentation. While documentation in the Codex is continually improving, there are still functions and features in the WordPress core that go undocumented. If an area is beyond your current capabilities, bring it to the attention of others and embrace the opportunity to learn more in the process.
PARTICIPATE IN FORUMS
Most WordPress beginners start out asking questions on the official support forums. Start there by answering questions (even the silly, basic ones — we all start somewhere). From there, become an active member of the WordPress Stack Exchange community. Answer questions and learn from the answers that other developers are giving.
PRESENT AT WORDCAMPS
Attend upcoming WordCamps and look for opportunities to present and give value to the WordPress community. A true sign of your expertise is your ability to take what you know and teach it to someone else. Read the Diary Of A WordCamp. Want even more of a challenge? Become an organizer and start a WordCamp near you.
Reward And Responsibility
The reward at the top is worth the effort. If you’re building a business around WordPress (read 7 reasons why you should), a mastery of WordPress is a critical step to your success. In 2011, according to the official WordPress Survey results, “6,800 self-employed respondents were responsible for over 170,000 websites, personally”. Of those, the average median hourly rate was $50/hour. Based on the Pareto principle, the top 20% of those developers (less than 1,400) are responsible for 80% of the work done (and they make more than $50/hour).
Now, being in that top 20% carries with it a high-level of responsibility. Staying at the top requires a commitment to ongoing education and continual experience. Never stop learning and improving. Being at the top also puts a level of responsibility on your shoulders for the health and future of the WordPress ecosystem. Get involved. Weigh in on important matters. Contribute. Put a percentage of your success back into building up WordPress and ensuring its future.
Becoming a top WordPress developer requires a mindset of continual improvement and a willingness to do the hard work. It starts with an intentional focus on education and then moves to extensive real-world experience. Finally, the title of a “top developer” demands dedication to the WordPress community, as well as recognition of the responsibilities by those who mold and shape the future of WordPress.
What about you? What advice do you have for becoming a top WordPress developer?
Smashing Book #4
It's done. The Smashing Book #4, our brand new book with smart techniques, ideas and approaches for front-end development and design. Written by respected designers and developers, neatly packed in a gorgeous hardcover. Get the book now.
here is a low barrier to using and working with WordPress. In fact, anyone with knowledge of PHP or with design skills can start using WordPress immediately and see results.
But if you want to really succeed with WordPress, build a strong business and gain respect, you need to be an over-achiever. Why? Because there are plenty of other WordPress developers out there who are also vying for clients and trying to earn a buck.
Luckily, there is a plethora of information available so you can move beyond the basics of tweaking a site so you can start calling yourself a fully-fledged WordPress pro. It also helps to pay attention to what the actual pros – the WordPress core developers and contributors – are doing.
So if you’re ready to kick some serious ass, read on.
It goes without saying that every good developer who wants to be great references the Codex. The Codex is, essentially, the WordPress bible.
If you’ve never used the Codex before, even for the basics, like setting up a Multisite installation or for reading up on detailed information on a function, then you’ve probably been living under a rock or in a dark, dank cave, with only a generator to power your MacBook Pro.
Make WordPress Core
Make WordPress is the official blog of the core development team for WordPress.
The site features regular updates on new features for upcoming version of WordPress. If you want to stay on top of what’s happening in WordPress, this is the place to be.
If you can’t get along to WordCamps, WordPress TV is the next best thing. WordPress TV features recorded videos from WordCamps held around the world.
It’s easy to search through the site for videos on any topic, plus watching someone give a presentation can be a lot more engaging them simply reading a blog post.
Let’s start easy. If you think you’re too good to read a beginner site, think again. Syed Balkhi’s site is the largest unofficial WordPress resource on the web and is updated daily with new tutorials and how-tos.
While many of the site’s posts may seem too easy, and even trivial for advanced users, there are often interesting tips and tricks that are helpful for any good developer.
If WP Beginner is too easy for you, then Tuts+ is the place for you. Since Tom McFarlin recently took over the editing gig at Tuts+, the site has gone full throttle with advanced topics, such as object-oriented programming in WordPress and using WordPress for web application development.
Speaking of Tom McFarlin, his personal blog is a thoughtful and informative extension of his work at Tuts+. The topics he writes about are heavily geared towards programmers, but these are interspersed with posts on discussions such as The Hate and Vitriol of WordPress and Developer Distractions: The Available Tools.
Smashing Magazine is one of the first web development/design blogs I remember reading. The WordPress articles are posted almost monthly, but the site contains a large back catalog of articles by some recognisable WordPress personalities, such as Siobhan McKeown and Tom McFarlin.
The posts are usually in-depth and well-researched.
WP Mayor regularly publishes how-tos, just like WP Beginner. The posts are usually a mix of beginner and intermediate level stuff, with a few promotions thrown in for good measure.
ManageWP is another regularly updated WordPress blog featuring, tips and tricks, how-tos and reviews.
The site has a lovely mix of intermediate level articles, as well as information on third-party plugins and themes.
Blogger and web developer Paul Underwood maintains a fantastic collection of tutorials, snippets and other resources on his personal site.
His blog is a great place for intermediate and advanced level, including cool topics like Create A Clock In CSS and how to Programmatically Add Menu Item.
If you haven’t heard of Pippins Plugins, you’ve probably just finished a stint serving time in solitary confinement. Pippin Williamson has coded so many plugins, his products alone could fill the WordPress Plugin Repository and Code Canyon. Well, almost.
Pippin’s blog is a great mix of thoughtful reviews, tutorials on advanced topics and how to use features such as the WordPress heartbeat API.
Konstantin Kovshenin is a developer for Automattic and in his spare time he is… a developer for WordPress core. There isn’t much about WordPress this guy doesn’t know.
He regularly updates his blog with posts on advanced topics like Understanding _n_noop() and more reflective stuff relevant to all plugin developers like Lessons Learned from Building and Supporting a (Fairly) Popular WordPress Theme.
Otto on WordPress
Otto’s blog is where I go when I want to feel completely out of my depth. His blog focuses on advanced WordPress topics like Making a custom control for the Theme Customizer and Theme/Plugin Dependencies.
While his blog is updated sporadically, it’s a great place to go if you want to get stuck into the nitty gritty of code. Otto is also a great proponent of internationalization, and some of his posts look at how to make themes and plugins translation ready.
While Mark Jaquith doesn’t post all that much on his blog, his posts are an interesting take on WordPress development from a core developer. Hopefully we’ll see more posts from Mark soon.
Core developer Andrew Nacin rarely posts on his blog, but when he does he’s got a lot to say. Take his latest post for example, The qualities of a great WordPress contributor, which comes in at a lazy 2869 words. It’s a great read if you’re thinking about contributing to WordPress.
Hongkiat’s WordPress category features a regularly updated stream of how-to and list posts covering everything from how to install WordPress locally and 20 WordPress Shortcodes and Plugins You Might Want To Try.
The site is well worth reading for tips and tricks or theme inspiration.
Much like WP Mayor and ManageWP, WPLift offers a varied collection of tutorials, guides and WordPress round-ups.
WPLift posts a great weekly round-up of new, tutorials and resources published on third-party sites.
Matt Medeiros’s site focuses on the business of WordPress, with a mix of interviews, tips and reflections on working in the WordPress ecosystem.
Matt is also well-known for his Matt Report podcast and in-depth interviews with WordPress personalities.
Chris Lema’s site completely veers away from the development site of WordPress, instead focusing on the entrepreneurial aspects of using the CMS.
WP Kube is in the same vein as WP Lift and WP Mayor with its mix of list posts and how-tos.
This site is more targeted at intermediate level developers who are looking for curated information on plugins and themes.
WP Explorer is another how-to site, with interesting content on topics such as creating a WordPress theme and customising the admin user interface.
Genesis developer Carrie Dils blogs about all things WordPress, such as How to Run a Successful Affiliate Campaign Without Being a Douche to How To: Add a Logo to a Genesis Theme.
Carrie’s blog is a great mix of development and reflective articles with an emphasis on Genesis.
I would be remiss to dismiss this very site, WPMU DEV Blog! We post daily on everything from the best free themes available to reviews on plugins and WordPress services.
On Saturdays and Sundays we publish Weekend WordPress Projects, an ongoing series of quick projects you can complete in under an hour to improve your WordPress site.
WordPress Development Stack Exchange
Stack Overflow is a fantastic question and answer site for programmers who are stuck and need a hand with frustrating code. The site’s dedicated WordPress area, WordPress Development Stack Exchange allows you to search through questions and tags and post your own question for other developers to answer.
You are able to deliver projects on time and at a high quality level.
You have a passion for development and continuous self education in your area of expertise.
You have code samples showing all your relevant skills. Each code sample is a non-trivial example showing your best skills and knowledge.
You have a consistent coding style and passion for well-organized, clean code.
You have good verbal and written communication skills in English.
You have a good knowledge of Git version control system.
Very good knowledge of WordPress and Codex.
Ability to write WordPress themes and plugins from scratch.
Very good programming skills and knowledge of general principles (DRY, abstraction, KISS, code refactoring and optimization, etc.).
Very good knowledge of PHP and OOP principles.
Good knowledge of front-end development (HTML5, CSS3, Responsive Design).