8+ years background in performance testing or engineering, or related experience.
· Strong programming experience in at least one scripting language (Python, Javascript, Groovy, Lua, bash, PowerShell, etc.)
· Knowledge of Continuous Integration philosophy, tools, and techniques.
· Strong experience in at least one of these performance testing frameworks: Gatling, J-Meter, or K6 [DB1] [WH2] [DB3] [WH4] [DB5]
· Experience with Docker and container management
· Hands-on experience with SQL with ability to apply experience to PostgreSQL or other SQL-based databases
· Ability to communicate and work effectively within priorities
· Ability to advocate ideas and to objectively participate in design critiques
· Ability to work under tight timelines in a fast-paced environment
· Good understanding of software design concepts
· Understanding of agile software development methodologies
· Understanding of general software architecture principles, particularly in relation to system performance
· Ability to solve complex problems
· Excellent analytical, troubleshooting and communication skills
· Experience with log aggregation and data analysis (e.g. Grafana, Cloudwatch, Datadog etc
· Experience with Application Performance Management (APM), Network Performance Management (NPM), and Real User Monitoring (RUM) tools and data .
· Ability to understand and communicate risk as it applies to system reliability and performance
· Strong understanding of performance testing techniques and practices, scenario development
· In-depth experience with both Cloud Platform-as-a-Service (e.g. AWS, GCP, Azure) and Container Orchestration (e.g. Apache Aurora, Kubernetes)
· Strong understanding of concepts related to evaluating web application performance (response time percentiles, queue depths, etc.)
Preferred Skills & Abilities
- Experience with build tools (e.g. Maven, Nexus, Ant, Puppet, Foreman, Hiera, Jenkins). [DB11]
- Linux systems knowledge and administration background are required, including command line. Windows and mobile devices experience are also helpful.
- Hands-on experience with system integration technologies such as Web Services, Enterprise Service Bus, Message Queue, etc.
- Understanding of and ability to work within Java and other languages
- Demonstrated ability to follow through with all tasks, promises and commitments
- Good understanding of AWS Lambda, DynamoDB, Kinesis, API Gateway.
We could probably say something like 'Strong experience in at least one performance testing framework, e.g. Gatling, JMeter or K6). I personally have a very strong preference for 'code based' frameworks like Gatling/K6. We migrated from JMeter a number of years ago because it didn't scale to our requirements, however I know it's a popular tool .
Yeah, our perf environment still runs JMeter and it would be way too expensive to get away from it now, since we will eventually be fully in AWS. Yeah, we're still using JMeter as well, but we'd like to consider K6 for cheaper scalability as it seems to be able to generate big loads with FAR less resources than other tools.
But in general for hiring, skills in any of these tools would be very helpful - we don't have to pick the winner in the job description.
I think this statement needs to be broadened? We have a diverse set of architectures. I think candidates need a strong technical grounding overall
Agreed. Multi-tier is what's important, not that it is Java (or C# or whatever).For me this is actually essential.
Do we want to create a "must have" section and a "nice to have" section? As it is, this person is going to be impossible to find.
Yep, I think so. Also they don't need to be great at everything so we should maybe change the wording a little bit for those skills .
Maybe this one needs to be generalised too?
Should be generalised to broad cloud platform knowledge?
...