Staff Software Engineer, Credit Card (Contract)
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 Staff Software Engineer to join our team. We are working hard to design a future looking framework, with aims to scale our customer base, continue to delight existing customers, and disrupt the Credit Card industry - bringing more unique and personalized benefits to our customers. We are constantly building more resiliency around the SoFi Credit Card in order to ensure the trust and safety of our members, and operational excellence of our services.
The ideal candidate is a technical and innovative individual contributor who can help guide the overall vision of their team as well as the broader Credit Card organization. We are looking for engineers who can bring fresh perspectives, thought leadership, vision and help us scale for the future. Those with a high sense of ownership, empathy, and disruption will thrive in our team, especially those who inspire others to bring their best to our mission. 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, implementation, deployment, continued improvement and evolution.
What you’ll do:
- Full development life-cycle design from project requirement to deployment.
- Work on automation and improvement of data exchanges and data pipelines between internal and external teams.
- Facilitate the definition of project scope, deliverables, and goals.
- Lead cross-functional delivery teams to ensure deliverables are met.
- Track project performance against defined milestones/goals.
- Conduct process improvement projects to increase performance in vital program metrics.
- Communicate ongoing project health with key stakeholders and business leadership
- Maintain strict compliance with established project management policies and guidelines.
- Take initiative and produce timely results in a fast-paced and sometimes ambiguous environment.
- Make significant contributions to the code base.
- Define best practices and uphold coding standards.
- Consistently demonstrate extremely high levels of technical knowledge, ingenuity, and creativity.
- Develops and applies advanced technologies, engineering principles, theories, and concepts. Broad knowledge about the design and operation of systems outside of specialty.
- Work within the Engineering team to develop features that specifically benefit our users.
- Must be able to deliver high-quality code on schedule, communicate with groups in and outside the development team.
What you’ll need:
- Bachelor’s Degree, Computer Science Degree or equivalent from a fully-accredited college or university.
- 6+ years Java programming experience.
- Our core stack is Java/ Kotlin/ Spring / PostgreSQL/ React, and we run on Kubernetes in a service oriented architecture with over 100 services in production.
- 2+ years Java, Kotlin or Scala programming experience.
- A proven understanding of relational databases and ORMs.
- Experience working on a SOA or microservice-based application.
- Willingness to roll up your sleeves, collaborate with others and get stuff done.
- Solid sense of responsibility; driving a project from inception to completion.
- Affinity for solving problems and shipping impactful features, not polishing perfect code or architecture.
- Experience working in a collaborative coding environment, refining designs together, working through code reviews and managing pull requests.
Nice to have:
- Good knowledge of Continuous Integration (CI) and Continuous Deployment (CD)
- Knowledge in analytics, metrics, and monitoring integrations.
- Test-driven development along with unit and integration testing.