Software Engineer, Database Platform
SoFi (View all Jobs)
UT - Cottonwood Heights; WA - Seattle
Programming Languages Mentioned
Python, Java
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:
The Operational Database Platform team at SoFi builds and maintains scalable, reliable, and secure software solutions powering our Operational Database Platform. We handle massive data volumes, ensuring high performance, redundancy, and security.
We’re seeking a Software Engineer to assist in backend development, cloud technologies, and automation. You’ll work under the guidance of senior engineers to create tools, automate processes, and collaborate across teams to improve infrastructure reliability and performance. This role suits an enthusiastic learner who is eager to gain hands-on experience building efficient, scalable systems in dynamic, data-intensive environments.
What you'll do:
- Assist in Design and Development: Help build scalable software solutions and tools to support the operational needs of SoFi’s database platform under the guidance of senior engineers.
- Collaborate: Work closely with operations and engineering teams to learn how to design and implement efficient, durable, and scalable systems.
- Support Performance Optimization: Assist in analyzing system bottlenecks and implementing improvements to ensure high performance and reliability, under supervision.
- Support Automation Processes: Help develop and maintain automation scripts and tools to streamline workflows and improve operational efficiency.
- Contribute to Enabling Teams: Help create self-service tools and APIs that empower application teams to manage and interact with the platform efficiently, with mentorship.
- Learn Best Practices: Observe and learn software engineering and system architecture best practices for data-intensive applications.
- Assist in Monitoring and Maintenance: Help implement observability tools to ensure system health and quickly identify issues, under guidance.
- Learn from Mentors: Learn from and be mentored by senior engineers in technical best practices and contribute to a culture of engineering excellence.
- Assist with On-call Support: Participate in assisting with the on-call rotation to address urgent issues, ensuring minimal disruption to the platform, with support from senior team members.
What you'll need:
- Bachelor’s degree in Computer Science, Engineering, or a related field, or equivalent work experience.
- 2+ years of software development experience, or relevant coursework and projects, with an interest in backend development for distributed systems.
- Programming Exposure: Some proficiency in modern programming languages (e.g., Python, Java, Go).
- Cloud Awareness: Basic understanding of cloud environments, particularly AWS.
- Interest in Automation: Enthusiasm to learn how to automate repetitive tasks and processes using appropriate tools and frameworks.
- Familiarity with Monitoring Concepts: Basic knowledge of monitoring tools like DataDog, Splunk, or CloudWatch concepts.
- Version Control & CI/CD Introduction: Basic understanding of Git and CI/CD pipelines (e.g., GitLab CI, Jenkins).
- Configuration Management Exposure: Interest in learning about tools like Terraform, Ansible, Puppet, or Chef for managing infrastructure and deployments.
- Database Knowledge: Basic understanding of relational database systems and their performance considerations.
- Eager to learn and strong problem-solving skills.
- Good communication skills for learning from and collaborating with team members.
Bonus areas:
- Interest in working with highly distributed systems.
- Desire to learn about modern database technologies and open-source tools.
- Curiosity about Schema as Code principles to manage data infrastructure effectively.
Who you are:
- Enthusiastic Learner: Eager to learn and contribute to building scalable, efficient cloud-based solutions.
- Collaborative Team Member: Ready to support technical solutions and foster teamwork.
- Problem Solver: Willing to tackle technical challenges and learn about driving reliability and performance improvements.
- Continuous Learner: Excited to stay current with technologies and bring fresh ideas to the team.
- Mentee: Open to receiving guidance and support from peers and contribute to a collaborative culture.
- Adaptable: Willing to learn in fast-paced environments and manage shifting priorities under guidance.