SoFi is a next-generation financial services company and national bank that is changing the way people think about personal finance. The Senior Software Engineer will design and develop solutions for the Test Platform team, focusing on enhancing the testing and reliability standards for backend and web applications while integrating AI-driven automation.
Responsibilities:
- Design, develop, and maintain software and systems that enable engineers to test backend and web applications, delivering reliable and scalable solutions
- Collaborate with product engineering teams to understand requirements and design platform capabilities that are efficient, robust, and developer-friendly
- Provide technical leadership for initiatives in Testing and Reliability, with a focus on integrating AI-driven automation and autonomous testing practices
- Architect and implement solutions that accelerate integration, load, performance, and chaos testing—including the use of AI for automated test generation, selection, and failure analysis
- Deliver software that enables seamless testing and operation of backend systems in cloud-native, containerized, and CI/CD environments, supporting shift-left and continuous delivery
- Research, prototype, and productionize AI/ML tools to enhance developer productivity, test coverage, and test maturity
- Lead code reviews, refactoring, and provide constructive feedback to team members, promoting a culture of continuous improvement
- Champion best practices for code health, test automation, environment stability, and software maintainability, contributing to the evolution of autonomous testing at SoFi
Requirements:
- Bachelor's or Master's degree in Computer Science, Software Engineering or a related technical field
- 5+ years of software development experience
- Experience developing in a cloud environment (AWS), using containers (e.g., Docker, Kubernetes), cloud-native technologies and service meshes (e.g., Istio, Envoy)
- Strong understanding of software design principles, and distributed systems architecture
- Proven programming skills (Java, Kotlin, Python, Go) in developing enterprise scale systems
- Expertise in automated testing strategies, testing in production, test tenancy, API mocking, traffic capture, routing and playback technologies
- Excellent problem-solving skills and ability to think strategically about the Testing and Reliability domains
- Ability to manage and deliver projects from scoping through launch
- Effective communication and collaboration, and proven skills to operate effectively in a cross-functional team
- Experience with load testing (e.g., Locust, Artillery), E2E testing (e.g., Cypress), failure injection and chaos testing (Gremlin, AWS FIS) technologies
- Experience with monitoring and logging (e.g. Datadog, Elastic, Splunk)
- Familiarity with CI/CD pipelines and tools (e.g., Argo, GitLab CI/CD)
- Experience with security and compliance requirements in cloud environments