Software Engineer, Quality - Benchling|Meet.jobs

薪資

95k - 140k USD Annually

技能需求

    工作機會描述

    ROLE OVERVIEW

    Benchling’s suite of unified applications are mission critical in the day-to-day work of scientists, and we strive to ensure that the core functionality and workflows in the applications they depend on are always functional. As a Software Engineer on the Quality Engineering team, your focus will be on accelerating the development of automated end-to-end test suites to help protect that functionality. The automation you create will target modern web-based applications such as a digital Notebook, Molecular Biology, Registry, Inventory, Requests, Workflows, and Insights.

    You’ll be embedded within the Quality Engineering scrum team and partner with application scrum teams to define suites of prioritized automated tests covering frontend UI or backend API functionality. You’ll implement the highest priority tests for new and existing functionality first, while helping the teams maintain their overall backlog of test automation across all priorities. You’ll parter with our Customer Success team to define the most critical customer workflows across our product and create automation to ensure those workflows always work in production.

    Our recently established test infrastructure has been developed and maintained by the Developer Productivity team at Benchling. You’ll work closely with this team to define, update, and maintain test automation best practices across frameworks. Our test frameworks are code focused and not DSL based. We use JavaScript/TypeScript and Cypress for our frontend test cases and Python for test setup. We use Python and Nose for our backend tests. Depending on your interest and aptitude, you may also contribute to our test infrastructure by partnering with Dev Prod engineers as we scale our automation efforts over the coming years.

    Each application engineer is responsible for the quality and test coverage of the features they ship. Today, engineers create thorough unit test coverage and manually verify feature functionality in a staging environment before releasing to production. The team is working towards a model where every feature of a given complexity or risk will be shipped with an end-to-end test created by the engineer shipping the feature. You’ll work closely with engineers shipping new features to align on the overall suite of prioritized test automation and add additional coverage as a fast-follow to the test coverage developed during feature development and release.

    This is an automation and coding focused role so you’ll need to be fluent in at least one programming language and know how to interact with its common data structures. You’ll need to be productive writing high-quality code that follows coding, automation, framework, architecture and design best practices and patterns. The most successful candidates will be able to demonstrate proficiency in JavaScript for frontend automation or Python for backend automaton.

    WHAT YOU WILL WORK ON

    • Review product requirements, technical plans, and explore existing product functionality to define test coverage
    • Create end-to-end UI or API automated tests and help maintain a prioritized automation backlog
    • Trace automated tests to functional requirements for the Validation Engineering team’s Operational Qualification
    • Review and provide feedback for test automation code reviews from other quality and software engineers
    • Utilize engineering and framework best practices to create reliable and maintainable test code
    • Drive teams to increase test coverage and increase quality through test automation
    • Work in an Agile engineering environment

    ABOUT YOU

    • Proficient in JavaScript for frontend automation or Python for backend automation
    • Passionate about protecting application quality by creating flake-free and well designed test automation
    • Experience using and extending test frameworks built on the page object model for frontend automation
    • 1+ years of total experience in Software Engineering
    • Bachelor’s in Computer Science, Computer Engineering, Electrical Engineering or equivalent

    Benchling