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

**Description:**
Our client is a leading US-based manufacturer of medical devices developing innovative medical systems and services that provide patient monitoring and cardiology diagnostics to clinicians and healthcare facilities around the world. 
Our team is focusing on designing and developing the next iterations of complex software/hardware platform for patient monitoring, where the software has strong restrictions for safety and quality.

**Requirements:**
4+ years of experience in commercial development with the use of Java, Spring Framework, RIA.
Good knowledge and strong practice with the development of Muti tiered Distributed Architecture and Microservices
Deep knowledge and experience in building modern, responsive/adaptive web applications
Good knowledge of SDLC processes and tools, Iterative Design & Prototyping, Architecure
Good knowledge of SQL queries and database design.
Strong practice Design Patterns and Java Enterprise Design Patterns, deep experience in core java related manifests, main java data structures, and algorithms experience
Experence with Vaadin or GWT is a plus
Rich UI development experience is a plus
Intermediate to advanced English (read/write/speak) for daily communication with the customer’s subject matter experts
Good understanding of best practices of software development (code reviews, continuous integration, pair programming, etc.)

**Stack of Technologies:**
Java 11
Spring Boot
Spring GRPC (simple RPC + streaming)
Cassandra
Docker & Docker Swarm
Spock Framework
Maven
Azure Devops (Backlog, CI/CD)
Mirth -> HL7 (for EMR)
gRPC
Async rabbit MQ, Kaffka

**Preferences:**
Vaadin, Healthcare-Medical Devices, GWT

**Responsibilities:**
Take responsibility for the components and features of new medical software development.
Report progress and issues to Lead engineer and cooperate with other teams on the project if required (UI/UX team, Manual and Automation test teams, Process Quality team, Management team).
Communicate project status and support technical discussion with managers and engineers on the client-side.
Track the progress of complex tasks assigned and implement Corrective and Preventive Actions to make sure they are to be completed on time.
Support Architecture and Detailed Technical Design documents