Role: Senior Software Engineer
Location: Dearborn, MI (On-site/Hybrid from day one)
Duration: Long termRate: Market
Key Responsibilities: - Develop and validate applications using continuous integration and continuous delivery (CI/CD) tools.
- Participate in pair programming and mob programming with other engineers to ensure collaborative problem-solving and code quality.
- Work in an agile team to deliver working, tested software iteratively.
- Collaborate effectively with product owners, product designers, and other technical experts to deliver solutions that meet business requirements.
- Focus on delivering Available, Testable, and Portable solutions using Domain Driven Design, CQRS, Hexagonal Architecture, and Event Driven Architecture.
- Contribute to the development of backend APIs using frameworks like Spring Boot and Microservices.
- Participate in the creation of exceptional user experiences using modern JavaScript frameworks such as Angular, React, or VueJS.
- Take an active role in continuous learning and mentoring team members on best practices in software engineering.
Required Skills and Qualifications: - 5+ years of professional software development experience.
- 3+ years of hands-on experience with technologies such as Java, Kotlin, Spring, Spring Boot, Microservices, JavaScript, and TypeScript.
- Proficiency with test-driven development (TDD) and a strong understanding of clean code principles.
- Experience with unit testing and mocking frameworks.
- Familiarity with continuous integration/continuous delivery (CI/CD) tools such as Tekton, Cloud Build, Jenkins, Maven, Gradle, Kubernetes.
- Experience working in agile development environments and following eXtreme Programming (XP) practices.
- Ability to collaborate in a pair programming and mob programming environment with other cross-functional engineers.
Education: - Bachelor's degree in Computer Science or a related field.