Staff Software Engineer
Job description
About the role
EarnIn is seeking a Staff Software Engineer to own the design and execution of critical initiatives within the Growth team, driving the evolution of our real-time financial tools that help people manage money without interest or hidden fees. In this role, you will architect and build new features that simplify complex technical challenges into maintainable, scalable code while balancing user experience with system reliability. You will develop and oversee microservices communication using REST and gRPC APIs, ensuring robust data consistency and efficient patterns for service interaction. A core part of your ownership will involve mentoring senior engineering staff through architectural oversight, design reviews, and detailed code feedback to elevate the overall quality of our codebase. You will leverage AI-assisted development tools to accelerate debugging, streamline implementation, and enhance design tasks across the entire feature lifecycle. Additionally, you will play a key role in hiring and onboarding new engineers while leading cross-functional engineering projects that align with business objectives. You will set technical roadmaps, manage project risks, and define realistic project timelines to ensure successful delivery. Finally, you will operate with autonomy in a fast-paced environment, making impactful decisions that directly influence member acquisition and onboarding strategies.
Key facts
What you'll do
- Architect and build new features by simplifying complex technical challenges into maintainable code, ensuring long-term scalability and performance.
- Develop microservices using REST and gRPC APIs while managing data consistency and communication patterns across distributed systems.
- Mentor senior engineering staff through architectural oversight, design reviews, and code feedback to foster a culture of technical excellence.
- Set technical roadmaps, manage project risks, and define project timelines, balancing scope, resources, and business priorities.
- Use AI-assisted development tools to speed up debugging, implementation, and design tasks, integrating them effectively into your workflow.
- Assist with hiring, onboarding, and leading cross-functional engineering projects, collaborating closely with product and design teams.
- Implement solutions that optimize member acquisition and onboarding, focusing on seamless user journeys and conversion rate improvements.
- Manage and optimize interactions with both relational and document databases to support flexible and efficient data storage strategies.
- Ensure clean architecture principles are applied consistently, promoting separation of concerns and testability across all services.
- Maintain and evolve backend services in C# and Kotlin, demonstrating mastery of language-specific features and ecosystem best practices.
Requirements
- Hold a Bachelor, Master, or PhD in Computer Science, Computer Engineering, or equivalent practical experience with a strong portfolio.
- Bring a minimum of 7 years of professional software engineering experience in collaborative settings, with a proven track record.
- Demonstrate deep knowledge of distributed system architecture and the ability to perform thorough trade-off analysis in design decisions.
- Show proficiency in at least one modern programming language, with the ability to quickly work in C# and Kotlin for backend development.
- Have a solid background in clean architecture principles and patterns, applying them to create maintainable and testable codebases.
- Possess experience managing both relational and document databases, including schema design, indexing, and query optimization.
- Have daily experience using AI-native tools like GitHub Copilot, Cursor, or ChatGPT to enhance productivity and code quality.
- Exhibit strong verbal and written communication skills, with the ability to work independently in a fast-paced, deadline-driven environment.
- Understand the implications of compliance and data handling within financial services, especially regarding earned wage access products.
- Thrive in a hybrid work model, balancing in-office collaboration with remote productivity to meet team expectations.
Nice to have
- Experience working across the full stack, including mobile and web environments, to enable end-to-end feature ownership.
Practical notes
EarnIn uses AI tools during the hiring process for tasks like resume review and interview summarization. All final hiring decisions are made by human staff. You may decline to have interviews recorded without impacting your candidacy. The company participates in E-Verify. Unsolicited resumes from third-party recruiters are not accepted.