Title: Lead Software Development Engineer in Test (SDET)@ Chicago, IL / Boston, MA
Terms of Hire: Full Time.
Salary: $ Open K/ YR + Benefits.
Job description:
The Lead Software Development Engineer in Test (SDET) will join the QA team. You will develop automated test infrastructure to support leading-edge development and deployment such as continuous integration, continuous build and UI/API-driven acceptance testing. As the quality team member responsible for functional, system and integration tests, you will develop in close partnership with software engineers and quality engineers, automated test frameworks and suites that can readily adapt to a fast-changing business environment. You will help developers adopt techniques to improve product quality early and help quality engineers use knowledge of technology to improve the practice of verification and validation.
We work with MacOS, Linux, Python, Pytest, Go, Java, Selenium, Javascript (React.js, Angular, jquery), CSS, Postgres, MongoDB, Elasticsearch, AWS, Docker, Kubernetes, SumoLogic, SAML, REST, Jenkins, Jira, Git, GitHub, Confluence, JSON, qTest, browsers and more…
Essential Functions and Responsibilities
- Be a strong quality advocate, collaborating closely with software engineers, designers, and product managers to release revolutionary products
- Drive the design, build, and promotion of software product automation capabilities across our test infrastructure using cloud technologies
- Guide Product Testing best practices with an overall System perspective and System mindset
- Help set guidelines, standards, best practices for testing within the Product Development Lifecycle for all of engineering
- Improve and expand Python test trameworks, tools, and libraries
- Expand test automation systems to support test management and test methodology
- Subject Matter Expert and mentor to individual contributors
- Work is highly independent within a team leadership role
What we are looking for...
- Work in an agile software development environment collaborating with engineering team to analyze requirements specifications and discuss software design and testability to ensure we deliver high quality of software.
- Understand how all elements of the application technology stack work together, evaluate functional and design specifications and develop testing approaches and strategies that fit the overall quality objectives
- Partner with quality engineering teams to ideate on tooling that enables improving testing efficiency, reliability and accelerates the deployment cycles
- Responsible for testing all layers of the application stack including web services, applications, UI and APIs (automated and manual)
- Design and develop comprehensive test strategies
- Consistently apply end-user mindset to evaluate technical implementation and formulate & execute high quality test plans to provide enriched experience to our users
- Actively participate in functional, system and regression testing
- A trouble shooter, problem solver in an internal support role as a subject matter expert
- A track record Working in a collaborative, fast-paced environment while?fostering continuous process improvement
- Participation in all aspects of the test cycle from gathering requirements to functional, system and regression testing
- Participation in all technical reviews including functional, test design, documentation and code reviews
- Proficiency in designing, documenting and writing comprehensive scalable test cases and procedures for functional, integration, performance and regression testing
- Automation of test cases and assist in the maintenance of the internal Python-based testing libraries
- Design and develop robust test automation class libraries for UI, integrations, and API layers of the application stack
- Maintain automated regression suites/packages to be compliant with changing requirements and features
- Promote culture of test automation by exploring and identifying test automaton opportunities at all layers (unit, integration, UI) of the application stack
- Drive standardization and adoption of test automation technologies to maintain consistency across the company that will allow us to scale as we grow
- Design, debug, create and maintain automated test suites
- Effectively isolate and analyze defects providing detailed steps and conditions for defect reproduction
- Work with developers to understand all aspects of defect resolution and verification
- Proven ability to enhance agile software & quality engineering process and methodology in a continuous delivery model
- - Excellent communicator, both written and verbal - able to independently and clearly communicate issues with others
- Inherent willingness to be a total team player, i.e., do what it takes for the team to succeed and achieve
Qualifications
- Excellent understanding of software quality principles and processes
- Experience leading Test Automation Infrastructure, Systems Testing, and Test-Driven Development
- Passionate about analyzing, isolating, and solving problems.
- Experience working in agile frameworks (Scrum/Kanban)
- Expert Python programming skills with Python3 and Pep 8 Standards
- Strong Linux experience in production environment
- Strong leadership, system design, and analytical and problem-solving skills
- Strong analytical, problem isolation abilities and proven design skills
- Looks to challenge the status quo to implement improvements
- Proven ability to drive technical innovation
- Cross Team Technical team leadership
- Practical knowledge and experience in distributed architectures, web service APIs (e.g. HTTP, REST, SOAP), microservices
- Practical knowledge and experience with non-relational (MongoDB) or relational database (Postgres) development
- Knowledge of software test engineering best practices across the life cycle, including coding standards, code reviews, source code management, build processes, test case management
- 7+ years of experience testing software: white & black box, functional, and system testing
- 4-6+ years of professional Python software design and development
- Ability to design and write tests against dynamic resources such as external APIs and databases, mocking interfaces where needed
- Demonstrated automated GUI testing experience with Python testing solutions such as Selenium or JavaScript testing solutions such as Cypress, Puppeteer, etc.
- Familiarity with source code management such as Git
- Experience with CI/CD tools and creating pipelines such as Jenkins, CircleCI, AWS CodeBuild, Atlassian Bamboo
- Experience testing on Macintosh, Linux, Windows environments
- Experience evaluating and integrating open source and in house developed tools into the life cycle
- Good written and verbal communication skills
- Experience facilitating meetings, sharing knowledge and training others as the primary stakeholder
- Experience leading a development team with junior members
- Experience with project management, time management
- Bachelor’s Degree in Computer Science or related technical field and relevant work experience
Desired, but not must:
- Docker, Kubernetes, YAML, Git, Groovy, Jira, Confluence, jMeter, qTest
- Application Performance Monitoring and/or application/site load testing
- Object Oriented programming: Python, Java, GoLang
- Previous experience working in a dynamic and fast paced environment
- Knowledge of performance and memory profiling
- Apply best practices in security protocols and techniques
- Familiarity in using REST Clients (Postman)
- JavaScript/React knowledge is a plus
You Will Enjoy:
- An opportunity to be a part of a great culture, an awesome team, a challenging work environment, and some fun along the way!
- Apply today to learn more and be part of our Growth story.
All applications will be kept strictly confidential and once shortlisted, our team will be in touch with you for further discussions.