Position: Lead Java Developer (Poland, Krakow)
Company: GlobalLogic
Category: Java
Experience required: 5y
English level: upper
Published: 2023-01-01T00:00:00+02:00

Our client is a well-known brandin the construction domain. They have offices all around the world and a great technical team. You’ll be a part of the existing team of 25 people working on the complex multi-domain/language website and will have direct access to Product Owners and back-end developers

Requirements:
We are looking for a Lead Java Developer with at least 4-5 years of commercial experience in development of Java enterprise applications.

Important to have:
• Java 8+ (core, lambdas, stream, collections, concurrency)
• Good OOP (SOLID principles)
• Experience with Spring Boot
• Understanding of multithreading, concurrency issues, asynchronous vs parallel execution
• Understanding of asynchronous programming, blocking vs nonblocking execution
• Strong understanding of Microservices, API testing, working with Postman
• Hands-on experience of working with REST
• Experience with AWS services would be highly beneficial (Lambda, S3, SQS, SNS)
• Troubleshooting skills (application monitoring, debugging, profiling)
• Git
• Playing senior role within a Scrum Team
• Strong English for daily communication with client’s experts and team members located across the Globe

Good to have:
• Experience with GitLab
• Experience with ProjectReactor, RxJava or other Java reactive libraries
• Experience with performance testing (JMeter)
• Experience working with Scrum, Scrumban, Agile methodology
• Experience leading team, mentoring

Job Responsibilities:
• Extending the current microservices and creating new services for existing solution
• Preparing the technical documentation
• Participating in client meetings to understand business and user requirements and estimate tasks
• Collaborating closely with other engineers, product owners and testers to identify and solve challenging problems
• Taking part in defect investigation, bug fixing, troubleshooting
• Distributing tasks, mentoring, leading the team
• Participating in technical workshops
• Preparing solution design details based on the overall architecture