Position: Senior Java Developer/TL
Company: CNA International
Category: Java
Experience required: 5y
English level: fluent

Technical stack: Java, SpringBoot, Oracle, PostgreSQL, Kotlin, Spring React, Elasticsearch, Groovy, Grails
Tools: Git, Bitbucket, Jira, IntelliJ idea, Gradle, Maven

Rеquirеmеnts:
Degree in computer sciences, coding, or a related field;
At least 8 years’ experience in Java-based programming;
5+ years’ experience in developing large scale, highly available distributed systems.;
Track record in problem-solving, troubleshooting, and performance tuning within production environments;
Strong Experience on Java Enterprise (JEE) Programming and RDBMS.
In-depth knowledge of popular Java frameworks, SDKs, APIs, and libraries, including Swing;
Experience with Object-Oriented Design (OOD);
Experience in developing REST services;
Strong knowledge of data structures, algorithms, operating systems, and distributed systems fundamentals;
Strong knowledge of RDBMS, Oracle databases, storage, and distributed persistence technologies;
Experience in developing software on UNIX/LINUX;
Experience in JVM related activities like heap dump analysis, garbage collection, caching, etc;
Significant coding skills in Java, with other languages being a major plus;
Exceptional problem-solving and analytical abilities;
Strong communication and personal skills: work well with members of other functional groups in a project team; demonstrate a strong sense of project ownership;
Experience with Agile and DevOps methodologies; Good organizational and time-management skills;
A strong portfolio of top-class coding and builds;
Excellent written and verbal communication;
Fluency in English.

Responsibilities:
Design, develop, troubleshoot and debug Java core program as well as databases, applications and tools;
Deployment of Java applications using CI/CD pipeline;
Scalability, Reliability, Zero downtime, and Operational Efficiency of the developed modules;
Identify and analyze user requirements;
Prioritize, assign and execute tasks throughout the software development life cycle;
Build and maintain automation frameworks and tools to ensure high speed & low cost provisioning, maximum uptime, and predictability while preventing outages and service interruptions or degradations;
Partner with supporting development teams for continuous improvement of our service;
Interpreting briefs to create high-quality coding that functions according to specifications;
Determining application functions and building objectives with the team;
Ensuring that written code falls in line with the project objectives;
Identifying and resolving immediate and potential issues with applications;
Meeting deadlines on fast-paced deliverables.

Thе соmpаny оffеrs:
A unique opportunity in establishing the company product software;
Working and direct contact with international clients;
Friendly work-environment in a team of highly talented people;
Flexible working schedule;
Competitive benefit package.