In this short blog I explore some of the skills required to be a great performance tester, and some considerations when looking for a job.
This is the second part in my two part series covering the content of my talk on “Unmasking Performance Testing” at WeTest Auckland. You can find the first part here.
I fell into this career mostly by luck. I studied computer science at the University of Canterbury in Christchurch but had an epiphany in my final year and after finishing my degree I applied for and got into the acting course at Toi Whakaari: New Zealand Drama School in Wellington. I studied acting for three years to become an actor for theatre and film and had a blast, but after graduating decided I wanted a career in IT.
I applied for software development jobs, had little luck. Part of it was that I left out any trace of acting from my CV. Potential employers probably assumed I’d been to prison with that three year gap. After putting acting back into my CV I got an interview for the role of “Junior Performance Test Engineer” which involved going through my interviewers personal DVD movie collecting and critiquing it (he’d obviously read my CV). After insulting his choice in films, I somehow managed to land the job.
Becoming a performance tester comes down to the skills you require to start the job, and then finding an organisation capable of growing you into a competent performance testing consultant.
The skills required
I think that great performance specialists have a unique mix of technical and soft skills. It’s about having the technical grunt to understand complex software systems, and then relate that back to what it means to the business.
- Programming is not necessarily something we do every day every day, but if you find programming technically daunting you will find other parts of the job much more difficult.
- Picking up new tools and technologies quickly is especially important if you work as an external consultant. You will find yourself going to new customers with completely new technology stacks often.
- Mathematics isn’t my strong suit but it’s important. It helps is interpret the data we capture during testing and monitoring and make sense of it.
- Data analysis and visualisation is something you will generally learn on the job, unless you’ve been working in the BI space.
- Communication is key – and I’m not talking about being able to talk. I’m talking about taking a technically complex idea and communicating it to a non-technical business stakeholder in a way that they understand and so they understand why it matters to the business. There’s a more to it than that too; our major deliverables are written so the way we present ideas on paper is just as important. And performance testing can often get… political. Diplomacy is a must if you want to keep everyone on side.
- Independent problem solving means do ask for help, but put in the time first to understand the problem better, and to suggest some possible solutions. That puts you in a position of strength and reduces the time required to help you.
- Time and stress management are crucial. Historically, performance testing happens at the end of a project (I know this is changing, but it’s still very common). This means the project team are generally pushed for time, there’s pressure, and then you come along and deliver results which delay the project for months. That’s a stressful situation to be in. Even worse, you discover evidence that shows another vendor’s software is the bottleneck in the solution – that’s an awkward situation to deal with, but it’s just part of the job.
Finding a performance testing role
So you have the skills necessary to get involved, what now? How do you ‘become’ a performance tester?
My biggest recommendation would be to find a mentor. It will be a hard road teaching yourself performance testing from what’s available on the internet – there’s great information out there, but it’s hard to sift out the gold from the sand. Learning on the job with someone there to fall back on is also the best way to gain confidence.
Finding the right organisation is also important. If you work for or are looking at external consultancies, find out about the calibre of their performance consultants and their reputation in the market. If you’re looking at internal performance teams target ‘performance aware’ organisations who understand the value of performance testing. And you’ll want to focus on permanent roles – as a contractor you won’t have sufficient time to expand your skills.
If you struggle to find a performance testing role you may want to consider test automation. Some of the skills are transferable and you’ll put yourself in a better position to move into performance in the future.
Performance testing is still a niche career choice and it can be hard to find the right organisation and the right people to get your career heading in the best direction. However, if you are the kind of person who loves to be technically challenged then it’s worth the effort. Performance is a field without a ceiling – you can never master it. There is always more to learn and room to grow.
How did you get started in a career in performance testing?