Position: Senior Java Engineer
Company: GlobalLogic
Experience required: 5y
English level: upper

Description:
Leading American computer software company helps product executives build better products, accelerate time to value, and monetize what matters. Customer’s leading solutions help software and technology companies drive top-line revenue with modern software monetization, understand usage and compliance with software usage analytics, empower the use of open source with software composition analysis, and deliver an excellent user experience—for embedded, on-premises, cloud, and SaaS products.

Software and technology companies want to make the most out of their products. Their goal is to accelerate time to market and innovate as quickly as possible, build products that customers like, understand how they are being used, and monetize what matters.

Requirements:
Strong Java expertise with a minimum of 5 years of commercial experience
Experience in designing and building distributed, scalable systems, data structures, and algorithms
Design and implementation of REST API
Experience in Spring and SpringBoot
Experience in relational databases (MySQL, Postgres, etc.) and NoSQL databases (Mongo, AeroSpike, etc.)
AWS Services knowledge, including IaC and terraform expertise
Deep understanding of system design,
SQL programming background with the ability to troubleshoot and tune the code
Excellent interpersonal and teamwork skills
Strong problem-solving, troubleshooting, and analysis skills
Experience working in a geographically distributed team
Experience with leading and mentorship of other engineers
Good knowledge of Agile Scrum
Good communication skills

Job Responsibilities:
Work directly with the architect on the client side.
Design and implementation of REST API as public integration API, including helping to take care of building the CI/CD and deployment pipelines; automation
Participate in reviews of code, design, and requirement specifications to ensure feasibility.
Provide regular updates on progress and delays encountered during development.
Improve the team’s technical capabilities and establish the best software development or testing practices within the respective domain.