Their insights challenge the stereotype of conflict between the roles
In this edition of The Katalians series, we spotlight the dynamic duo of Tester and Programmer, exploring the collaborative dynamic between Kara Nguyen, Lead Quality Engineer, and Son Dao, Lead Software Engineer at Katalon. As we recently celebrated International Tester Day and Programmer Day, their insights challenge the stereotype of conflict between these roles, highlighting how their synergy transforms the development process. Together, they exemplify how effective collaboration drives innovation and ensures the delivery of exceptional software.
Q. Can you describe your role at Katalon?
Kara: I have spent three years at Katalon, currently serving as the Lead Quality Engineer. In this role, I focus on ensuring the quality and reliability of our software products. In my day-to-day work, collaboration with Software Engineers is crucial. An interesting aspect of working at Katalon is that our products are in the testing field. This allows me to wear two distinct hats: as a member of a Scrum team and as an end-user of our product.
Son: I have been a Lead Software Engineer at Katalon for almost a year. Daily, I collaborate with the team to host scrum ceremonies and deliver features for TestOps. I haven't been able to wear two hats like the tester friends like Kara mentioned 😅, but I focus on how to bring the best features and experiences to our users.
Q. How do you collaborate with each other’s role in your day-to-day work?
Kara: We work together to develop high-quality software products. Although our two roles are perceived as distinct, we are one team with a shared objective. The software development process encompasses design, planning, defining requirements, implementation, testing, and finally, release. Throughout this entire software development process, both the Software Engineer and Quality Engineer must work in close and efficient cooperation. For instance, during the requirement phase, the Software Engineer's expertise in technical complexity can help the Quality Engineer set up effective testing scenarios. Conversely, the Quality Engineer's perspective from the end-user point of view can inform the Software Engineer about their experience. Additionally, during testing, the identification of issues and bugs necessitates more effective collaboration to address and resolve them.
Son: We indeed have to work closely together in all three phases: before, during, and after development. One aspect I particularly appreciate is that towards the same feature, the perspectives of the Software Engineer and the Quality Engineer are vastly different. Software Engineers focus on the implementation, while Quality Engineers concentrate on the verification. This diversity of perspectives can lead to better understanding and estimation. Throughout the process of communication, pair programming, or troubleshooting issues, more than collaboration, I also learned a lot, especially the tools used by Quality Engineers to improve work efficiency.
Q. How do you respond to the stereotype that Testers and Programmers are often at odds?
Kara: At Katalon, this stereotype doesn't apply. As a product company, delivering high-quality software is our top priority. When we all work toward this common goal, it fosters teamwork and positions us side by side on the same “frontline.” By emphasizing collaboration, shared objectives, and open communication, we can break down barriers that lead to misunderstandings and work more effectively together.
Son: Though outsiders might see a clear division between us, engaging in conflict isn't something that we do. Ultimately, we're one team working towards a single goal: delivering a high quality product. Resolving issues often involves sitting down, debugging then discussing until both parties are satisfied. Should these efforts fail, we then bring in a third party, such as a member of the Product team 😂, to facilitate the resolution.
People often joke about how we "combat" but in reality, at Katalon there is absolutely no at-odds thing.
Q. What do you think are the most critical areas for collaboration?

Kara: I think the important keys to cooperation lie in communication, openness, and respect.
Since everyone has their own set of skills, you can understand and sympathize with their points of view and what they're dealing with. This not only helps both sides benefit but also makes it easier to reach our shared goal.
Son: In addition to the three elements Kara mentioned, I want to emphasize the importance of transparency.
For instance, Software Engineers working in silos might opt for a temporary fix to address a bug, which could mask the immediate issue but lead to unforeseen impacts.
Therefore, fostering transparency ensures that everyone is kept informed about progress, potential issues, and the need for incremental adjustments, ultimately leading to a more stable product.
Q. How does sharing responsibility for quality between Programmers and Testers benefit the final product?
Son: This question has prompted me to consider how different each group takes ownership of the product. We, as Programmers, focus on producing functional code, making everything work smoothly. On the other hand, Testers dive deep into understanding the product's edge cases, ensuring robustness. If one party shoulders more responsibility, it can skew the development process and adversely affect the final product.
Kara: Responsibilities here are all about making sure things get delivered on time and are top-notch. Right from the get-go, both the Software Engineer and the Quality Engineer got in on the action. Quality Engineers play the role of end-users and feel that user experience should be a priority and warrant thorough testing. Meanwhile, Software Engineers not only make sure every feature works well but also care about product quality by doing unit tests. When both teams collaborate, potential issues can be identified early in the development process, reducing the cost and effort required to fix bugs later. Overall, this collaborative approach not only strengthens the quality of the final product but also fosters a sense of ownership across the entire team.
Q. What do you value most in your collaboration with each other's role?
Son: What I admire most about Quality Engineers is their exceptional attention to detail, which is often rooted in human nature. I have seen quality engineers spending hours meticulously examining each color, border, padding, and margin. They always put themselves in the user's shoes to come up with highly complex yet realistic test cases, a process that demands a great deal of creativity.
Kara: What I appreciate most about working with Software Engineers is their expertise and problem-solving skills. Their deep understanding of the technical aspects of the software enhances my work. They provide valuable insights into the architecture and design of the application. This knowledge helps me understand how features are implemented, allowing me to create more effective and targeted test cases. When I know the underlying logic, I can better anticipate potential issues and edge cases.
Related Articles