Staff Fullstack Engineer
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 fintech company 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.
We are seeking a highly motivated and experienced Staff Fullstack Engineer, leaning more Front End, to join our Account Creation team at SoFi. The goal of the Account Creation team is to build enablers that support the seamless creation of member accounts at SoFi. 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 and scalable software applications.
- 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
- 6+ years of programming experience, ideally on a modern stack.
- Strong expertise in back-end technologies and programming languages, such as Node.js, Python, Java/ Kotlin/ Spring / PostgreSQL, and we run on Kubernetes in a service-oriented architecture with over 100 services in production
- 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
- Experience working on an SOA or microservice-based application.
Nice to have:
- Experience scaling highly available, mission-critical systems
- Test-driven development along with unit and integration testing.
- Flutter Development Experience: Experience with Flutter, Google's UI toolkit for building natively compiled applications for mobile, web, and desktop platforms, would be a valuable addition.