Position: Senior/Senior+ Java Developer
Company: ITernal Group
Experience required: 5y
English level: upper

**Qualifications and Experience:**

- Minimum: B.Comm, B.Eng, BSC Eng, BSC Informatics or related degree.
- 5 years + 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 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.

**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 to agreed standards. Design, code, test and debug to obtain a robust solution with supporting documentation.
- Minimise system downtime through pro-active identification of potential issues and ensure minimisation of recurring problems by managing defects and performing code reviews.
- Monitor systems post change and pro-actively 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.

**We offer:**

- Open, transparent, and honest communication with the team and management — we share company numbers, do strategic planning together, explain all the decisions and tell the company news as they happen;
- Possibility to influence the development of the project;
- Friendly professional staff and warm atmosphere;
- Help with development via mentoring and coaching;
- The environment where you can implement your ideas;
- Plans for growth and the performance review (every 6 months);
- Flexible schedule and opportunities to working remotely;
- Paid vacation and sick leaves;
- Attending professional conferences, summits, workshops, and seminars (70% compensation from the company);
- Access to the yoga training;
- English courses;
- Participation in educational activities and thematic conferences;
- Team parties and corporate events.