Job Vacancy at NMB Bank PLC -  Senior Software Developer (1 Position(s))

Senior Software Developer (1 Position(s))

Job Purpose:
To collaborate with a team of software developers in studying bank operations; designing, build, test and install software solutions or modify/upgrade existing applications; support and develop software to meet key business goals.
The goal is to develop new products quickly or modify existing ones with flexibility, hence improving time to market and internal processes as opposed to customization or implementation of off-the-shelf core systems that are expensive and take longer to go to the market.
Main Responsibilities:
    Actively participate in systems/projects scoping, design, and pricing exercises as part of the development and business teams' processes.
    Work with Senior Manager Applications Development to ensure resource utilization targets are met.
    Responsible for bringing together components, software subsystems into a whole and ensuring that those subsystems function together by
  • Studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas.
  • Determining operational feasibility by evaluating impact analysis, problem definition, user requirements, proposed solutions and efforts required.
  • Documenting and demonstrating solutions, flowcharts, layouts, diagrams, charts, code comments and clear pseudo-codes.
  • Developing and conducting testing plans and procedures based upon system requirements
  • Manage and/or guide junior members of the team
  • Identify systems deficiencies and implement effective solutions
  • Communicating and enforcing coding standards; and recommending changes in policies, processes and procedures.
  • Research, evaluate, and recommend systems/equipment/technologies based on user requirements and ICT system enterprise architecture.
  • Support and develop software developers by providing advice, coaching and educational opportunities.
  • Updating job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
Attributes:
  • Knowledge of the trending banking software's and technologies in the market
  • Excellent written and oral communication
  • Sense of when to escalate a problem or ask for assistance
  • Problem-solving and follow-through; pragmatic and thorough
  • Familiarity with Agile's Scrum development methodologies.
  • Fluent in at least one of the languages (Java, C, Kotlin) – Java as an added advantage
  • Knowledge on varieties of MVC frameworks/systems – Spring or Java EE as an added advantage
  • Deep knowledge of mobile frameworks at the OS level (iOS, Android & Windows).
  • Familiar with the latest mobile application trends and technologies in banking
Qualifications and Experience:
  • Bsc in Computer Science, Engineering or a related field
  • Agile/Scrum certification as an added advantage.
  • At least 8 years' experience in the software development industry.
  • At least 5 years' experience developing mobile applications (native and/or hybrid), iOS/Android/Windows
  • Experience with integrations with Banks products/systems is an added advantage
  • Experience with variety of databases and object-relational mapping (ORM) frameworks.
  • Experience with DevOps tools and practices, including CI/CD, Automated Builds & Release Pipelines, etc.
  • Software design principles, patterns, and techniques, like solid, clean code, design patterns and thinking
Experience :
8.0 Year(s)
Job opening date : 04-Jan-2022
Job closing date : 11-Jan-2022