Senior Software Engineer

Oportun
Summary
Join Oportun's engineering team as a Senior Software Engineer and play a key role in designing, developing, and maintaining sophisticated software solutions. You will leverage your expertise to solve business problems, contribute to architectural decisions, mentor junior engineers, and collaborate with cross-functional teams. This role involves leading technology efforts for large initiatives, from requirements gathering to final product delivery. You will ensure adherence to best practices and high-quality standards, while contributing to the ongoing evolution of team tools and applications. Your responsibilities include troubleshooting, root cause identification, and issue resolution, maintaining system reliability and performance. You will independently drive and lead multiple features and projects.
Requirements
- Extensive proficiency in Java Programming Language
- 5+ years of experience in working with Spring boot and Microservices
- 5+ years of experience in working with relational databases and SQL
- 2+ years of experience in working with document style database like MongoDB, DynamoDB etc
- 2+ years of experience working on application being deployed to Kubernetes environment
- Prolonged experience with getting 80%+ code coverage with no reliability on manual testing but depend solely on automated testing
- Typically requires a minimum 6 years of related experience with a Bachelor's degree; or a Master's degree with an equivalent combination of education and experience
- Proven track record of delivering sophisticated software solutions with high quality
- Strong understanding of data structures, algorithms, and software design principles
- Solid grasp of version control systems, such as Git
- Proven ability to mentor and lead other engineers, fostering a collaborative and supportive work environment
- Exceptional problem-solving and analytical skills, with a passion for tackling complex technical and business problems. challenges
- Excellent communication and interpersonal abilities, with a track record of effectively collaborating in a team-oriented environment
Responsibilities
- Actively contribute to the end-to-end delivery of complex software applications, ensuring adherence to best practices and high overall quality standards
- Collaborate closely with product managers, designers, and fellow engineers to understand business needs and translate them into effective software solutions
- Provide technical leadership and expertise, guiding the team in making sound architectural decisions and solving challenging technical problems. Your solutions anticipate scale, reliability, monitoring, integration, and extensibility
- Conduct code reviews and provide constructive feedback to ensure code quality, performance, and maintainability
- Mentor and coach junior engineers, fostering a culture of continuous learning, growth, and technical excellence within the team
- Play a significant role in the ongoing evolution and refinement of current tools and applications used by the team, and drive adoption of new practices within your team
- Take ownership of (customer) issues, including initial troubleshooting, identification of root cause and issue escalation or resolution, while maintaining the overall reliability and performance of our systems
- Set the benchmark for responsiveness and ownership and overall accountability of engineering systems
- Independently drive and lead multiple features, contribute to (a) large project(s) and lead smaller projects. Orchestrate work that spans multiples engineers within your team and keep all relevant stakeholders informed. Support your lead/EM about your work and that of the team, that they need to share with the stakeholders, including escalation of issues
Preferred Qualifications
- Demonstrated experience in web application development, RESTful APIs, and frontend technologies (e.g., HTML, CSS, JavaScript)
- Experience with cloud technologies, preferably AWS or Azure