Software Developer - Backend

Dar es salaam, Tanzania

As a developer, you will lead and participate in development projects for our product, and be involved in all development-related aspects of our technical operations and infrastructure.

Key accountabilities and decision ownership 

Estimate user and technical stories to help inform and prioritize backlog

Design modules according to user stories, UX designs, and technical stories

Develop solutions according to module designs and deploy using delivery pipeline

Develop and execute unit and integration tests; support testing against user and technical story acceptance tests

Suggest improvements to user stories and UX

Manage technical debt as part of daily activities

Conduct peer reviews and maintain coding standards

Manage incidents as level two and level three support

Manage problems as level two and level three support

Core competencies, knowledge and experience 

Agile and lean programming and development of software systems in Web-scale environments

Mobile app developer skills with ability to create, maintain and implement the source code to develop mobile apps and programs that meet the needs and requirements of the clients using the computer programming languages.

Backlog item estimation

Unit, integration, smoke and static code analysis testing

Architectural element testing e.g. APIs

Automated testing and tools e.g. Selenium

Code reviewing

Software incident and problem management

Expertise in multiple programming and markup languages, such as HTML, CSS, JavaScript/Native script, Android, Java,PhP, Ruby, SQL, XML, JSON, C and Python, and paradigms such as object-oriented-, even-driven.

Must have knowledge of the following databases i.e.  MariaDB, MySQL, MongoDB.

Vast knowledge of Operating systems such as LINUX etc.

Continuous integration and continuous delivery methodologies and tools

DevOps culture, processes, and tools

Cloud-native architectures, including public cloud PaaS / IaaS, micro-services architectures, API

Highly cross-functional and able to swap and perform adjacent roles at short notice

Flexibility to deal with changing projects and priorities in a short space of time

Strong problem solving skills and ability to learn new methods and processes

Strong relationship building, persuasion, and collaboration skills that drives internal-and cross-team constructive feedback and support

Strong communications skills, with the ability to distil difficult technical concepts into simple and actionable modules

Strong time-management skills, with the ability to juggle multiple balls, and comfortable working under pressure

Good understanding of the business capability / user journey, wider organizational goals, and desired product business outcomes

    Must have technical / professional qualifications:
  • Bachelor’s Degree in Computer Science, Information Systems, Business Administration, or other related field
  • 2 -3 years relevant experience of which a minimum of one year is in programming and/or systems analysis applying agile frameworks
  • Experience working with agile methodologies, such as Scrum, Kanban, XP, LSD, and FDD
  • Experience working with multiple programming and markup languages, such as HTML, CSS, JavaScript, Java, Ruby, SQL, XML, JSON, and Python, and paradigms such as object-oriented-, even-driven-, procedural-, functional-, and declarative programming
  • Professional experience and knowledge of the Telecommunications industry preferred
    Certified Scrum Developer (CSD) preferred
  • Competency in UX principles and practices preferred