SR. Java Software Engineer Job Description Template
Our company is looking for a SR. Java Software Engineer to join our team.
Responsibilities:
- Help recruit great software engineering teams;
- Collaborate between cross-functional teams;
- Work with business users to clarify requirements;
- Test and debug applications using both coded and manually executed test cases;
- Implement high quality, secure and maintainable code that conforms to Esurance coding standards;
- Coordinate with other teams to facilitate the build, deployment, configuration and support of applications;
- Develop applications using standard software design patterns and best practices;
- Work with Product Managers to build the right software;
- Conduct code reviews and mentor any junior team members in the team;
- Researching and developing solutions to meet enterprise wide needs;
- Strategizing about roadmap development with product management & senior leadership;
- Performing A/B tests for bidding algorithms;
- Writing high-impact code in a variety of languages, primarily Java and Python;
- Strong sense of commitment and responsibility;
- Using agile planning frameworks to implement cutting edge machine learning.
Requirements:
- Master’s degree in Computer Science;
- Java/Spring;
- Experience creating end to end data pipelines as well as CI/CD pipelines for application delivery;
- 5+ years of professional software development experience;
- noSQL, relational databases;
- Experience in leading an engineering team;
- At least 1 years of experience implementing and maintaining RESTful APIs;
- At least 2 years of experience in software development including design, coding and testing;
- At least 2 years of experience with Java and Java frameworks including Spring or Spring Boot;
- Experience designing data models and structures to store various kinds of data in different formats;
- Unit testing experience;
- Experience with any cloud platform like AWS, Azure, and/or Google Cloud;
- Bachelor’s degree;
- Working with REST APIs.