Position: Senior Java Developer
Company: ITernal Group
Category: Java
Experience required: 5y
English level: intermediate

We are looking for the skilled Java Developer

**Responsibilities:**
Increase operational efficiency and suggest solutions to enhance cost-effectiveness.
Deliver exceptional service that exceeds customers’ expectations through proactive, innovative, and appropriate solutions by resolving queries fast end effectively.
Cultivate and manage objective working relationships with a variety of stakeholders, including end-users, SME’s, project managers, and senior staff members by providing input to business requirements and being able to present and sell concepts to clients.
Produce program specifications and implement system enhancements by addressing specific business needs and resolving queries.
Code, compile, test and implement applications in compliance with the Systems Development Life Cycle (SDLC). Support development environments.
Responsible for coding standards and peer reviews.
Comply, understand, and implement all steps within IT development and meet governance in terms of legislative and audit requirements during programming execution.
Assess, identify, and mitigate potential risks within the IT programming environment by complying with technology business policy and process requirements (SDLC and change/release management process definition) to ensure operational performance.
Produce technical specifications and architecture that is in accordance with agreed standards. Design, code, test, and debug to obtain a robust solution with supporting documentation.
Minimise system downtime through proactive identification of potential issues and ensure minimization of recurring problems by managing defects and performing code reviews.
Monitor systems post-change and proactively do performance analysis to ensure there is no system failure due to capacity.
Maintain maximum system availability by ensuring that incidents are recorded for future reference and adequate root cause analysis is done to eliminate the risk of a recurrence.
Manage own development to increase own competencies and develop technical and business skills.
Proactively engage with business units and colleagues to understand underlying needs and opportunities, and identify Information Technology (IT) innovative solutions in a timely manner.
Supervises the work of other developers. Provides technical assistance to fellow developers and other Information Technology (IT) team members.

**Qualifications and Experience**
Minimum: B.Comm, B.Eng, BSC Eng, BSC Informatics, or related degree.
5+ years of experience in programming and system design.
Familiar with one or more programming languages as appropriate for the specific requirements of the department related to the field.
System Design experience is advantageous.

**Requirements:**
Java SE/EE
Identify and analyze user requirements
Prioritize, assign, and execute tasks throughout the software development life cycle
Develop Java EE/SE applications
Write well-designed, efficient code
Review, test, and debug team members’ code
Design database architecture
Schedule product releases with internal teams
Document development phases
Ensure our applications are secure and up to date
Object Oriented Programming

**As a plus:**
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.

**We offer:**
Possibility to influence the development of the project.
Friendly professional staff and warm atmosphere.
The environment where you can implement your ideas.
Flexible schedule and opportunities to work remotely (8 hours workday).
Paid vacation and sick leaves.
Participation in educational activities and thematic conferences.
Team parties and corporate events.