Position: Lead Java Backend Developer
Company: GlobalLogic
Category: Java
Experience required: 5y
English level: upper

**Job Description**
Java Developer with experience in building high-performing, scalable, enterprise-grade applications. Successful candidates will be a part of a talented software team that works on cutting-edge, mission-critical applications.

**Technical and Educational Requirements:**
- BS/MS degree in Computer Science, Electrical/Mechanical Engineering or a related subject with 4 to 8 years of experience;
- Hands-on experience in designing and developing applications using Java EE/Spring platforms;
- Object Oriented analysis and design using established and tested enterprise design patterns;
- Excellent in Data Structures and Algorithm building using Java;
- Experience with Microservices Architecture;
- Excellent knowledge of Relational databases and ORM technologies (JPA2, Hibernate);
- Experience in Spring Framework, Spring Boot and web applications development using at least one popular web framework (JSF, Wicket, GWT, Spring MVC);
- Experience with test-driven development;
- Experience with AWS Services will be an advantage;
- Experience in manufacturing, energy, and industrial domains will be a plus;
- Knowledge of Kubernetes infrastructure would be a plus;
- Knowledge of React JS will be an advantage.

**Job Responsibilities**
Role and responsibility include working on Java/Java EE microservice development team while providing expertise in the full software development lifecycle, from concept and design to testing.

- Designing and developing a modern, enterprise-class solution that is available as Cloud (SaaS) and on-premises versions. The solution is based on a microservice architecture with Kubernetes, Kafka, and Docker technologies on board;
- Following best software development practices that result in very good code quality (doing unit tests, code reviews, and knowledge sharing);
- Working in a cross-disciplinary team using the Agile development methodology;
- Sharing your knowledge and experience with other team members.
- Hands-on development;
- Maintaining a high bar on quality within the agreed timelines;
- Requirement analysis and elaboration at the feature and story level along with the team and Product Owners.;
- Story refinement & analysis, scenario definition, technical planning and tracking for timely delivery and quality;
- Ensure delivery as per agreed solution design/architecture and performance criteria;
- Write high-quality maintainable production-grade code as per the defined architecture and designs;
- Write high-quality maintainable unit & parameterized tests to test production code in an automated fashion;
- High/Low Level design – designing feature level solution, REST API Contract (preferably OpenAPI/Swagger spec), Event Contracts as per pre-defined guidelines and specifications;
- Write API level Test cases as per the scenarios described by QA/BA/Other Development team members. The quality of all Test Code should also be of production-grade;
- Deliver continuous improvement to technologies and processes in alignment with the architecture team;
- Documentation as per defined process and following pre-defined methodology;
- Participation and contribution to the release activities and coordination.

**Department/Project Description**
A project within the Energy domain that covers Asset Performance Management and is designed to provide health and performance insights to prevent critical asset failures while optimizing asset lifecycle costs. The software you will be working on will help clients to:
- Increased reliability by identifying, prioritizing, and resolving risks;
- Reduce maintenance costs by replacing ineffective time-based practices;
- Lower capital expenditures by extending asset lifespan.