Senior Software Engineer, Chat
SoFi
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:
We are seeking a Senior Software Engineer to join the Chat engineering team at SoFi. This team will play a pivotal role in supporting our members' financial journeys by developing an intelligent, conversational AI-powered chat interface. This system will help streamline support queries from members and provide personalized financial insights and guidance. Chat is a critical component of how members interact with SoFi and building it will require a thoughtful approach to UI and product experience.
The ideal candidate is collaborative, product-minded, and pragmatic, with a strong sense of ownership and accountability for the quality of both the code and finished product. At SoFi, we pride ourselves on the collaboration between Product, Design and Engineering and so you will be involved in the entire product lifecycle, from ideation through building, deploying and continual improvement and evolution. We also pride ourselves on a philosophy of continuous learning, and you should likewise be committed to furthering your own career growth as well as to providing mentorship for your fellow team members
What you’ll do:
- Lead the design, development and testing of software services
- Lead code and system design reviews
- Help translate product requirements into user stories and technical solutions
- Mentor other engineers, support the technical culture, and help grow the team
- Generate ideas for new initiatives and technologies
- Communicate with project leads, product managers and other software developers
- Take initiative and produce timely results in a fast-paced and sometimes ambiguous environment
What you’ll need:
- Bachelor’s Degree, ideally in a technical field, but we understand great engineers come from all sorts of different backgrounds and also consider relevant work experience
- 4+ years programming experience, ideally on a modern stack
- Our core stack is Kotlin / Spring / PostgreSQL, and we run on Kubernetes in a service oriented architecture with over 100 services in production.
- You should have 2+ years Java or Kotlin programming experience
- You should have a strong understanding of relational databases and ORMs
- You should have worked on a SOA or microservice-based application
- Experience working with applications that leverage Large Language Models (LLMs), such as integrating LLMs, designing prompts, or exploring their practical applications.
- Strong sense of ownership; driving a project from inception to completion
- Pragmatic approach towards handling tech debt versus shipping new features
- Experience working in a collaborative coding environment, refining designs together, working through code reviews and managing pull requests
Nice to have:
- Experience working with asynchronous systems and event based systems (queues, streams)
- Experience working with various emerging LLM technologies, including Retrieval-Augmented Generation (RAG), prompt engineering, or AI agents.
- Experience with Natural Language Processing (NLP) or conversational AI, including building chatbots, virtual assistants, or similar systems.
- Experience scaling highly available, mission critical systems
- Full-stack experience across Backend and Front-end (javascript/typescript, react)