Credit Acceptance is an award-winning company recognized for its workplace culture and success in the used car finance industry. The Principal Software Engineer will provide thought leadership and build software solutions that deliver high impact business value, collaborating with cross-functional teams to define product requirements and drive technical innovation.
Responsibilities:
- Provide thought leadership and build software solutions that deliver high impact business value and deliver customer delight
- Lead the design and implementation of software solutions that are scalable, reliable, and maintainable
- Collaborate with a diverse cross functional team including business partners, Product Managers and designers to define product requirements, direction and clarity
- Drive technical innovation and improvements of the design and architecture of software systems towards leading edge technologies and practices
- Define, develop and drive software engineering best practices
- Become an expert in the business process domain to better support the business and align technologies with the business outcomes
- Work with the engineering leadership team to develop and execute on the company’s technical and business strategy
- Conduct impact analysis to proactively identify impact of a change across multiple applications/systems
- Perform technical due diligence and architectural assessments of third-party technologies and solutions
- Participate and drive decomposing a monolithic code base to decoupled services
- Experiment and test ideas, validate assumptions against needs, reach conclusions and recommend solutions
- Document standards, best practices, and engineering artifacts so others can easily understand, build and maintain best in class software systems
- Debug the critical problems which arise in production and execute effective solutions within the application and across multiple applications/systems
- Lead continuous learning and process improvement activities to improve design and overall engineering practices
- Grow talent by participating in hiring and mentoring team members
Requirements:
- Bachelor's degree in Computer Science, Information Systems, or closely related field of study; or equivalent work experience
- Minimum 15 years of software engineering experience or comparable depth of experience
- Experience in the lead role overseeing technical direction of a team of software engineering talent across multiple software systems
- Expert knowledge of software engineering best practices with experience building complex software engineering products
- Expert understanding and use of multiple object-oriented programming languages and design patterns such as Java
- Extensive experience with building and driving adoption of software engineering best practices
- Strong understanding of distributed systems, cloud computing, and microservices architectures
- Extensive experience in data modeling, design and messaging
- Experience working on mission-critical enterprise class applications
- Demonstrated ability to work with business partners, cross functional team members and coach and mentor experienced team members
- In-depth experience with building application programming interfaces (API) and frameworks in their particular field. Experience in API security, analytics, throttling, caching, logging, request and response modifications
- Well versed in delivery mechanisms such as Agile
- Financial services or FinTech industry experience