It’s not difficult to find good Developers and good Testers, but it’s not easy to find good ‘Developers in Test’ !
To set the scene, the current job market in the UK (and across the globe) reflects the new Agile ways of working which most organisations have embraced. This has resulted in a huge demand for test automation skills to complement the DevOps style of working resulting in manual testing and traditional test management roles dwindling by the day.
Most testers without these skills to rush to platforms like Udemy upskill themselves and make themselves more marketable. However good the trainers and courses on these platforms are, they are not for everyone. A large section of people can feel overwhelmed with the amount of content floating around, they lack the context around these technologies and how to apply them. This leaves them in a vulnerable state where they try and digest some basics and aim for full-time professional roles.
Recruitment agencies are flooded with CVs from people who claim to possess all these skills when in reality they have not actually worked at a professional level. This has ‘muddied the waters’ making it tough for organisations to distinguish genuine candidates from the lot.
Recruitment teams and interviewers are improvising their strategies to identify the right candidates. This means more stringent screening processes, online tests and interviews.
When you appear for an interview, apart from researching the company and the interviewer, here are some key areas you can focus on to increase your chances of success.
Programming language basics
A Developer in Test requires more than average programming skills. If the role requires you to code in a particular programming language, you must ensure you have good knowledge of the concepts. I’ve seen a number of candidates who claim to have years of Java experience but can’t explain what a ‘static’ variable is or flounder at the thought of Selenium WebDriver being an ‘interface’. A good knowledge of Object-Oriented Programming concepts is vital. Not getting the programming basics right will set the wrong tone and may end-up with the interviewer losing trust.
Test Automation Frameworks
A number of candidates claim to have built frameworks from the ‘scratch’ but don’t seem to understand what a framework is. A very simplistic view of a framework is putting together a bunch of open-source libraries and creating reusable utility classes. However, a framework is more than bundling reusable code into a single entity. A good test automation framework should encapsulate complexity, be extensible, keep tests maintainable whilst reducing code duplication. Be prepared to explain best practices around using the framework as a Maven dependency and managing changes to the framework, using Git branching.
Your latest project, challenges & lessons learnt
A number of interviewers use this technique where they explore your experience on your previous projects to see what reusable skills you can bring in. Be prepared to explain to the finest level of detail the technology stack for the solution, the various interfaces (web front-end, micro-services, file transfers, messages queues etc) you have tested and automated tests. Script your ‘stories’ around challenges and lessons learnt ahead and be prepared to use them when the situation arises.
Open-source libraries and frameworks
Awareness and real-time experience of using opensource libraries relevant to the technology stack. For example, if you are working on webservices, you could talk about opensource libraries you have used to parse the JSON payload, Apache POI for Office documents (Excel in particular), Apache commons for String/File utilities and so on. You need to demonstrate the ability to understand API documentation and use them.
Knowledge of Continuous Integration (CI/CD)
Automating a test is just not good enough if it can only run from your IDE or desktop. Automated tests are run as part of a Continuous Integration setup using tools like Jenkins based on code changes, changes to dependencies and other pre-defined criteria. You need to clearly articulate the build mechanism for your tests (Maven, Gradle etc), integration with Source Code Management tools (like Git, SVN), static code analysis and plug-ins for reporting.
One of the key aspects of test automation is good reporting. After a test run completes, to go back in time to assess and evidence test results is by having a good reporting mechanism built into your automated testing. Be prepared to explain what reporting framework you have used (examples being Extent Reports, Serenity and Allure) and how they integrated with the framework.
Bring in the Agile Flavour
Most of the organisations have transitioned to Agile ways of working. Understanding the process and using the same in your conversation will demonstrate experience working in cross-functional teams in an agile environment. One of the key aspects is how testing fits into the delivery model. Be prepared to answer process related questions like
What was the test approach? (BDD, TDD etc)
Is automated testing carried out in-sprint?
How did you estimate test automation tasks?
How were the testing tasks structured in Jira?
Were the acceptance criteria written in Gherkin?
Checkout our ‘Developer In Test’ course which will get you trained in all the above aspects. This is a course specially designed for testers who are trying to upskill and learn test automation.
The next batch starts weekend 6th Mar 2021 and you can ‘Join For FREE’.