Senior Software Engineer
We are building a next-generation, high-scale Rule Engine that determines program eligibility and calculates financial incentives for over 1 million vehicles (VINs). This system evaluates thousands of programs and hundreds of thousands of interdependent rules across both real-time and large-scale batch processing paths.
This is not a simple validation system. The engine must handle complex, cross-program dependencies where a vehicle's payment in one program depends on its outcomes in others (accumulation rules, "pay highest group" logic) while guaranteeing financial accuracy, full auditability, and reproducibility.
As a Senior Software Engineer on the core team, you will be a technical leader. You will architect critical components, make foundational design decisions, mentor mid-level engineers, and own the hardest problems around scale, concurrency, and dependency resolution. This is a high-impact, resume-defining role for someone who wants to build a complex system from the ground up.
- Architect Core Components: Design and build the foundational services of the rule engine including the multi-phase evaluation pipeline, the dependency resolver (DAG-based), and the rule authoring/versioning framework.
- Solve for Scale: Design systems that process 1M+ VINs efficiently, making deliberate trade-offs between real-time evaluation and batch orchestration. You will own performance, concurrency, and throughput targets.
- Own Data Consistency & Correctness: Since this system handles financial payments, you will architect idempotent operations, precise monetary calculations, and deterministic, reproducible outcomes suitable for SOX-level audit.
- Design Event-Driven Pipelines: Lead the design of event-driven flows (Google Pub/Sub, Kafka) for VIN and program updates, handling ordering, replay, and out-of-order events at scale.
- Build the Analytics & Audit Path: Design batch pipelines (Dataflow/Beam) that synchronize results to our data warehouse (BigQuery) for analytics, reporting, and reproducible audit trails.
- Set Technical Direction: Drive architectural decisions, lead design reviews, define best practices, and establish coding and testing standards for the team.
- Mentor & Elevate: Guide mid-level and junior engineers through code reviews, pairing, and technical coaching. Act as a force multiplier for the team.
- Collaborate Cross-Functionally: Partner with product managers, business rule authors, and QA to translate complex incentive logic into robust, maintainable systems.
- Experience: 5 - 8 years of professional software engineering experience, with a track record of owning significant systems end-to-end.
- Core Tech: Deep expertise in Java (Java 11/17) and the Spring Boot ecosystem.
- System Design: Proven ability to design scalable, distributed microservices—including the ability to reason about consistency, failure modes, latency budgets, and trade-offs.
- Databases: Strong command of relational databases and SQL, including schema design, query optimization, indexing strategies, and transaction management. PostgreSQL experience strongly preferred.
- Concurrency & Performance: Solid understanding of Java concurrency, memory management, and performance tuning under high load.
- Event-Driven Systems: Hands-on experience with message brokers/streaming (Kafka, Google Pub/Sub, or RabbitMQ), including ordering, idempotency, and delivery-semantics trade-offs.
- Engineering Rigor: Strong grasp of testing strategies, CI/CD, Git, and clean, maintainable code principles.
- Leadership: Demonstrated experience mentoring engineers and leading technical design discussions.