Senior Software Engineer

Logo of Oportun

Oportun

πŸ“Remote - India

Job highlights

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 delivery. You will ensure high-quality, scalable software solutions that advance Oportun's market impact. The position requires extensive Java proficiency, database experience, and a proven track record of delivering high-quality software.

Requirements

  • Extensive proficiency in Java Programming Language
  • 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
  • Kubernetes working knowledge

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.