Looking for a change? Go for impact.

Tech Nonprofit Jobs & Internship Positions

‹ View more opportunities

Software Engineer in Test

Rolling Deadline  |  Full-Time Job  |  San Francisco, CA US


Job Details
Software Engineer in Test

The Software Engineer in Test leads the engineering team’s efforts to design and create well-tested software products, coordinates testing activities among engineers, and applies the discipline of software engineering to the problem of automated testing.

In addition to developing testing and automation software, the Software Engineer in Test works with the team to manage test data, formulate testing scenarios, review product code, automate processes, and drive best practices for continuous integration and delivery.

Engineering @PLOS
We are a small, passionate, cross-functional team, bringing together software, reliability, and testing engineers to build the software and systems that power PLOS.

We embrace and contribute to free and open source software, and we make time for personal projects, hackathons, and other social events, as we build and maintain everything from publishing systems to data pipelines to innovative new products.

Increasingly distributed, we maintain highly collaborative relationships and coordinate our efforts through agile methodologies and modern engineering practices. Deeply pragmatic in our approach to engineering, our culture also values diversity, agility, and experimentation, and we genuinely endeavor to live up to our values.

Key Responsibilities
Lead the engineering team’s efforts to produce high-quality, well-tested software
Represent testing needs and best practices in design and architecture decisions
Lead the team in integrating modern agile testing practices across disciplines
Maintain and develop testing tools and frameworks for software in python, java, javascript
Formulate testing scenarios and plans with engineers and product owners
Automate test scenarios and guide other engineers in automating their own
Identify, procure, and sanitize test data, developing ETL pipelines as needed
Incorporate behavior driven design and testing into story writing/planning activities
Review product code for errors, test coverage, automation issues, and quality concerns
Lead CI/CD efforts on GitLab, creating example pipelines and supporting other engineers
Coordinate release activity with product owners, engineering team, and management
Keep the team aware of CI/CD status with dashboards, reporting, and other relevant tools
Create and update documentation of testing tools, practices, release procedures, etc.
Contribute to build/release, product, and reliability engineering as appropriate
Required Qualifications & Experience
5+ years of professional software engineering experience
2+ years of professional experience designing & implementing automated CI/CD pipelines
Mastery of at least one of our preferred programming languages (java, python, javascript)
Passion for testing and automation; curiosity and drive to keep up with best practices
Exhaustive knowledge of agile software testing and related design practices
Ability to quickly assess and prioritize testing needs, with clear strategic focus
Experience implementing agile testing operations for cross-functional teams
Fluency with shell scripting and other common build and release tooling
Thorough knowledge of Docker and containerization
Experience writing testing tools for cloud native architectures (GCP experience preferred)
Operational experience deploying containerized workloads via kubernetes
Experience writing tests targeting kubernetes and/or cloud services on GCP
Basic command line skills with gnu/linux and/or macOS
Extensive experience with a major CI/CD tool (GitLab experience highly preferred)
Passion for writing testing tools appropriate to a variety of applications and languages
Basic data engineering skills (appropriate to managing test data)
Passion for metrics, automation, and feedback loops
Excellent communication skills, ability to work with stakeholders and lead meetings
Experience with browser automation tools such as Selenium
Desirable Attributes
Professional level GCP certification
Experience with Infrastructure as Code tools (e.g. terraform)
Security testing and remediation experience
Data engineering & design experience
Experience with SOLR and/or Lucene-based search technologies
Familiarity with XML, XSLT, and/or XML publishing pipelines
Experience with configuration management tools (salt, ansible, chef, etc.)
At PLOS, we were founded for the principles of equitable access and leveraging diverse insight for our collective progress – it’s core to who we are. Equal employment opportunity isn’t just a box we check; more than just accepting distinct perspectives, we seek and support them because we know they strengthen our teams, our work, and our communities. We’re ever-evolving in our journey for representation and equity, and strongly encourage applicants with diverse identities to apply: you’ll find a group of critical thinkers eager to challenge the status quo and learn with you as we continue breaking barriers to open science.

Date posted: