At Nuxeo, we value very much the quality of the engineering process and of the produced code because:
we are open source
our revenue comes from support and maintenance efficiency
we are practicing TDD and CI for more than 10 years
Our current QA arsenal includes:
A JUnit based testing framework that provides platform integration testing coverage at unit level (no mock needed)
A functional testing framework leveraging WebDriver
Performance testing using Gatling and FunkLoad
Environment and matrix testing mainly using Docker and VirtualBox
Continuous Integration, Continuous Deployment and Continuous Delivery mainly using Jenkins
Quality Assurance with Jenkins, SonarQube, VersionEye, Coverity...
Some figures about the QA challenge at Nuxeo:
1K+ commits per month over more than 500 source code repositories with 15+ language and build tools (1M+ LoC)
500+ Jenkins jobs used per day to perform 4500+ builds running 200K+ tests per day with an average success of 97%
3 to 5 mainstream branches to maintain, tens of feature branches to test
a CI cluster with 1 opscenter, 2 master and about 50 slaves
We are looking for a software engineer who is passionated by quality coding in order to join the QA team and help us continue producing quality opensource software.
Joining the QA team you will work with experienced engineers on helping maintaining and improving the overall quality of the code produced by a team of nearly 30 developers.
Maintain and improve the testing framework
Make the testing framework easier to use
Design strategies or tools to address race conditions (such as https://doc.nuxeo.com/corg/random-tests/)
Improve and tailor the CI chain to fit developers requirements
Speed up Test&Push pipelines, continuous build status
Ensure scalability of the automated process
Ensure developers can easily leverage the CI
Define code quality metrics and provide reporting
Test Coverage (i.e.
Static analysis (i.e.
Dependencies management (i.e.
You know test frameworks like JUnit, WebDriver, Cucumber...
Maven, Gulp, Bower...
are all close friends of yours.
You already operated with FindBugs, Jenkins, SonarQube and/or other continuous integration and quality softwares.
You enjoy building tools for exigent developers.
You like investigating issues and finding elegant solutions.
You willing to learn, upgrade technical skills but also co-operate with the rest of the team and help them improving the quality of their code.
Ability to work with minimal supervision, making decisions based upon priorities, schedules and an understanding of business initiatives.
Critical attention to detail, thoroughness and documentation.
Your application gets bonus points when:
-You have an active public GitHub profile (or similar)
-You can finish this sentence: "if it's not tested, then it's..."
-When you talk about testing, people tend to stare at you as
-The last guy who told you "Sorry Dude, I did not have the time to write a test" is dead