Jul 2026 – Present
Israel
Intuit
Senior Backend Engineer, QuickBooks Bill Pay / B2B Payments
Java-based B2B payments service on Intuit's QuickBooks Bill Pay team, following an internal transfer from Data Exchange Platform: hardening payment validation and correctness — including in the downstream services that book payments into QuickBooks — owning the backend retry-eligibility and failure-taxonomy contract for failed credit-card payments, owning the investigation and remediation of a cross-service payment-state defect, and automating stale Payment Instruction lifecycle cleanup.
- Hardened batch-level payment validation and abort handling in the B2B payments service: blocked unsupported Credit Card + Real-Time Payments (RTP) batch combinations before persistence or downstream processing, and corrected abort handling for pending-approval credit-card Payment Instructions — preserving existing validation precedence and payment-state behavior.
- Extended payment-lifecycle correctness into the downstream services that book payments into QuickBooks: when credit-card payments lost the upstream lifecycle event booking depended on, retargeted the trigger to an earlier event, kept booking idempotent under retries and replayed events, and isolated downstream bookkeeping failures from payment/funds failures — without changing ACH's separate event path.
- Owned the investigation and remediation of a production payment-state defect spanning multiple services and asynchronous flows, where a lifecycle-state change left mixed-outcome batches with incorrect downstream notifications: preserved notification, aggregation, and backward-compatible behavior, and added regression and production-like end-to-end coverage for context earlier tests missed. The fix is deployed and running in production.
- Owned the backend retry-policy slice of the Credit Card Online Execution flow: designed and implemented a canonical failure-to-retryability mapping in the core domain layer, exposed it through typed failure metadata (failureDetails.type, failureDetails.isRetryable) on the batch-payment polling API so the client offers a reschedule action only for genuinely retry-eligible failures, established precedence between persisted failure information and legacy payment status, corrected contradictory failure-type / retryability API states, and added regression coverage for decline and recovery edge cases.
- Implemented runtime-refreshable configuration for Payment Instruction auto-abort expiration (TTL).
- Designed and built a ShedLock-coordinated scheduled job — a single runner per sweep — that discovers and safely aborts stale in-flight Payment Instructions, replacing full-table scans with a self-owned, end-to-end-provisioned sparse, sharded DynamoDB GSI for age-ordered discovery, revalidating authoritative state before every abort as a distributed-correctness guard, and adding a global kill switch, company-level feature-flag gating, and per-candidate failure isolation.
- Implemented read-path filtering that excludes failed credit-card Payment Instructions from Payments UI/API results, preserving existing behavior for ACH and legacy payment methods.