Job Description
Experienced developer with advanced knowledge in Java development and strong front end Angular capabilities, able to implement complex requirements and mentor junior developers. This role requires a solid understanding of engineering standards, best practices, and modern frameworks. Responsibilities include hands-on development, collaborative design, critical code reviews, and continuously learning and applying evolving technologies.
Responsibilities
- Work with the Product Team to understand business requirements and translate them into technical solutions aligned with approved technology stacks. Requires strong written and verbal communication skills and the ability to explain technical concepts to non-technical stakeholders.
- Develop performant, scalable, testable, and supportable solutions using Java with best-of-breed frameworks such as Spring Boot and JPA, as well as modern Angular (v16–18) with libraries including RxJS and Jasmine.
- Design and build modern Angular (16–18) applications using standalone components, signals, TypeScript, and Angular CLI, following best practices for maintainability, performance, and scalability.
- Implement reactive UI patterns and state management using Angular services, and signals, integrating front-end applications with RESTful APIs.
- Build well-tested, responsive user interfaces using Angular testing frameworks (Jasmine/Karma), reusable component libraries, and enterprise UI standards.
- Enforce and contribute to UI standards including accessibility (WCAG 2.x), responsive design, cross-browser compatibility, and consistency through shared design systems and component libraries.
- Apply front-end performance best practices such as lazy loading, change detection optimization, bundle size management, and Lighthouse-based performance monitoring.
- Collaborate with a team of developers with varied experience levels, providing guidance and mentorship while also taking direction as needed.
- Proactively learn and apply best practices across all libraries and technologies used by Valvoline Engineering, understanding tradeoffs and selecting appropriate solutions.
What You’ll Need
- Minimum 5 years of professional software development experience using Java and preferably Angular, including modern Angular 16–18.
- Extensive experience designing and consuming RESTful APIs.
- Strong communication and collaboration skills across technical and non-technical teams.
- Solid understanding of ORM concepts and common pitfalls.
- Extensive experience writing unit tests using JUnit and Mockito.
- Experience leveraging messaging systems for asynchronous processing and loosely coupled architectures.
- Working knowledge of enterprise UI governance, including accessibility compliance, design systems, and front-end performance standards.