What Agencies are Looking for in Your Code
Don’t show up without trousers for an interview. As ridiculous as that advice might seem, there are many situations where you need to be careful not to overlook crucial elements that would help secure a job within an agency.
Nowadays, when everyone is desperately looking for developers and there’s a shortage of skilled WordPress specialists, recruiting the right person is crucial. Having been in the WordPress Community and ecosystem for over a decade, I want to share my thoughts on finding and hiring the right people — or how to find the perfect place to pursue a career in WordPress.
It is natural that with the enormous success of WordPress, the ecosystem keeps growing, and a lot of new businesses and agencies have appeared. Some smaller agencies with a marketing focus were often built up by non-developers and then struggle to know who to hire. On the other side of the coin, many applicants, maybe new to the industry or starting with WordPress, are a bit lost and could use guidance on what helps their application stand out.
That is why I want to show you what mature WordPress agencies should be looking for in your code as a developer and how to increase your chances of getting the job of your dreams.
First, you need to remember that this is “Enterprise-level Code” we’re talking about. Even if the client often sees the working, visible result and not the underlying code (something they don’t generally care about until there is a problem), the code must always be up to the highest standard. It will undoubtedly come back to haunt you if you write code without attention to quality.
Code quality impacts maintainability and scalability at its core, ultimately affecting the application’s value and total cost of ownership. If you are building applications that will be around a long time or experience high traffic, low-quality code will result in a cascade of problems and follow-up issues.
Improvement Over Time
One of the many reasons agencies have public software projects is that they are the backbone of Open Source. It also helps them keep an eye on the scope and software quality. It shows the evolution of the app.
When we produce good code, someone else can step in and help, grab a fraction of it, improve, build upon, or extend it. Agencies and other employers want to see code that is easy, readable, and expandable. That is why it’s essential to keep in mind DRY (Don’t Repeat Yourself). Test your code well, improve something, and see if it still works.
You also need to show growth — how you’ve evolved in your coding skills. Even our best developers look into their old code and recognize that there are better ways to do it now because techniques and languages are constantly evolving. The old version of their software is still functional, but it has evolved and the developer has too.
Everyone who develops can improve their skills if they learn to refactor, sleep, repeat. If we don’t see evidence of improvement, why would we hire you?
Fluency with Their Patterns
It is important to look into not just things like tooling but also the coding patterns your prospective employer is using and familiarize yourself with them. Patterns are there for a reason. They are tried and tested and have good results, making it easier to write and understand.
It is the difference between a dull or sharp ax: both will get the job done, but it is faster and safer to go with the more finely honed and better-maintained tool. If you evolve with your tools, you can work faster and better because you are trained and skilled in using them. You should be able to show this to demonstrate your value.
Fluency with the WordPress API
Another key step in evaluating developers is their use of the WordPress API when it’s available. When we review code from job applicants at Inpsyde, we look to see if they use WordPress fluently as their framework. If they do, this shows they are using the tools most suited to the job. This helps keep complexity to a minimum because WordPress has already solved a lot of problems. Developers don’t need to reinvent the wheel if they know the code.
Code That’s Relevant to the Job
Sometimes we see old code, and we don’t judge it because code is constantly evolving. This could mean the person also has grown. It is a great way to see where the person’s learning journey was in the past. However, it is a problem if we only see code that’s unrelated to the position being applied for. This requires us to follow up and request proof that you can adapt to the job requirements. If you showcase your “shop window,” make sure it is correct, spruce it up, and eliminate the spider webs. This is your calling card and one of the main things we check.
No God Objects
Here is the thing — we love to see code. We can tell from your code if you are — or aren’t — interested in growing as a developer. There is a tendency among developers to create “God Objects.” In Object-Oriented Programming, this is an object that references a large number of types, has too many unrelated methods, or does both of these things.
One of the reasons we recommend lots of testing is because it makes you hate God Objects. The God Object knows and does too much. There is a reason it’s called an Anti-Pattern that “smells.”
The great thing about the concept of “Separation of Concerns” is that it splits tasks that the code does into separate parts that can be abstracted.
The Uppercase ‘P’
Whoever doesn’t write uppercase P in the WordPress world doesn’t have a clue. It is the one thing you could be shunned, and there’s not much you could say in your defense.
The ‘P’ doesn’t make you code faster or slower, but it highlights your closeness and connection to the WordPress community. No uppercase ‘P’ means you don’t care about the WordPress community. That makes sense if you’re coming from outside the WordPress world. But when you’re applying for a role in an agency that is in that world and cares about the community, already being part of it gives you an edge over everyone who isn’t.
I would argue the ‘P’ doesn’t define the quality of the programmer, but 90% of the time, it’s a good measure. It isn’t absolute. Someone could still use a God Object even if they use an uppercase ‘P’ — but there are other ways to show your participation in the WordPress community, and these matter too.
Source Code, Not Just a CV
Our way of reviewing CVs is not aimed at evaluating coding ability. It’s impossible to know who can code well based on a CV. Although CVs help us understand what you’ve done and estimate the complexity of your experience, it won’t clarify how up-to-date you are in your skills and coding fluency. This could be a problem for a person who wants to return to work with WordPress. If they have been away for some time, it may feel like a totally different development ecosystem.
Although it’s a common practice, don’t send URLs to websites as proof of your work. Even if we can verify it’s your code there, what we can see on the front end reveals very little information about the application code and how you built it. It might look and work well, but we want to look under the hood and take the engine apart.
We are looking for a description of what a developer did and learned in the past. We often see the use of different frameworks and can determine from that what other skills they might have. Working for years only in WordPress does not guarantee that someone is skilled. That’s why we rely on checking source code to decide the next steps with a candidate.
How You’ve Dealt with Vulnerabilities
The thought of getting a Security Exploit notification from the WordPress plugin directory can make anyone break out into a cold sweat. Well, sit down and breathe. We got through it and so will you.
In our case, we had a problem with random strings that weren’t random enough. We needed to add randomness, so we did. Can you show a case where you dealt with something similar? Have you patched a major bug or vulnerability?
You have a duty to your users. When you know you have a problem, it doesn’t matter how trivial it might seem. You must solve it. If this hasn’t happened to you, it will. How would you respond? If we’re going to hire you, we want to know.
Always Learning — Together
Because we are working in Open Source, there is always a possibility to learn — together. There are always new ways of learning all the time. Now we have videos, Meetups, WordCamps, and learn.wordpress.org.
We exist and have grown thanks to those who came before. We are acutely aware we are standing on the shoulders of giants. As an agency that hires developers, we’re not looking for individual giants. We’re looking for developers who can help us become the shoulders for others to stand on.