Position: Senior Java Developer (banking project)
Company: Indigo Tech Recruiters
Experience required: 5y
English level: upper

**About the company**
Software development company that specializes in full-stack app and web development, AWS set-up and migration, and Salesforce solutions for enterprises in South Africa.

**About the role**
Company is looking for an individual who is inspired to work with the founding team of a niche software and data analytics product and services business that is transforming enterprises in South Africa. We work with the largest banks in Africa, as well as a diverse range of other enterprises.

The role will be diverse (interviewing candidates, working for clients, helping to build company's products. It will include a wide range of responsibilities and it may require sporadic international travel.

**Tasks:**
- Help build a "Banking Services team" within company
- Assist on company's Saas product development when required
- Contribute to all phases of the development lifecycle
- Determines operational feasibility
- Quickly produce well-organized, optimized, and documented source code
- Debug existing source code and polish feature sets

**Requirements:**
- 4 + years of experience in Java (Java 8+).
- Experience with one of the Spring framework (Spring Boot is desirable).
- Solid understanding OOD and ability to apply best design practices.
- Excellent communication, analytical skills, and decision-making ability in collaborative environments.
- Experience in AWS and cloud technologies.
- Experience with test-driven development and domain-driven development.
- Solid understanding of messaging protocols like SOAP and REST.
- Experience with the open-source relational database management system.
- Knowledge of server application containers: Tomcat, Jetty, JBoss.
- Knowledge of PostgreSQL, MySQL.
- 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.

**Would be 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.

Additionally: the candidates will be required to travel to South Africa when the war allows this to happen.

**Benefits:**
- The job will be intellectually challenging and entrepreneurial.
- Flexible hours - we outcome driven not time driven.
- Remote work, work from home. Office space can be discussed.
- 15 days Annual Leave in Year 1.
- Remuneration + profit share is possible.

**Hiring process:**
1. Indigo HR Interview.
2. Tech interview with company.
3. Client interview.
4. Offer.