Have you ever seen those "Developer vs. Tester" memes scattered around social media? If you haven't, these memes portray a situation where one side represents a developer clashing with another side representing testers or QA. Here are a couple of images that I've seen in the wild:
Like most memes across the Internet, some are legitimately funny, while others fall entirely flat. However, even if you find these types of images and videos innocent or harmless fun, these "Developer vs. Tester" memes can become more destructive to any development and testing culture than you might think.
The growing divide between developers and testers
Looking at the images above, one of the common threads found in them is that they show one side as a superior entity while the other side looks inferior and incompetent. For the majority of people sharing, retweeting, and reposting these images and videos, it's likely seen as inoffensive and amusing. But I've personally seen those messages burrow deep into the subconscious of developers and testers, making them believe that what those images and videos portray is an authentic look at reality.
When I created Dev Tester and began writing regularly on the site, my intention was and still is to bridge the gap between software development and QA by sharing my perspective and experience from both sides of the coin. I'm primarily a software engineer, but early in my career, I realized that testing is vital to our work. With testers and QA working alongside us, software engineers can put in quality work out into the world. Sadly, developers and testers in most organizations don't share the same line of thinking as I do.
Many workplaces have an evident split between the work done in software development and testing departments. It often manifests in a physical divide, where developers and testers usually have different offices or work in other countries. Even worse is the mental divide, where development and testing are treated unequally despite working at the same level. The disconnect between both groups makes both sides feel like they need to prove their worth instead of working together towards a common goal.
The proof of this rift appeared on a software testing group I follow on LinkedIn. One of the testers in the group shared yet another of these "Developer vs. Tester" memes of an image of Jim Halpert from The Office smiling through a window. A message above the picture indicated that this was representative of QA watching developers work through the weekend because of critical bugs they assigned at the last minute on Friday evening.
I shared this image on the Dev Tester Twitter account with my thoughts that if you agree with the message coming from the meme, you're a poor coworker. Based on the replies, retweets, and likes I received from that tweet, I was glad to see I wasn't the only developer or tester who agreed. People aren't happy that development and QA are as siloed as they are in many organizations.
How to handle the "developer vs. tester" mindset?
While departmental and interpersonal relationships aren't always going to run smoothly at work, it doesn't mean we have to resign ourselves to in-fighting, rude or sarcastic comments, and unjust criticism in our work lives. We can take some measures to help reduce the friction between developers and testers and ensure we can work well together.
Communication is always key
One of the comments left on my tweet came from someone who noted that we're still working in siloes regarding development and testing. Unfortunately, I agree with their observation since it's the case for most organizations. Usually, the division between positions isn't intentional and more of a by-product of the "us versus them" mentality covered in this article. Whether it's a deliberate choice by the organization or not, it tends to lean toward that direction.
A common misconception is that this behavior only occurs in larger organizations with hundreds or thousands of employees scattered across dozens of teams. While it's certainly more difficult to keep in touch with larger groups of employees, siloed communication doesn't only happen in these places. I've seen it first-hand at almost every startup I've worked at—some with less than 15 employees. Since development and testing rely on each other for each side to do their best work, it's unfortunate that this division exists so deeply in many places. The best way to prevent teams from keeping themselves isolated from each other is to establish frequent and visible communication across the entire organization.
If you're a QA or engineering team leader, make sure you and your team have the freedom to check in on the other side to bring up issues that can get resolved in a mutually beneficial way. Recurring meetings can also help both teams know how to cooperate better. Leverage collaborative tools to establish an easy-to-find location where anyone knows what the other side is doing. For instance, giving QA access to the development roadmap and sharing QA meeting notes can help developers and testers understand how they can make everyone's work easier by spotting early warning signs.
Even if you feel like you need more "soft power" to do it because you're not a team lead or don't feel like you can start calling meetings or introducing new processes, you can still make small changes within your team and begin tracking how they're helping. When others see that these changes will help make their work better, they'll want to help with your efforts. It won't happen overnight, but that's how you start a movement toward improved communication over time.
Show empathy, no matter your role
The primary thing that bothers me with the "Developer vs. Tester" memes is the complete lack of empathy in most of those images and videos. Take any of the pictures shared earlier in this article, and you'll see that one side is inconsiderate of the other one. These images are meant as comedic humor, but I'm sure many people felt some legit joy thinking about how it negatively affected another group.
Even if you feel there's some justification for having those feelings, you never really know what the other side deals with regarding their work. The reason why developers have been delivering more bugs than usual might be due to the higher-ups forcing an impossible deadline that they're struggling to hit. Or maybe the testing team has been relentless with bug reports because they were made the scapegoats for a recent production deployment gone wrong.
It doesn't stop at one-time events that occur after a sprint or product deployment, either. Sometimes these feelings fester over long periods. Unfortunately, many organizations don't treat testers at the same level as the engineering team in appreciation for their work and compensation levels. One of the replies to my tweet brought up the point that testers are severely underpaid for their role. I fully agree with that sentiment and can understand why someone might want to find ways to lash out through memes or even direct sabotage of someone else's work.
While being pressured, scolded, or underappreciated doesn't excuse someone's poor behavior, the point is that there may be reasons behind their thoughts and actions. If one of your work colleagues seems to take great pleasure in your suffering, try to ask yourself if you know why they're acting that way. If it's a persistent problem, ask your team lead or theirs to see if you can dig up information that would lead to this behavior. Even if it doesn't resolve the issue immediately, putting yourself in someone else's shoes can help you find ways to help them out, making your work life less stressful.
Don't let bad behavior slide
No matter where you work, you'll inevitably run into less-than-ideal teams and coworkers who seem to exist only to make your life difficult. Even if you tried your hardest to communicate across the organization and show empathy, chances are you'll always have someone who—quite frankly—comes off as a bit of a jerk to you. Usually, it's not intentional, but something that starts small and eventually builds up to become a part of someone's mindset.
Throughout my career, I've worked with my fair share of people who embody those memes shared above. I've seen developers openly berate testers who did their job correctly. I've seen testers laugh when told their bug reports will cause schedule slippage and get the development team in trouble. I've learned that when this type of behavior is unchecked, it will snowball and grow as new team members pick up on these habits. These aren't evil coworkers—they're just products of their environment.
The worst thing one can do in these situations is to encourage this behavior when you see it from others, especially within your own team. If you're a developer and hear someone on your team bad-mouthing QA, try discussing the issue with them and see how to prevent it from happening again. Same if you're a tester and notice someone else in QA poking fun at development in a mean-spirited way. You don't want to build or work somewhere with a culture of making other teams miserable. Nip this kind of offensive behavior in the bud, and don't let it slide. Point out how others are trying to do their best and that feeling good about someone else's misfortune never leads to anything productive.
Admittedly, trying to minimize or eliminate these negative behaviors in the workplace is easier said than done. As pointed out in this article, most people don't see anything wrong when they see a funny meme that belittles someone outside their core group. Sometimes these thoughts are so ingrained in the team's DNA that it's nearly impossible to encourage change within the environment. In these scenarios, the best you can do is not to join in and do the best you can to promote a harmonious work environment for both developers and testers.
In most organizations, people there strive to do the best job possible. Of course, we all work because we have bills to pay and families to take care of in our personal lives, and we want to live comfortable lives. But most of us feel a sense of pride in putting out excellent work every single day. We're all working toward a common goal in every company and team. Letting a "Developer vs. Tester" mindset spread throughout your team is a surefire way to disrupt our ability to do our best collectively. Whenever you put groups of people together, some friction will always occur in some way. That doesn't mean we can't do anything about it.
We can do our part in preventing silos from making each other's work more difficult. We can emphasize with other developers and testers to see if they're experiencing difficulties that we can help smooth out on our side. Finally, we should do our best to shut down negative behaviors between development and QA, so the mindset doesn't spread and become a de-facto part of the organization's culture. It's a challenging task since every team and person is unique. Many won't see what the big deal is with these memes or mindsets. Some teams or individuals will be irredeemable, and there's nothing you'll be able to do to fix it. However, it's a worthwhile effort to have a smooth and peaceful working experience.
If your organization needs assistance with clashes between developers and testers, I can help. As both a software engineer and tester, I've seen how the "Developer vs. Tester" mindset can disrupt a project and even throw an entire product off the rails. I can help identify areas where teams can improve their communication and collaboration by working together to produce high-quality work. Let's chat—I'd love to take part in helping your team of developers and testers bring out the best in each other.