As a member of our development team, the Sr. Java Developer will design and develop high volume,low latency applications for mission-critical systems, delivering high availability. You will support webbased
application development and maintenance, and contribute to and grow our software engineeringcompetency. The Sr. Java Developer must have broad experience in web application development.The Sr. Java Developer provides input and support for and performs full systems life cycle managementactivities (e.g., analysis, technical requirements, design, coding, testing, implementation, etc.) ofapplication software. This position collaborates with teams and supports emerging technologies toensure effective communication and achievement of objectives. This position provides knowledge andsupport for applications development, and integration and maintenance.The selected candidate must have excellent communication skills and strong organizational skills, beable to meet deadlines, as well as interact effectively with other developers, and management.
Responsibilities:- End-to-end responsibility for projects of increasing complexity that encompass more than their owndevelopment- Be independent with little oversight beyond high level direction, works on complex tasks andcompletes them despite roadblocks, including debugging techniques- Appropriately scope high-level project requirements, find a solution, implement and launch thatsolution- Help large groups of engineers deliver complex projects with drama-free launches, owning thetechnical testing and performance planning side of these projects- Deliver software on-time and improve the accuracy of team’s estimations- Understand the business that their code supports, and possess empathy for the users of their software,using this understanding to influence their task prioritization- Understand the tradeoffs between technical, analytical and product goals, and strive to createsolutions that satisfy all of these goals- Know how to not only identify technical problems and create solutions, but are also able to get crossteambuy-in for their solutions and manage projects to make these solutions come to life- Write consistently high-quality code, deliver features to QA that they believe are well-baked and bugfree,being aware of industry best practices and trends- Be known outside of their core team as a technology leader, working effectively with non-techmembers of their pillar. Ability to identify problems with requirements and help their team coursecorrectaround these issues- Involved in setting the standards for the entire organization and providing technical advice anddecision-making that affects not only their group but other teams or the company at large- Research and propose new technologies, and have a broad understanding of the entire architecture, aswell as very detailed understanding of their area- Identify big issues and opportunities in the technology and organization, and work across teams tocreate solutions to these issues- Proactively identify and clean up technical debt before it turns into a long-term problem, andencourage and enable their team to do the same- Identify risks in code, features, and design, and communicate these to the appropriate parties- Set the direction in some major part of the technology for their pillar and have a major role in the pillaror team’s decision-making process- Participate in architecture designs providing feedback and also providing designs with guidance fromthe architecture team, as appropriate- Ability to identify and suggest areas of future work for themselves and others while contributing to thecommon standards for the team- Balance leadership and individual contribution by providing extensive mentoring of junior teammembers while maintaining deep individual contribution- Seek evidence to support their ideas and start to build cases for these ideas- Support deployment releases as needed and maintain the application once it’s in production
Qualifications and Education Requirements:
- BS/MS degree in Computer Science, Engineering or a related subject- Proficiency in Java and Enterprise Java technologies and development- Expert in the Spring framework (Spring, Spring MVC, Spring Boot, Spring Security, etc)- Expert in designing and implementing RESTful web services- Expert building web applications from the ground up- Experience converting business requirements into technical design documents- Ability to write well-designed, testable, efficient code- Knowledge of or working experience with CI/CD pipelines; including technologies such as Docker,Jenkins/Concourse- Experience with cloud technologies, such as GCP- Agile (scrum) based delivery practices, test driven development, test automation, and continuousdelivery- Solid understanding of object-oriented principles- Demonstrated success in building design patterns and software engineering best practices- Experience with Oauth2- Solid understanding of hibernate- Solid understanding of microservices- Excellent knowledge of Relational Databases, SQL and NoSQL- Experience with maven- Experience with JBoss application server- Experience with Java Messaging- Understanding of gitflow workflow- Spanish: Native- English: Excellent command / highly proficient in spoken and written English
Experience:- Java: 5+ years- Spring: 4+ years- CI/CD: 2+ years