- Onsite in San Francisco location 1-2x per week
The role:
We are seeking a Staff 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:
- Drive technical architecture, design decisions and cross-functional discussions for the product
- Deliver highly available and scalable services in a production environment
- Lead the design, development and testing of systems
- 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
- Consistently demonstrate extremely high levels of technical knowledge, ingenuity, and creativity. Develop and apply advanced technologies, engineering principles, theories, and concepts. Broad knowledge about the design and operation of systems outside of specialty
- 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
- 6+ 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 4+ 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 asynchronous systems and event based systems (queues, streams)
- 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 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)