Software Development Engineer in
Software Development Engineer in
by Amanda McEwen
What insights can you gain during an interview to learn a company’s view on testing and quality? In this article I will share some insights from my experience and also some thoughts on how to assess the state and considerations of quality for a given role.
I was lucky at my last company to join a team that valued working software in production and short testing cycles. When planning a new feature, we would often discuss trade-offs between feature scope and time to market. Increasing the scope would inevitably increase the time to market. Sometimes, we had to ask the product team to temporarily slow down to enable a technical enhancement that would allow for more flexibility going forward. Although pace was often the metric asked about, we also had healthy debates about security, while also considering flexibility and scalability. Let me elaborate on some questions to consider for each of those topics:
Depending on the product, there may be very stringent processes in place to protect any data that comes your way. Things like the Payment Card Industry Data Security Standard (PCI DSS), or the EU’s General Data Protection Regulation may be ingrained in the organization’s processes and therefore the considerations will always be at the top of the quality list. If the company has a web presence and collects any personally identifiable data, they should have a stance on security.
- How easy is it for a developer to modify the system within a reasonable amount of time?
- How long does it take to promote those changes to a testable environment and from that environment to production?
Depending on the number of users hammering away on a system, the organization will start to consider things like caching, mutability and breaking down a monolithic application into deployable parts.
- How does the company replicate the user load during testing?
- How do they recreate the production scale in a test environment?
Here are some more interview questions you can ask to understand the values of the software team:
- Do you have a CI/CD pipeline? How is it engineered?
- How much testing is completed manually vs. automated? How are automated tests added to regression?
- How do you manage test cases? Balance of risk/reward.
- What compromises do you choose to make? Why?
- How do you see developers writing the tests? Is it required? How is this requirement established?
- How close to production is the environment where testing is performed?
Answers you might receive for that last question:
- So close that it IS production: Are they nimble enough with rollbacks that functional testing is complete IN production with a blue green deployment model?
- A nearly identical replica: Are the production services in the cloud utilizing Lambdas, SQS queues and heavily used databases? Retreating each of these components in a test environment makes testing more true to production.
- A local copy: What integration points and services are left out when testing locally? There should be a good grasp of the tradeoff being made when a local copy is the only thing tested before production deployment. Each difference is an opportunity for a critical bug to affect your users in production.
- Somewhere in between!
None of these options should make you run from a company necessarily. Heck, they may be looking for a Quality expert to set them straight!
What’s important to consider is:
- How aware is leadership of the decisions that have been made that may sacrifice testability for scalability and security?
- If leadership is unaware of the potential consequences of their past decisions, how willing and eager are they to adapt and listen to a subject matter expert’s suggestions?
- Does this interest carry down to the software development teams?
- Will your team members be “throwing code over the fence” and then be disappointed when a bug is found that prevents a production deployment or will they be “rolling up their sleeves” to prevent the bug from happening in the first place and investing in technology that improves your collective quality assurance?
© Myth Talent, 2022