Position: Specialist Product Engineer (Java)
Posted: 20th February, 2020
Job ID: R-15906120
About Us:
NBC is the oldest serving bank in Tanzania with over five decades of experience. We offer a range of retail, business, corporate and investment banking, wealth management products and services.
Job Description
DevOps
- Apply critical thinking, design thinking and problem solving skills in an agile team environment to solve technical problems (Front End, Back End OR Middleware) with high quality solutions
- Contribute to all phases of the development lifecycle including
- Evaluate analysis, problem definition, business requirements, solution development & provide recommendations to enable the operational feasibility of solutions
- Quickly produce well-organised, optimized, and documented source code to deliver technical solutions
- Ensure designs & solutions support the technical organisation principles of self-service, repeatability, testability, scalability & resilience
- Apply general design patterns and paradigms to deliver technical solutions
- Support the development of CI / CD Pipelines (authoring & supporting CI/CD pipelines in Jenkins / similar tools and deploying to multi-site Kubernetes environments – supporting and managing your applications all the way to production)
- Use & configure modern observability techniques leveraging e.g. aggregated logging via ELK stack, metrics via Prometheus / Grafana / NewRElic and tracing using Zipkin/Jaeger
- Automate tasks through appropriate tools and scripting e.g. Jenkins, Docker, Ansible, Kubernetes
- Debug existing source code and polish feature sets.
- Work with integrated teams and other developers to improve and evolve technical products and services
- Align all application development & development process to Group Architecture & Infrastructure guidelines
- Provide input into project & program teams (when required) to plan & manage the development lifecycle e.g. releases, risk management, testing, integration etc.
- Conduct reviews, performance monitoring & ongoing optimization and maintenance on applications.
Software Engineer Requirements
- 2-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 open-source relational database management system
- Knowledge of server application containers: Tomcat, Jetty, JBoss
- Good understanding 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 appropriate unit testing framework(s)
- Excellent debugging and problem-solving skills.
- Comfortable with stubbing tools like wiremock and/or hoverfly
- 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
Duties and Responsibilities
- You will be working with a team of 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
Qualifications
Bachelor's Degree - Information Technology, Experience in a similar environment.
TO APPLY CLICK HERE!