Editors Note: This is a Guest Post by Aaron Jorbin. Aaron is a polyhistoric man of the web. Currently CTO of Happytables, Aaron is working on empowering restaurant operators to make smarter data driven decision. He is also a WordPress Core Committer that focuses on improving developer happiness and making the internet usable and enjoyable by everyone. He tweets at @aaronjorbin and writes regularly at daily.jorb.in.
Sixteen years ago, Joel Spolsky put together the Joel Test, 12 questions that aim to help people identify if a software team is worth working with. While the Joel Test has largely stood the test of time, there isn’t a WordPress specific version to help WordPress developers judge job opportunities. So here are the questions I think every job searching WordPress developer should ask about a potential job.
- Does the organization contribute at least Five For the Future?
- Does the development team control either scope or timelines for projects?
- Does the organization regularly engage in shared learning and teaching?
- Do members of the organization present new and interesting information at WordCamps and WordPress meetups?
- Does the organization have people participating in communities outside of WordPress?
- Does both the team and organization include people from diverse backgrounds?
- Does the organization rely upon tools for asynchronous communication?
- Are teams cross-functional?
- Does the team use automated testing?
- Can anyone do a production build in one step?
- Do team members have control over their schedule?
Add up the number of yes answers and you have your Jorbin Test Score. It’s not a hard and fast rule that if the organization has a perfect score they are a great place to work, but every no answer needs to bring up additional questions.
Does the Team Contribute Five For The Future?
Teams that are regularly giving back to WordPress are the teams that know the most about WordPress. This is true for all the various ways to contribute to WordPress without writing code and for contributing code.
Additionally, the only way to ensure that WordPress lives on is to contribute. If an organization is committed to WordPress, it needs to be committed to contributing to WordPress.
Does the development team control either scope or timelines for projects?
When a development team controls neither scope nor timeline, they are setting themselves up for burnout, fatigue and ultimately mistakes. Working long hours for long periods of time does not work. In order to ensure sanity, developers need to have control over either the timeline for a project or the authority to descope features.
In a client services organization, this means not over promising to the clients and including developers in estimates. It also means building contingency time in when attempting to estimate large projects, because you will be wrong.
Does the organization regularly engage in shared learning and teaching?
Organizations need to engage in shared learning in order to move forward. This helps organizations understand new ideas and adopt new practices. It helps junior developers build confidence in themselves and their work as they can share information in a supportive environment. It helps senior developers share half-baked ideas and get feedback from their peers.
Do members of the organization present new and interesting information at WordCamps and WordPress meetups?
It’s not enough to share ideas internally, it’s important to share what you learn with your pears in the broader community. Additionally, presenting to the WordPress community is a part of the long game of recruiting.
You are planting the idea in people’s minds that, “If I work with X, I will get to do cool things like they are doing”.
Does the organization have people participating in communities outside of WordPress?
Does both the team and organization include people from diverse backgrounds?
People solve the problems that they see. A team of people from diverse backgrounds will always see more problems than a homogeneous team and thus will always produce a better product. A team should be composed of people of different genders, different educational backgrounds and different races. Logic dictates that diversity is important.
Does the organization rely upon tools for asynchronous communication?
Expecting everyone to be in one place at one time all the time is a recipe for maximizing information imbalance. We want to minimize it. Even if a team is in the same physical location most of the time, using asynchronous communication tools like chat, wiki and bug trackers as the primary communication platform is important.
Are teams cross-functional?
Teams should be based on tasks, not based on discipline. A team that only includes engineers (or only includes designers, product managers, or marketers) is not going to be able to solve problems as in depth as a team that includes people from multiple disciplines. Diversity of expertise is just as important as diversity of background and diversity of experience.
Does the team use automated testing?
Relying on people to do all the testing doesn’t scale. The time to test increases over time and unless you are constantly testing, remembering all the steps and all the edge cases aren’t practical. Automated testing of some form is required to ensure you constantly are shipping a quality product and management needs to realize the benefit of investing in automated testing.
Can anyone do a production build in one step?
Not only should everyone on the team have the physical ability to do a production build, but everyone on the team should feel empowered to do one. Etsy is famous for pushing on day one. They even have engineering rotations to make sure nonengineers feel comfortable doing it. Many years ago at the Cheezburger Network, it was said that they don’t show its new employees the bathroom until they’ve checked In code. This empowerment shows a trust in employees that can’t be overstated.
Do team members have control over their schedule?
Everyone works differently. There are morning people, afternoon people, night people, and overnight people. Allowing people autonomy over their schedule enables them to work when it is best for them. This doesn’t necessarily mean that there shouldn’t be expectations for when people are available, just that individuals should set the expectations for themselves.
Your next WordPress job
In addition to answering these questions, you need to yourself, “How will this prepare me for the position I want after it?”
Make sure that the position is going to help you become qualified for a job you want that you aren’t qualified yet. The Jorbin Test isn’t going to answer that for you, as it something you need to ask of yourself.
You also need to trust your gut. Even if a job has a perfect score, if it doesn’t feel like the right fit, it won’t be a great place for you to be. You know you the best, so find the best job for you.