Senior Software Engineer In Test (Developer Experience)
Department: Software Engineering
Employment Type: Permanent - Full Time
Location: Remote, UK
Description
Within Hazelcast's Developer Experience team you’ll have the opportunity to provide a seamless developer experience for our vast open-source and enterprise community.
Developer Experience focus on building fully featured IDE plugins, tooling, smart clients and server side APIs for concurrent data stream ingesting, querying and processing at scale, enabling Real-Time business event processing to meet the most demanding customer needs.
We are looking for a passionate Senior Software Engineer in Test responsible for ensuring the quality and reliability of our software through focus on both software development and testing.
Day to day you shall leverage your solid software engineering and testing fundamentals whilst working alongside experienced software development engineers to solve difficult problems and help realise our product’s quality vision.
WHAT YOU'LL DO
- Work closely with software developers to understand the system architecture, design, and implementation to create effective test strategies.
- Pay attention to code quality and software craftsmanship
- Participate in code reviews, ensuring that code is designed with test automation in mind.
- Participating proactively in daily standup meetings, story grooming sessions, team retrospectives, regularly reporting progress as well as suggesting and implementing improvements.
- Develop detailed test plans, test cases, and test scripts based on functional and non-functional technical specifications.
- Develop, maintain, and enhance automated testing frameworks for functional and non-functional testing.
- Design and execute performance, load, and stress tests to ensure the application can scale and perform under heavy traffic or resource constraints.
- Integrate automated tests into the CI/CD pipeline to ensure frequent, automated validation of code changes.
- Monitor the health of test suites and ensure that automated tests run successfully whilst ensuring test environment and test cases are optimized to improve system performance.
- Investigate test failures and work closely with developers to diagnose and resolve defects and issues.
PERSONAL QUALITIES
- A passion for quality as well as for both detecting and preventing defects.
- Excellent analytical and troubleshooting skills with attention to detail.
- A software polyglot, adaptable across different projects, teams or environments without being constrained by a single tech stack or language.
- Hands-on experience in backend API testing and test automation.
- Efficient at debugging code and resolving issues quickly.
- Ability to work effectively in a remote team environment, a team player who fosters collaboration.
- Able to make critical decisions, able to balance quality and time ensuring products and features are released in a timely manner without compromising on critical testing.
- Inquisitive, using critical thinking to ask lots of questions, overcome biases, break assumptions and consider different perspectives.
- Able to plan and organise your own work.
- Deep understanding of testing methodologies such as unit testing, integration testing, regression testing, and performance testing.
WHAT YOU HAVE
- Min. 5 years experience of software development experience
- Min. 5 years formal testing and verification experience
- Proficient across languages (Java, C++, C#, Node.js, Python, .NET, Go)
- Strong proficiency in RESTful API principles and best practices
- Experience with automation frameworks and tools (JUnit, TestNG, Jepsen, PyTest)
- Experience with development frameworks (Spring, Springboot, VertX, Quartkus)
- Experience in non-functional / quality attribute verification:
- Performance benchmarking (latency and throughput)
- Resilience testing (chaos and fuzzing)
- Scalability testing
DESIRABLE:
- Experience with CI/CD (Jenkins, Github Actions)
- Experience with Linux and Bash
- Experience with Docker, Maven, JFrog
- Experience with Cloud Platforms such as AWS
- Experience with Containers and Orchestration (Docker, Kubernetes, Terraform)
- Experience with Change Data Capture Connectors (CDC) (Kafka Connect, Debezium, MySQL, PostgreSQL)
- Experience with Distributed Data Stores (MongoDB, ElasticSearch, Hadoop)
- Experience with Messaging Systems (Apache Kafka, RabbitMQ, Pulsar)
- Experience with Vulnerability & Compliance Tools (Sonarcloud, OWASP, Aquasec, Blackduck)
- Experience of data storage testing including designing and manipulating test data
- Experience across Enterprise and Opensource solutions
- Bachelor's degree in a relevant field of study (Computer Science, or related discipline) or equivalent experience.