Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I'm interviewing for a job as a WordPress Developer. I've only been working with WP for a year now and feel I have a good overview, as in how to set it up, what functions.php does, where to modify themes, etc.. But the interview I have next week is going to be asking me all about WordPress and Linux with some MySql thrown in. All I know is that they will be giving me a laptop and a test.

How do I prepare for such a thing? Should I practice writing a plugin today? I know how to set up a Linux server, but I'm not great with advanced file manipulation or shell scripting. I'm good at setting up, troubleshooting and configuration. And I read the WP Codex a LOT. What would be a good homework assignment to give myself to prepare properly? I've noticed there aren't many resources for studying for a WP-centric interview out there.

share|improve this question
1  
There is a big difference between and developer, designer and server admin, though there certainly is some overlap. –  Wyck Aug 30 '11 at 22:02
    
Yes, true. I contain a lot of that overlap and have done so on purpose as I don't want to be a developer who bugs sys admins and DBAs for stuff I can handle by knowing how to set up servers and databases... –  Lynn Aug 31 '11 at 1:19

2 Answers 2

up vote 15 down vote accepted

If I were to hire a WordPress developer, my wish list would look like this:

  • Knows HTML and CSS inside and out;
  • Has at least a basic grasp of JavaScript;
  • Knows their way around PHP, and produces beautiful code (clean, consistent, DRY)
  • Has a good grasp of database design and SQL: if I show you a database schema and a few queries, can you tell whether they're well-designed and efficient?
  • Understands their .htaccess file;
  • Understands The Loop thoroughly;
  • Understands how taxonomies, custom fields, custom post types, and post formats work, and what they're for;
  • Knows how themes work and understands the template hierarchy;
  • Knows how plugins work and how to write a simple one.

There's a lot more I can think of, but I think the above would be a pretty solid start.

And here's a trick question: what sucks about WordPress, and what would you change in the next major version to fix it? If you can give a convincing answer to this, you probably know quite a bit about WordPress.

But setting aside the above wish list for a second, the most important thing to me is not whether you know the solution to a problem: it's whether you can find the solution.

Know where to look (the Codex, the PHP manual, places like this), and be genuinely interested in doing things the right way. Don't be satisfied when the thing that didn't work suddenly works: was that the right solution? Could you do it in a more elegant way, with less code? Can this solution scale, can it be reused when a similar problem crops up?

Hope this helps.

share|improve this answer
    
I'm going to say all great points, but bonus for making me think about what I'd like to improve with WordPress. Off the top of my head I'd say User Management. But I'm glad you asked it. –  Lynn Aug 31 '11 at 1:21

File manipulation and shell scripting is not often what you do with WordPress. At most something you do to it, like backup or deployment stuff. It is something WP itself and plugins try to keep to a minimum for good compatibility with different hosting environments.

What kind of WordPress development is it actually going to be? Field is quite wide from very front-end stuff to very back-end stuff and load of things in between.

This is far from comprehensive, but things that I would personally consider strong basic foundation for WP development are:

  • in general

    • ironclad understanding of hooks - what they are, how they work, how they work with classes, how one code can manipulate hooked events of other code
    • Settings API, adding things to admin area in general
    • security concepts, validation, sanitization, output to screen, checking for authority and intent
  • theme development

    • queries and loops, different ways to run them and which to use for what
    • template tags, basics (get_ vs the_), global variables they rely on
    • template hierarchy and conditional tags, what it is, how to bend it
    • parent and child themes, load order, template inheritance, setup process
    • script and style queue
  • plugin development

    • changing plugin states (actiivation, deactivation, uninstallation)
    • logical differences between plugins, must use plugins and code in themes
    • code organization (prefixes, classes)
    • core and plugin loading logic, when is it too early, too late and appropriate to run code
    • Ajax implementation
share|improve this answer
    
I wish I could mark both of these answers as the answer.... Both contain great points to think about. –  Lynn Aug 31 '11 at 1:20
    
Agreed, they're both quality answers. Maybe a community wiki can be created out of this? –  hsatterwhite Aug 31 '11 at 13:00
2  
No worries. :) There is no rule that question can only have one great answer. Just accept the one that was more helpful to you personally and let community voting take care of the rest. –  Rarst Aug 31 '11 at 13:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.