Staff Software Engineer, Bank
Role summary
SoFi is seeking a Staff Software Engineer to lead the technical architecture and development of its new Commercial Banking product. This hands-on role involves designing and building core systems for payment orchestration, client onboarding, real-time settlement, and identity management. The ideal candidate will have deep expertise in distributed systems, JVM-based stacks (Kotlin/Java, Spring Boot), modern infrastructure (Kubernetes, AWS/GCP), and API design. Experience with stateful workflow systems and financial systems is highly preferred. You will set technical standards, mentor engineers, and drive cross-team alignment to ensure the delivery of reliable, production-critical systems handling institutional money.
Employee Applicant Privacy Notice
Who we are:
Shape a brighter financial future with us.
Together with our members, we’re changing the way people think about and interact with personal finance.
We’re a next-generation financial services company and national bank using innovative, mobile-first technology to help our millions of members reach their goals. The industry is going through an unprecedented transformation, and we’re at the forefront. We’re proud to come to work every day knowing that what we do has a direct impact on people’s lives, with our core values guiding us every step of the way. Join us to invest in yourself, your career, and the financial world.
The Role
SoFi is launching a brand-new commercial banking product — and we need a Staff Software Engineer to be its technical backbone.
Commercial Banking is SoFi's entry into institutional commercial banking. We're building the infrastructure that lets large institutional clients in crypto, fintech, and enterprise finance manage their money at SoFi — real-time payments, multi-account treasury management, and a closed-loop settlement network that operates 24/7/365. The systems you design will handle real institutional money from day one. The network you help architect — SEN (SoFi Exchange Network) — could become the default settlement rail for the industry.
As the Senior Staff Engineer on the Commercial Banking team, you'll be the technical leader the team looks to for the hardest problems — system design, API contracts, payment correctness, performance, and reliability. You'll set the technical bar, make architectural decisions that stick, and write the code that proves them out. This is a hands-on role: you'll be deep in the codebase while also shaping the direction for the engineers around you.
What You'll Do
Architect and Build
Set the Technical Standard
Lead Through Influence
Make It Production-Ready
What You'll Need
Nice to Have
SoFi provides equal employment opportunities (EEO) to all employees and applicants for employment without regard to race, color, religion (including religious dress and grooming practices), sex (including pregnancy, childbirth and related medical conditions, breastfeeding, and conditions related to breastfeeding), gender, gender identity, gender expression, national origin, ancestry, age (40 or over), physical or medical disability, medical condition, marital status, registered domestic partner status, sexual orientation, genetic information, military and/or veteran status, or any other basis prohibited by applicable state or federal law.
The Company hires the best qualified candidate for the job, without regard to protected characteristics.
Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.
New York applicants: Notice of Employee Rights
SoFi is committed to an inclusive culture. As part of this commitment, SoFi offers reasonable accommodations to candidates with physical or mental disabilities. If you need accommodations to participate in the job application or interview process, please let your recruiter know or email accommodations@sofi.com.
Due to insurance coverage issues, we are unable to accommodate remote work from Hawaii or Alaska at this time.
Sample SoFi interview questions
- 1
Develop a real-time system for managing traffic and rerouting.
system designmedium - 2
Reverse Nodes in k-Group Reverse nodes in k-group in a linked list. Input: head = [1,2,3,4,5], k = 3 Output: [3,2,1,4,5] Explanation: The first 3 elements are reversed, while the remaining 2 are left untouched since they don't form a complete group.
codingmedium - 3
Clone an Undirected Graph Clone an undirected graph. Input: adjList = [[]] Output: [[]] Explanation: Creates a new, deeply cloned graph containing only one single node with zero connected neighbors.
codingmedium - 4
Longest Substring with Two Distinct Characters Find the longest substring with at most two distinct characters. Input: s = "ccaabbb" Output: 5 Explanation: The substring "aabbb" contains exactly two distinct characters and has a maximum length of 5.
codingmedium - 5
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
Sign up for a personalized interview prep pack tailored to this role.