- Posted 17 hours ago
- Be among the first 10 applicants
Job Description
JOB DESCRIPTION
About the Team
The Marketing Program System 2 (MPS2) team within Ford's VMI (Vehicle Marketing & Incentives) domain is responsible for building high-scale, mission-critical systems that manage vehicle marketing programs and incentive calculations.
Our application is a data-intensive platform processing vast amounts of information across a multi-terabyte database (2+TB with 500+GBRAM) and high-throughput event pipelines. You will work alongside experienced leads and senior engineers who believe in strong software craftsmanship, modern engineering practices, and writing clean, scalable code.
Role Overview
We are looking for a driven, detail-oriented Associate Software Engineer (0-2 years) with a solid computer science foundation, hands-on programming experience in Java & Spring Boot, and a strong eagerness to learn how large-scale enterprise systems handle data, messaging, and distributed microservices.
In this role, you will write clean, well-tested production code, understand the business logic behind each feature, learn database optimization at scale, and adopt modern development tools such as GitHub Copilot and automated review scanners.
RESPONSIBILITIES
1. Backend & Microservices Development
- Design, code, and test microservices and RESTful APIs using Core Java (11/17+) and the Spring Boot framework.
- Learn and adhere to clean code principles, SOLID design principles, and enterprise design patterns.
- Collaborate with frontend team members to integrate backend APIs with UI components (Angular).
2. Working with Data & PostgreSQL
- Write clean, efficient SQL queries, joins, and database migrations for our PostgreSQL database.
- Learn and practice query optimization basics: understanding how indexes work, avoiding $N+1$ query issues in ORMs (Hibernate/Spring Data JPA), and writing batch-friendly operations.
- Gain exposure to handling high-volume datasets in an enterprise production environment.
3. Messaging & Event-Driven Architecture
- Build basic producers and consumers using Apache Kafka (or similar messaging queues) for asynchronous event processing.
- Learn how distributed transactions, retries, and error handling are handled in event-driven systems.
4. Code Quality, Testing & AI-Assisted Development
- Participate actively in the GitHub Pull Request (PR) review process: review your peers code, accept constructive feedback from Lead Engineers, and understand the design/business rationale behind changes.
- Leverage modern AI tools like GitHub Copilot to improve developer productivity while verifying that generated code is secure, clean, and bug-free.
- Write comprehensive unit and integration tests using JUnit and Mockito to ensure high code quality and test coverage.
QUALIFICATIONS
- Education: Bachelor's or Master's degree in Computer Science, Information Technology, Software Engineering, or related field.
- Experience: 0 to 2 years of professional software development experience or demonstrable project/internship experience in backend software engineering.
- Core Java: Strong understanding of Core Java fundamentals (OOP concepts, Collections framework, Exception Handling, Concurrency/Multithreading, Java 8+ Streams and Lambdas).
- Spring Boot: Practical, hands-on experience building REST APIs using Spring Boot, Spring Data JPA, and Dependency Injection.
- Database & SQL: Solid working knowledge of relational databases and SQL (preferably PostgreSQL or MySQL). Ability to write structured queries, joins, group-bys, and understand primary/foreign keys and basic indexing.
- Basic Messaging Knowledge: Conceptual understanding or foundational project experience with message queues like Apache Kafka or RabbitMQ.
- Version Control: Familiarity with Git & GitHub (cloning, branching, committing, creating Pull Requests).
- Testing Mindset: Familiarity with writing unit tests using JUnit and Mockito.

