Senior Software Development Engineer in Test eHarmony
We are looking for engineers who are passionate about software and testing. The ideal candidate will be someone who is detail oriented and has the capacity to quickly grasp the inner workings of the software that they are testing. These engineers will spend the majority of their time writing code in Java and Groovy. We are looking for engineers who have the curiosity to know how code works at its core.
Testing culture at eHarmony:
- Here at eHarmony, testers are developers who are perfectionists and have an ingrained drive to ensure that every piece of code meets the highest standards of quality.
- We have adopted Scrum as our agile development methodology. Software engineers in Test are expected to be active participants of the sprint planning process.
- By practicing Test Driven Development we ensure that testing is part of the development cycle. Not an after-thought. Testers are responsible for acceptance tests while developers focus on unit tests.
- We have a Continuous Integration environment that kicks off a suite of integration tests every time we do a build.
- Developers and testers are expected to work together and even pair program. Testers are expected to work with developers to write performance tests to ensure that the software that is shipped is not just defect free but also performs under load.
- We are investing heavily in the concept of Continuous Delivery. We are so passionate about this that we have taken the lead in hosting regular meet-ups that discuss this topic. We value engineers who are passionate about testing because integration/acceptance testing is an integral part of the Continuous Delivery process.
- Lastly, we strongly believe that good testing practices will ensure that we agile, not just in terms of processes but also in terms of delivering features.
- Participate in the Scrum planning sessions. Analyze the requirements and help with defining the acceptance criteria for the features that are being developed.
- Work closely with the Product team to understand their expectations of how a feature would function.
- Work in tandem with the developers to write integration tests in the Spock and Geb testing framework.
- Organize feature demos for the Product and Engineering leadership team.
- Work with the release engineers to automate the execution of the acceptance tests in Jenkins (our continuous integration server).
- Maintain and deploy builds to the QA environment.
- Work with the Operations team to debug acceptance testing failures that are related to the testing environment.
- Actively participate in code reviews conducted by the developers.
- Actively monitor post-release metrics to identify any defects that may have slipped through the cracks.
- Be the first point of contact for any defects found in Production. If a defect is found in Production, developers and testers are expected to write tests that expose the defect before any fix is attempted.
- Evaluate existing testing methodologies and suggest new techniques that will help us deliver high-quality features faster.
- BS/BA in Computer Science, Applied Math or Business Administration or equivalent experience.
- Programming experience in one or more of these languages: Java, Groovy, Ruby and Scala.
- Experience with Spock, Geb or any other testing framework is preferred.
- Must have experience either testing or developing features that are backed by a relational database like Oracle.
- Knowledge of key/value stores like Project Voldemort is preferred but not required.
- Must have deep knowledge of the quirks of major browsers.
- Must be comfortable working with Windows or Linux operating systems.
- Experience along with a strong passion for agile development methodologies is preferred.