Senior Software Engineer, Consumer
Credit Acceptance is proud to be an award-winning company with local and national workplace recognition in multiple categories! Our world-class culture is shaped by dedicated Team Members who share a drive to succeed as professionals and together as a company. A great product, amazing people and our stable financial history have made us one of the largest used car finance companies nationally.
Our Engineering and Analytics Team Members utilize the latest technology to develop, monitor, and maintain complex practices that help optimize our success. Our Team Members value being challenged, are encouraged to express their ideas, and have the flexibility to enjoy work life balance. We build intrinsic value by partnering with all functions of our business to support their success and make strategic business decisions. We focus on professional development and continuous improvement while enjoying a casual work environment and Great Place to Work culture!
Outcomes and Activities:
- This position will work from home; occasional planned travel to an assigned Southfield, Michigan office location may be required. However, this position is permitted to work at a Southfield, Michigan office location if requested by the team member
- Experiment and test ideas, validate assumptions against needs, reach conclusion and recommend solutions
- Design, code, test, and deliver insightful and architecturally sound business solutions around high complexity work
- Contribute to team’s sprint goal by test driving complex code
- Document code and projects so others can easily understand, maintain and support
- Apply team coding, documenting and testing standards and drive continued improvements
- Actively participates in engineer COE discussions towards continuous improvement of design and code quality
- Advocate best design principles and patterns within the team
- Improve application and team processes
- Conduct impact analysis to proactively identify impact of a change across multiple systems
- Communicate application changes clearly, concisely, and objectively, both verbally and in writing
- Learn the business process domain to better support the business
- Decrease incidents and increase up-time by developing quality code and testing
- Performs regular reviews on code written by less experienced engineers
- Independently solves various problems and rectify complicated problems through the application of design patterns
- Consistently improve the quality and structure of the previously written code
- Communicate application changes clearly, concisely, and objectively, both verbally and in writing
- Mentor less experienced engineers
- Revises code to make it more efficient and be able to detect bugs in the code
- Document code and projects so others can easily understand, maintain and support
- Increase application domain knowledge through functional testing
Competencies:
The following items detail how you will be successful in this role.
- Development: Develops solutions using standards and best practices of the applications language. Writes code that implements the design that is testable, extensible, efficient and maintainable.
- Impact Analysis: Understand the rationale behind and how changes impact the enterprise and/or applications and across the technical ecosystem.
- Solution Design: Ability to translate high level requirements to create and implement designs that meet the needs of the customer, are technically sound, maintainable and cost effective. Ability to identify missing or ambiguous requirements. Ability to design at both high and low levels of abstraction, understand complex requirements and translate into understandable solutions. Ability to accurately estimate based on requirements.
- Technical Domain: Have an understanding of the technical domain, including the application architecture, design and data of the application they support and systems to which it interfaces.
- Makes Quality Decisions: Uses logic and sound judgement to evaluate the risks and rewards of alternatives before making a decision or taking action. Solves problems and makes sound decisions resulting in the best possible outcomes not only for their department, but also other departments and the Company. Escalates through the correct channels in a timely manner.
- Facilitation Techniques: Organize, support and/or conduct workshops, meetings, presentations specific to the objectives of each, problem to be solve, and needs of the audience.
Requirements:
- Bachelor’s degree in Computer Science, Information Systems, or closely related field of study; or equivalent work experience
- Minimum 5 years of software engineering experience or comparable depth of experience
- Java platform experience
- Practical expertise in Software Development Life Cycle (SDLC) including Waterfall and Agile/SCRUM
- Practical expertise in data modeling and database management
- Willingness to participate in an on-call rotation
- The Senior Software Engineer will demonstrate advanced skills while coaching and mentoring less senior team members
- Microservices architecture experience
Preferred Experience:
- Monolith to Microservices migration experience
- Minimum 3 years (of total) experience as an engineer embedded in team in an agile and DevOps delivery environment
- Experience in the technical lead role overseeing a team of software engineering talent
- Advanced IDE usage including memorized the shortcuts associated with them to accelerate the work, write custom macros and optimize the IDE
- In-depth usage and creation of API libraries and custom frameworks to optimize and automate the program’s functionality
- Experience with Spring Boot, Spring REST, or Spring MVC
- Experience with JSON, AJAX, SOA, Rest/SOAP based Web Services, JUnit, Jenkins and Bitbucket
- Experience in API security, analytics, throttling, caching, logging, request and response modifications etc.
- Experience in creating REST API documentation using Swagger and RAML or similar tools desirable
- Experienced with Object-Oriented Design (OOD)
- Ability to fully design and manage databases and use syntax to expedite results, advanced queries and convert data across incompatible interfaces.
- Hands-on knowledge of multiple programming languages, as well as the foundations of how languages work
Targeted Total Compensation: $150,500 – $222,500. Total compensation is comprised of a competitive base salary and an annual variable compensation package.
Benefits:
- Excellent benefits package that includes 401(K) match, adoption assistance, parental leave, tuition reimbursement, comprehensive medical/ dental/vision and many nonstandard benefits that make us a Great Place to Work
Our Company Values:
To be successful in this role, Team Members need to be:
- Positive by maintaining resiliency and focusing on solutions
- Respectful by collaborating and actively listening
- Insightful by cultivating innovation, accumulating business and role specific knowledge, demonstrating self-awareness and making quality decisions
- Direct by effectively communicating and conveying courage
- Earnest by taking accountability, applying feedback and effectively planning and priority setting
Expectations:
- Remain compliant with our policies processes and legal guidelines
- All other duties as assigned
- Attendance as required by department
Similar Remote Jobs
Staff Software Engineer
at Workiva
🌎USA
💰$120,000 - $204,000/Yearly
Apply Now4 months agoSenior Software Engineer
at Workiva
🌎USA
💰$102,000 - $173,000/Yearly
Apply Now4 months agoSoftware Engineer, Foundations
at Tecton
🌎USA
💰$189,000 - $231,000/Yearly
Apply Now4 months agoStaff Software Engineer
at CodePath
🌎USA
💰$150,000 - $175,000/Yearly
Apply Now5 months agoSr. Manager, Software Engineering
at Verint
🌎USA
💰$160,000 - $175,000/Yearly
Apply Now5 months agoStaff Software Engineer, AI
at Pulley
🌎USA
💰$130,000 - $210,000/Yearly
Apply Now5 months agoSoftware Engineer, Core Enterprise
at Redpanda Data
🌎USA
💰$155,000 - $183,000/Yearly
Apply Now5 months agoSenior Software Engineer, Leather
at Trust Machines
🌎USA
💰$160,000 - $190,000/Yearly
Apply Now5 months ago