Job Description:
Role: Full Stack Software Engineer
Location: Hybrid - 4 days/onsite in SE MI
Duration: Long-Term Contract
Job Description:
We are seeking a highly motivated Software Engineer to design, develop, test, and maintain enterprise applications supporting automotive vehicle power management, controls, and optimization initiatives. This role will participate in the full software development lifecycle, including architecture, application development, testing, deployment, and continuous improvement.
The ideal candidate is a strong full-stack engineer with experience building scalable web applications, microservices, and cloud-based solutions while working within Agile delivery teams.
Key Responsibilities
Collaborate with business stakeholders and end users to understand requirements, pain points, and use cases, ensuring the delivery of customer-focused solutions.
Design, develop, test, deploy, and maintain scalable software applications and services.
Define and implement software architecture, technology stacks, deployment strategies, and integration approaches.
Develop high-level application and solution designs that align with business and technical requirements.
Build and maintain responsive user interfaces using modern JavaScript frameworks.
Develop and support back-end services, APIs, and microservices using Java and Spring technologies.
Collaborate closely with Product Owners, Architects, Designers, and cross-functional development teams.
Establish and execute software testing strategies, standards, and best practices.
Leverage Test-Driven Development (TDD), Continuous Integration (CI), and Continuous Delivery (CD) practices to ensure high-quality software delivery.
Optimize application performance, scalability, maintainability, and reliability.
Implement secure coding practices, including data protection, encryption, and privacy controls.
Evaluate and adopt emerging technologies to improve development efficiency and solution capabilities.
Take ownership of assigned work items and drive them through successful completion.
Required Qualifications
Bachelor's degree in Computer Science, Computer Engineering, or a related field.
4+ years of professional software development experience.
6+ years of overall IT experience.
Strong understanding of Object-Oriented Design (OOD) and Object-Oriented Programming (OOP) principles.
Experience practicing Agile methodologies, including Scrum, Kanban, SAFe, and Test-Driven Development (TDD).
Experience working in Extreme Programming (XP) environments, including paired programming practices.
Proficiency with Java Enterprise application development.
Experience developing applications using:
Java
Spring Boot
Spring MVC
Spring JDBC
Spring Cloud
Experience with microservices architecture and API development.
Experience designing and consuming RESTful APIs.
Knowledge of SOAP, WSDL, XML, and SOA-based integrations.
Experience with front-end development using one or more of the following:
Angular (preferred)
React
TypeScript
JavaScript
Experience with automated testing frameworks and tools such as:
JUnit
Jasmine
Karma
Experience with CI/CD pipelines and tools such as Jenkins.
Strong understanding of relational databases, including:
PostgreSQL
SQL development
Database schema, table design, and optimization
Experience refactoring and optimizing code