Software Engineer, Monetization
Role summary
Upstart is seeking a Software Engineer II to join their Monetization team. This role focuses on building and maintaining real-time services for pricing computation and offer filtering, supporting Upstart's lending growth. The engineer will collaborate with cross-functional teams to develop scalable systems, optimize marketplace performance, and ensure the security and availability of critical platforms. The position requires a Bachelor's degree in a related field or equivalent experience, with a strong focus on distributed systems and APIs, and experience with languages like Kotlin or Python, cloud platforms, microservices, and real-time data processing. Fintech experience is preferred.
About Upstart
At Upstart, we’re united by a mission that matters: to radically reduce the cost and complexity of borrowing for all Americans. Every day, we bring creativity, experimentation, and advanced AI to reshape access to credit, helping millions move forward financially with clarity and confidence.
As the leading AI lending marketplace, we partner with banks and credit unions to expand access to affordable credit through technology that’s both radically intelligent and deeply human. Our platform runs over one million predictions per borrower using more than 1,800 signals, powering smarter, fairer decisions for millions of customers. But the numbers only hint at the impact. Every idea, every voice, and every contribution moves us closer to a world where credit never stands between people and their financial progress.
We’re proudly digital-first, giving most Upstarters the flexibility to do their best work from wherever they thrive, alongside teammates across 80+ cities in the US and Canada. Digital-first doesn’t mean distant. We’re intentional about in-person connection through team onsites, planning sessions, and moments that spark creativity and trust. And whether you choose to work primarily from home or collaborate in-person from one of our offices in Columbus, Austin, the Bay Area, or New York City (opening Summer 2026), you’ll have the support to work in the way that works best for you.
If you’re energized by tackling meaningful problems, excited to innovate with purpose, and motivated by work that truly matters, we’d love to hear from you.
The Team:
Upstart’s Monetization team is building the systems that optimize the offers we present to borrowers—balancing customer appeal, lender requirements, and capital availability. We use machine learning, real-time decision engines, and flexible configuration to power accurate, personalized pricing at scale, while ensuring a great borrower experience.
As the Software Engineer II at Upstart, you will collaborate with engineers and cross-functional partners across Product, Analytics, Machine Learning, and Capital Markets to build scalable systems that respond to changing lender needs, funding dynamics, and borrower behavior. This role offers opportunities to deepen your backend expertise while working on impactful infrastructure that supports Upstart’s lending growth and helps deliver better offers to more people.
How you’ll make an impact
Minimum Qualifications
Preferred Qualifications
Position location This role is available in the following locations: Remote
Time zone requirements The team operates on the East/West coast time zones.
Travel requirements As a digital first company, the majority of your work can be accomplished remotely. The majority of our employees can live and work anywhere in the U.S but are encouraged to to still spend high quality time in-person collaborating via regular onsites. The in-person sessions’ cadence varies depending on the team and role; most teams meet once or twice per quarter for 2-4 consecutive days at a time.
#LI-REMOTE
At Upstart, your base pay is one part of your total compensation package. The anticipated base salary for this position is expected to be within the below range. Your actual base pay will depend on your geographic location–with our “digital first” philosophy, Upstart uses compensation regions that vary depending on location. Individual pay is also determined by job-related skills, experience, and relevant education or training. Your recruiter can share more about the specific salary range for your preferred location during the hiring process.
In addition, Upstart provides employees with target bonuses, equity compensation, and generous benefits packages (including medical, dental, vision, and 401k).
At Upstart, your base pay is one part of your total compensation package. The anticipated base salary for this position is expected to be within the below range. Your actual base pay will depend on your geographic location–with our “digital first” philosophy, Upstart uses compensation regions that vary depending on location. Individual pay is also determined by job-related skills, experience, and relevant education or training. Your recruiter can share more about the specific salary range for your preferred location during the hiring process.
In addition, Upstart provides employees with target bonuses, equity compensation, and generous benefits packages (including medical, dental, vision, and 401k).
What you'll love
At Upstart, our benefits are designed to support your health, financial well-being, family, and personal growth. Here’s what you can expect:
Upstart is a proud Equal Opportunity Employer. Just as we are dedicated to improving access to affordable credit for all, we are committed to inclusive and fair hiring practices.
If you require reasonable accommodation in completing an application, interviewing, completing any pre-employment testing, or otherwise participating in the employee selection process, please email candidate_accommodations@upstart.com
https://www.upstart.com/candidate_privacy_policy
Sample Upstart interview questions
- 1
Diameter of a Binary Tree Find the diameter of a binary tree. Input: root = [1,2] Output: 1 Explanation: The longest path is simply the single edge connecting the root node to its only child.
codingmedium - 2
Connected Components in an Undirected Graph Determine the number of connected components in an undirected graph. Input: n = 4, edges = [[0,1],[2,3]] Output: 2 Explanation: The graph is split completely evenly into two distinct isolated components: nodes {0,1} and nodes {2,3}.
codingmedium - 3
Split Array into Consecutive Subsequences Split an array into consecutive subsequences. Input: nums = [1,2,3,4,4,5] Output: FALSE Explanation: The numbers can form [1,2,3,4], but the remaining leftover group [4,5] is too short to form a valid sequence of length 3.
codingmedium - 4
Pacific and Atlantic Water Flow Calculate water flow from a matrix to the Pacific and Atlantic oceans. Input: heights = [[2,1],[1,2]] Output: [[0,0],[0,1],[1,0],[1,1]] Explanation: All cells can flow to both oceans because water can move to adjacent cells of equal or lower height or directly off the edges.
codingmedium - 5
Unique Combinations that Sum to a Target Find all unique combinations in an array that sum to a target. Input: candidates = [2,4,6], target = 6 Output: [[2,2,2], [2,4], [6]] Explanation: Uses backtracking to find all valid combinations that sum to 6, allowing for explicitly repeated elements.
codingmedium
Sign up for a personalized interview prep pack tailored to this role.
