Software Engineer, Account Linking
Job description
About the role
You own and ideate on technical solutions for product requirements and user stories with minimal supervision while participating heavily in code and design reviews. You deliver resilient and scalable code that powers secure connections between financial institutions and third-party services. You communicate engineering concepts and efforts with outside stakeholders in product marketing, operations, business, legal, and compliance to ensure alignment on integration strategies. You work in a fast-moving, highly collaborative environment across multiple offices, leveraging your expertise to solve complex linking challenges. You use different object-oriented programming languages to build performant and scalable applications within a cloud-based microservice architecture. You participate in shaping the technical architecture of the product to support evolving product initiatives. You generate ideas for new initiatives and technologies that enhance the account linking experience and improve reliability. You contribute to best practices that ensure security, compliance, and maintainability across the engineering organization.
Key facts
What you'll do
Investigate and resolve complex account linking failures across multiple financial institutions and integration points.
Design and implement robust APIs that enable secure and reliable connections between SoFi products and external financial systems.
Collaborate with product managers and stakeholders to translate business requirements into technical specifications for linking workflows.
Write clean, testable, and maintainable code that adheres to strict security and compliance standards for financial data.
Optimize existing linking pipelines to improve performance, reduce latency, and enhance error handling capabilities.
Partner with data teams to validate data integrity and consistency across linked accounts and transaction flows.
Lead debugging efforts for edge cases involving multi-institution connections and legacy banking interfaces.
Document technical designs, integration patterns, and operational procedures to support long-term maintainability.
Mentor junior engineers by providing guidance on architecture decisions, code reviews, and testing strategies for linking features.
Contribute to the evolution of microservices that support account linking, ensuring scalability and fault tolerance in production.
Evaluate emerging standards and protocols in financial data connectivity and propose adoption strategies where appropriate.
Work within an agile delivery framework to plan, execute, and iterate on linking improvements in coordination with cross-functional teams.
Monitor production incidents related to account linking and drive root cause analysis and remediation efforts with operational partners.
Engage in architectural discussions that shape the future direction of SoFi's integration ecosystem and platform roadmap.
Promote engineering excellence through continuous learning, knowledge sharing, and the adoption of best practices across the team.
Requirements
Master's degree in Computer Science, Engineering (any field) or related quantitative discipline and (2) two years of experience in the job offered or in a related occupation.
Demonstrate proficiency in modern object-oriented programming with at least two years of hands-on experience in languages such as Java or Kotlin.
Show practical experience designing and consuming REST APIs in distributed systems and microservice environments.
Possess a strong understanding of relational databases and SQL for data querying, schema design, and optimization.
Demonstrate familiarity with NoSQL databases and appropriate use cases for flexible data models in application layers.
Have concrete experience building, deploying, and operating microservices in a cloud-native environment.
Showcase expertise with Docker for containerization and packaging applications for consistent deployment across environments.
Demonstrate working knowledge of Apache Kafka for building event-driven architectures and streaming data pipelines.
Bring hands-on experience with React for building user interfaces that interact with backend linking services.
Experience with Spring Boot is required to effectively develop and maintain Java-based services and integrations.
Ability to work effectively in a hybrid environment, splitting time between remote collaboration and in-person collaboration at SoFi offices in San Francisco.
Commitment to following security policies and regulatory requirements relevant to financial services and data privacy.
Strong written and verbal communication skills to articulate technical concepts to both engineering and non-engineering stakeholders.
Capacity to manage multiple priorities in a fast-paced environment while maintaining attention to detail and high-quality output.
Nice to have
Experience with financial data aggregation and banking APIs such as Plaid or Finicity.
Familiarity with payment rails, settlement flows, and transaction reconciliation processes.
Knowledge of authentication protocols like OAuth and experience with secure token management.
Understanding of fraud detection patterns and risk scoring mechanisms in financial applications.
Experience contributing to open source projects or publishing reusable libraries used in production systems.
Background in mobile SDK integration for account linking on iOS or Android platforms.
Familiarity with observability tools and practices including logging, metrics, and distributed tracing.
Experience with infrastructure as code tools and cloud provider services such as AWS, GCP, or Azure.
Practical notes
Hybrid work from Social Finance offices in San Francisco, CA. Part-time telecommuting is an option.