Senior Software Engineer, Full Stack - Experimentation Platform
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 highly motivated and experienced Senior Fullstack Engineer to join our Experimentation Platform team at SoFi. The goal of the Experimentation Platform team is to build a trustworthy, simplified and unified experimentation platform that democratizes the ability to run high-quality experiments, foster data-informed decision-making, and increases experimental velocity for stakeholders of all technical expertise levels at SoFi.
As a Senior Software Engineer, you will work alongside our experienced team of Data Scientists, Engineers and Product Managers to develop and maintain our cutting-edge experimentation platform. This is a high impact role where your contributions will not only improve the experimentation lifecycle, culture for teams at SoFi but also enhance the overall product experience for our users. You will be involved in the entire product lifecycle, from ideation through building, testing, deploying, monitoring, and supporting mission-critical systems.
The ideal candidate is both forward-thinking and hands-on, has a strong sense of ownership, is a self-starter, drives for delivery, approaches complex questions with data & curiosity, dives below the surface to identify the root cause, and is a good mentor and co-worker.
What you’ll do:
- Full Stack Development: Collaborate with cross-functional teams to design, architect, and implement end-to-end solutions that encompass both front-end and back-end components. Utilize your expertise in various programming languages, frameworks, and technologies to deliver high-quality, distributed and scalable solutions.
- Front-end Development: Take ownership of the user interface and user experience (UI/UX) design, ensuring visually appealing and responsive interfaces. Implement intuitive and interactive features using HTML, CSS, and JavaScript, and be committed to creating a seamless and enjoyable user experience.
- Back-end Development: Design and develop robust, scalable, and secure server-side applications and APIs. Work with databases and data models to manage and store information effectively. Optimize performance and maintain system stability.
- Architecture and Design: Participate in architecture discussions and provide valuable insights to drive technical decisions. Ensure that software design patterns and best practices are followed throughout the development process.
- Testing and Quality Assurance: Conduct thorough testing of software components, including unit testing, integration testing, and end-to-end testing, to ensure the reliability and functionality of the applications.
- Continuous Improvement: Keep abreast of industry trends, best practices, and emerging technologies in software development. Advocate for process improvements and adopt new tools and technologies to enhance productivity and efficiency.
- Code Review and Mentorship: Review code contributions from junior developers and provide constructive feedback to promote code quality and maintain coding standards. Act as a mentor and share your knowledge and expertise with team members to foster their growth.
- Documentation: Create and maintain technical documentation for developed software, APIs, and processes to ensure comprehensive understanding and knowledge transfer.
What you’ll need:
- Bachelor’s Degree, Computer Science Degree, or equivalent from a fully-accredited college or university
- 4+ years of programming experience, ideally on a modern stack.
- Experience in front-end technologies such as HTML, CSS, JavaScript, and modern frameworks like React or Angular.
- Strong expertise in back-end, data, cloud technologies and programming languages, such as Python, Java/ Kotlin/ Spring / SQL, Snowflake, Kafka, Airflow, dbt, AWS services, docker/K8s.
- Knowledge of RESTful API design and implementation.
- Willingness to roll up your sleeves, collaborate with others and get stuff done
- Strong sense of responsibility and ownership, driving a project from inception to completion
- Affinity for solving problems and diving deep into the details
- Experience working in a collaborative coding environment, refining designs together, working through code reviews, and managing pull requests
- Excellent communication and collaboration skills
Nice to have:
- Experience working on A/B testing, experimentation, feature rollout, and dynamic configuration.
- Awareness of experimentation SaaS tools in the industry
- Experience scaling highly available, mission-critical systems
- Experienced with finance / fintech or enthusiastic to learn and grow in this space.