The role of an SDET can have various competing responsibilities, automation only being a single aspect of the role, When transitioning up the ladder to more a senior role, in my experience there are a few things that you must be able to demonstrate with confidence, the following article will go over what you can expect to be tested on when interviewing for a role as an experienced SDET.
Prove your ability to find bugs
Having conducted many interviews over the years, its surprising how often seemingly experienced testers really struggled with this question. It’s not that they haven’t uncovered good bugs, it’s just that they haven’t spent time preparing good answers. Spend time preparing a set of your most interesting finds over your career, your ability to communicate these clearly will only be enhanced with the right amount of preparation. Be sure to include the process involved in identifying the issue and also what was done to reduce the likelihood of it happening again.
You may also be asked about a bug that you missed, I don’t see this as a negative question. You learn alot more from the bugs you miss than the ones you uncover. Own those examples and use this as an opportunity to talk about what you gained from the experience
Demonstrate your ability to communicate clearly
Having bulletproof examples of how you ‘communicate clearly’ in your current job is absolutely useless if you can’t clearly get that message across in an interview. it’s no secret that a good tester needs to be able to communicate well, the interview is your opportunity to demonstrate that through every answer you provide, it’s not often you can actually demo a required skill during an interview, well this one you can, and as it’s highly desirable in the role of an SDET, it’s a perfect way to leave a lasting impression.
As well as having good examples around communication, it’s key that you prepare and practice your answers. it’s difficult to know exactly know what questions will come your way, but I find preparing a broad set of answers based on your own experience and skillset is essential, often I will look for ways to shoehorn a pre-prepared answer into a question that may be only loosely related, it’s an opportunity for you to expose your strengths.
Prove your ability to make good decisions on what to test and where to automate
As a more junior tester, I would often try to prove my worth by automating as much as I possibly could, across as many test levels as possible. The value or RIO of any automated tests would likely be a secondary thought. This would then produce a bloated pipeline, with a high percentage of flaky and arguably unnecessary tests.
An experienced tester will be confident in producing a smaller set of targeted tests across the right levels from component to integration to end-to-end.
Prove your understanding of system design and architecture
Don’t be surprised if you’re asked to assemble a diagram describing a previous system you worked on. If you prepare well, this is an excellent opportunity to emphasise your experience with designing and implementing tests across a whole system.
Here you would be looking to demonstrate your ability to implement tests across different layers and services, from API and database testing to potential UI automation. Understanding how potential 3rd party SAAS applications can also be integrated within a system will also demonstrate your wider ability.
The best way to prepare is to draw out the architecture, highlighting the layers of testing. in a physical interview, this can be done using a pen and paper, virtually I’ve been asked to do it using a word processor, if you have a better idea, be sure to put it forward.
Demonstrate a good understanding of testing challenges
Any hire will need to demonstrate how they dealt with being challenged, this is true for any role. Testing is an area that has seen a huge amount of growth and change over the last decade or so, from predominately manual-based testing to fully automated release cycles. Some companies are still going through that change and you will likely be asked to demonstrate how you were able to overcome and utilize that volatility to improve things. Examples demonstrating gradual change with colleague buy-in are the strongest, as they show a good level of leadership and influence
Follows good coding principals
you will likely be asked to demonstrate your coding abilities through some sort of test automation code challenge. This can be during the interview, or the (much preferred) take home test, either way given the right preparation this is a great opportunity to differentiate yourself from the average developer. Being highly considerate of the readability of your code needs to be front and centre whilst also highlighting the reason for every choice.
Its always a good idea to build a set of examples on your own personal repo which can be used given the opportunity to showcases some of your skills
Can demonstrate experience with process improvement
Solving a challenge headfirst is great and can often improve things immediately in the short term. But real influence and leadership come from developing processes that help to seamlessly incorporate better practices and new ideas. The role of testing in software generally has a huge scope for process improvement, from things like the definition of done to the SDET hiring process. You need to ensure this is something you incorporate in your current role in preparation for your next role, its a win-win, your current employer benefits from the process improvement and you get to talk about it in your next interview
Passion
Im not indicating that you cannot get a role as senior SDET without passion, but what I would say is that you are much more likely to be considered for roles if you show some sort of enthusiasm. I feel it’s important to find a general sense of passion for what you do, it helps if you think about the people who may be benefitting from the work you have done in the past for instance. I also feel this can vary depending on the role, company, or sector. If the role involves more mentoring and you feel it’s something you’re passional about… Highlight it! if the company is one that you may have been following for a while and you feel passionate about what they do… lean on that. It can be almost anything related to the role. You may not get asked this question directly, so it’s something you will likely have to incorporate into a related question.
Can be an advocate for quality on your team
Finally, you will want a candidate who can speak up when the situation calls for it. A tester who can find bugs, but who can’t advocate for those bugs to be fixed, will not be much help to your team. In today’s Agile software teams, the tester acts as more of a quality coach, helping all the team members to think like testers, do exploratory testing, and contribute to the automation code.
A poor software tester can be a drag on the entire team, but a good software tester can spur the team on to new heights of quality and productivity! With these skills in mind, you will be able to hire testers you will be grateful to work with.
Page Contents
- 1 Prove your ability to find bugs
- 2 Demonstrate your ability to communicate clearly
- 3 Prove your ability to make good decisions on what to test and where to automate
- 4 Prove your understanding of system design and architecture
- 5 Demonstrate a good understanding of testing challenges
- 6 Follows good coding principals
- 7 Can demonstrate experience with process improvement
- 8 Passion
- 9 Can be an advocate for quality on your team