Position: Senior Java Developer
Company: GlobalLogic
Experience required: 3y
English level: intermediate

Сlient platform is built on a foundation of real-time user behavior analytics and intelligent machine learning, infused with deep risk, compliance, and payment security expertise, integrated with rich visualization and forensic tools and it trusted by some of the largest corporations and financial institutions in the world. 
We are a young and enthusiastic team, tightly integrated with the Customer and empowered for business and technical decisions. We support flexibility with working hours and always find time to have some fun. There are business trips to Client location (the USA, East coast) and there are always many challenges and opportunities to grows.

Requirements
4+ years of experience in commercial development with the use of Java and J2EE stack, JavaScript basics, Webservices, Spring Framework, JPA
Understanding and strong practice with the development of Muti tiered Distributed Architecture and Microservices
Knowledge of SDLC processes and tools, Iterative Design & Prototyping
Hands-on experience with JSP/Servlets/legacy JavaScript/JDBC
Working with Oracle databases, good knowledge of SQL queries tuning and optimization
Strong practice Design Patterns and Java Enterprise Design Patterns, deep experience in core java related manifests, main java data structures, and algorithms experience
Experience with IDEA IDE
Intermediate to advanced English (read/write/speak) for daily communication with the customer's subject matter experts
Experience in leading a small group of people (2-5) of middle or junior developers
Good use-case/feature/task estimation skills
Architectural and technical documentation development skills (UML diagrams, data flows, database diagrams)
Developers mentoring
Good understanding of best practices of software development (code reviews, continuous integration, pair programming, etc.)

Responsibilities
Research, design, develop, and modify enterprise-wide systems or applications software.
Introduce and analyze requirements
Work on software design on all stages
Collaborate with a distributed team
Mentor developers and newcomers
Participate in technical interviews