Upstart is a leading AI lending marketplace focused on reducing the cost and complexity of borrowing for Americans. The Principal Software Engineer will define the technical direction for unsecured installment lending, collaborating with cross-functional teams to build reliable and scalable systems.
Responsibilities:
- Design and evolve the core backend systems that power Upstart’s unsecured installment lending product
- Lead architecture and technical direction across complex domains such as underwriting, pricing, offer generation, funding, servicing, and borrower lifecycle workflows
- Translate product, economic, and operational requirements into scalable technical systems that balance speed, reliability, and long-term maintainability
- Partner closely with machine learning engineers and data teams to productionize models and integrate decisioning systems into real-time borrower experiences
- Improve the systems and services behind key borrower and partner flows, including experimentation, repricing, and moments of borrower friction
- Influence architectural decisions across team boundaries, helping connect the Unsecured Installments roadmap with Upstart’s broader lending platform and shared infrastructure
- Raise the bar for engineering quality through strong API design, thoughtful domain modeling, observability, testing, and operational excellence
- Mentor other engineers and serve as a technical leader who can bring clarity, drive alignment, and help teams execute through ambiguity
- Contribute to how the team uses AI in development workflows and product capabilities, with a pragmatic view of where it can create meaningful leverage
Requirements:
- Bachelor's degree in Computer Science, Engineering, Mathematics, or a related field (or equivalent practical experience) and 8+ years of software engineering experience
- Strong experience designing distributed systems and event-driven architectures, including real-world handling of retries, idempotency, fault tolerance, and failure modes
- Proficiency in an object-oriented language such as Python, Java, Kotlin, C#, or Ruby, with deep experience building APIs and service-oriented backend systems
- Track record of leading technical design and delivery for large-scope, business-critical systems
- Ability to work effectively in ambiguous environments where product requirements, operating constraints, and system boundaries evolve over time
- Strong cross-functional collaboration skills and comfort working closely with product, analytics, compliance, risk, and other business stakeholders
- Experience influencing technical direction beyond a single team, including driving alignment across engineers with different priorities and constraints
- Active use of AI tools in engineering workflows, with a thoughtful perspective on how AI is reshaping software development
- Exceptional communication and collaboration skills, with the ability to explain complex tradeoffs and advocate for high-impact solutions
- Experience in fintech, lending, payments, or other regulated financial systems
- Familiarity with unsecured installment lending, offer and pricing systems, borrower acquisition flows, funding, or servicing platforms
- Experience building systems that support experimentation, repricing, or other dynamic product and decisioning workflows
- Background working with machine learning-driven underwriting, pricing, or risk systems
- Experience operating as a technical leader on small or midsized teams with broad product ownership
- Hands-on experience leveraging generative AI in product features or internal engineering workflows
- Passion for building products that expand access to credit and improve financial outcomes for consumers