Senior Software Engineer in Test

Skills
JavaSoftware DevelopmentDebuggingEnd-To-End TestingHazelcastIntegration TestingJava Development
Role

What the job involves

The main requirements, responsibilities and hiring steps.

Requirements

  • Minimum 5 years experience in Java development
  • Minimum 5 years formal testing and verification experience
  • Experience with automation frameworks and tools
  • Experience in non-functional and quality attribute verification including performance benchmarking, resilience testing, and scalability testing
  • Bachelor's degree in a relevant field or equivalent experience
  • Experience in CI/CD (Jenkins, Github Actions)
  • Experience with Python, Linux, and Bash
  • Experience with Docker, Maven, JFrog
  • Experience with Cloud platforms such as AWS
  • Experience with Containers and orchestration tools (Docker, Kubernetes, Terraform)
  • Experience with Distributed Data Stores (MongoDB, ElasticSearch, Hadoop)
  • Experience with Messaging Systems (Apache Kafka, RabbitMQ, Pulsar)
  • Experience with Vulnerability and Compliance Tools (Sonarcloud, OWASP, Aquasec, Blackduck)
  • Experience in data storage testing.

Nice to have

  • Excellent analytical and troubleshooting skills
  • Deep understanding of various testing methodologies
  • Proficient in Java and JavaScript for automated tests
  • Ability to work in a remote team environment
  • Strong decision-making and organizational skills
  • Inquisitive, critical thinker
  • Leadership by example.

Day to day

  • Work on exciting projects pushing the boundaries of distributed computing by building concurrent, high performance, and large scale Java products.
  • Collaborate closely with software developers to understand system architecture, design, and implementation, providing feedback on testability.
  • Develop and execute detailed test plans, cases, and scripts, performing both manual and automated testing, and integrating tests into the CI/CD pipeline.
  • Monitor the health of test suites, diagnose test failures, and resolve defects using debugging tools.
  • Drive best practices in testing and quality assurance, provide mentorship to junior engineers, and ensure quality early in the SDLC stages.
  • Conduct performance, load, and stress tests, optimize test cases and environments, and maintain comprehensive test coverage in complex workflows.
  • Participate actively in team meetings and serve as a customer advocate by capturing errors and inconsistencies in documentation and product use.