Position: Middle/Senior Java Developer
Company: ITernal Group
Experience required: 5y
Category: Java
English level: intermediate
Published: 2021-04-01T00:00:00+03:00

Requirements: 
• 5 years + experience;
• Excellent communication, analytical skills, and decision-making ability in collaborative environments;
• Excellent understanding of java 8 +;
• Solid understanding of Object-Oriented Design and ability to properly apply general design patterns and paradigms;
• Experience with test-driven development and domain-driven development;
• Experience with one or more of the following application frameworks: Spring;
• Solid understanding of messaging protocol like SOAP and REST;
• Experience with the open-source relational database management system;
• Knowledge of server application containers: Tomcat, Jetty, JBoss;
• Good understanding of frameworks and libraries like JavaScript, jQuery, TypeScript, HTML, CSS;
• Experience with CI / CD servers (preferably Jenkins) and Artifact Management (preferably Nexus), ability to create and maintain sophisticated CI / CD pipelines;
• Strong understanding of version control and related concepts and techniques, particularly Git;
• Experience with an appropriate unit testing framework(s);
• Excellent debugging and problem-solving skills;
• Comfortable with stubbing tools like wiremock and/or hoverfly.

As a plus would be:
• Experience with scripting languages like Bash and/or Python;
• Familiar with OAuth and SAML, preferably with an understanding of AD / LDAP / Kerberos as well
• Familiar with Docker.

Responsibilities:
• You will be working with a team of a very technically strong team who are working on delivering high-quality solutions and will have the opportunity to learn and develop;
• Contribute in all phases of the development lifecycle;
• Ability to demonstrate your knowledge of critical thinking and problem solving;
• Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions;
• Quickly produce well-organized, optimized, and documented source code;
• Debug existing source code and polish feature sets;
• Ability to solve unique technical problems;
• Work independently when required;
• Continuously learn and improve skills;
• Attention to detail is essential and all tasks must be carried out to the highest standard.

We offer:
• The environment where you can implement your ideas;
• Plans for growth and the performance review (every 6 months);
• Flexible schedule: 8 hours per day, opportunities to working remotely;
• Paid vacation (18 working days per year and all national holidays) and sick leaves (10 working days per year);
• Participation in educational activities and thematic conferences with 70% coverage by the company;
• Parties and corporate events.

About the project:
The main stack: Spring Boot, Spring Cloud, and other Spring portfolio projects in cloud-native Java architectures.
You should be comfortable authoring and supporting CI/CD pipelines in Jenkins or similar tools, ultimately deploying to a multi-site Kubernetes environment where you will be able to support and manage your applications all the way to production. This also means you’ll be comfortable using and configuring modern observability techniques, including aggregated logging via an ELK stack, metrics via Prometheus/Grafana/NewRelic, and tracing using Zipkin/Jaeger.
If you enjoy a large degree of autonomy and are comfortable with the responsibility of these demands, as well as owning the complete lifecycle of your tasks, come join our team and contribute to moving a bank to modern, cloud-first architectures.