Credit Acceptance is an award-winning company recognized for its workplace culture and dedication to professional development. The Staff Software Development Engineer in Test (SDET) will leverage software engineering principles to design and maintain automated testing solutions, collaborating with cross-functional teams to enhance testing processes and contribute to the software development lifecycle.
Responsibilities:
- Drive the evolution and refinement of application design and architecture, embracing cutting-edge technologies and modern practices
- Aid in the creation and implementation of versatile testing tools and strategies tailored to accommodate diverse application types and designs
- Articulate proposals and garner consensus from the entire engineering cohort to enhance time-to-market efficiency
- Stay abreast of diverse platforms and tools conducive to testing across the Software Development Life Cycle (SDLC)
- Establish, enforce, and advocate for cohesive coding, documentation, and testing standards within the team
- Deploy tools for streamlined impact analysis, enabling proactive identification of change repercussions across multiple applications
- Acquire proficiency in the business process domain to bolster support for organizational objectives and align technological endeavors accordingly
- Fulfill team sprint commitments and actively engage in Agile methodologies, offering insights for process enhancement
- Spearhead ongoing educational initiatives to elevate both design precision and code integrity while deepening application domain understanding
- Engage in the talent acquisition process to ensure the selection of top-tier candidates
- Assume a mentorship role, providing guidance and conducting reviews of code, designs, and documentation
Requirements:
- Bachelor's degree in computer science, Information Systems, or closely related field of study; or equivalent work experience
- 8+ years of experience in software development and software testing, with a focus on test automation
- Extensive experience in designing, implementing, and maintaining robust test automation frameworks
- Ability to develop comprehensive test strategies, test plans, and test cases based on requirements, design documents, and user stories
- Strong understanding of API testing principles, API mocking and virtualization techniques
- Strong understanding and practical application of OOP principles such as encapsulation, inheritance, polymorphism, and abstraction to write modular, reusable, and maintainable code
- In-depth knowledge of fundamental data structures (e.g., arrays, linked lists, trees, graphs) and algorithms (e.g., sorting, searching, dynamic programming). Ability to analyze algorithmic complexity and optimize code for performance
- Deep Understanding of testing methodologies and experience in writing unit tests, integration tests, and acceptance tests. Familiarity with TDD practices
- Demonstrated leadership qualities with the ability to mentor junior team members, provide technical guidance, and lead initiatives to improve testing processes and methodologies
- Effective communication skills, both verbal and written, with the ability to collaborate with cross-functional teams including developers, product managers, and SDETs
- Experience in the lead role overseeing technical direction of a team of software engineering talent
- Experience enabling teams with tools and practice to drastically reduce time to market
- Implemented, and maintaining CI/CD Pipeline and quality gates
- Experience in mobile application testing
- Consistent and regular participation in the SDET community
- Experience with design first API's
- Ability to create database objects and relationships, construct advanced queries, and optimize query performance
- Familiarity with security testing concepts and techniques, including vulnerability assessments, penetration testing, and secure coding practices
- Financial services industry experience