Menu Close

Specialist Product Engineer (Java) at National Bank of Commerce (NBC)

Posted in NGO Jobs in Tanzania
Specialist Product Engineer (Java) at National Bank of Commerce (NBC) – UDAHILIPORTAL.COM

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​

  • 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

Bachelor’s Degree – Information Technology, Experience in a similar environment.