Software Developer - Frontend

Dar es salaam, Tanzania

The Developer is responsible for creating prototypes, designing and building modules and solutions in an iterative agile cycle, develop, maintain, and optimize the business outcome.  This role is responsible for estimating user and technical stories, designing and developing code, writing and executing unit and integration tests, and supporting testing of deliverables against user and technical story acceptance tests.  The incumbent is responsible for performing peer reviews, collaborating with architects and other developers to produce “just enough” design, and ensuring that enough technical documentation and training is provided for reference and operational support.  This role is responsible for providing software-related operations support, including managing level two and level three incident and problem management.

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 ReactJs, Typescript HTML, CSS, JavaScript, Java, Ruby, SQL, XML, JSON, and Python, and paradigms such as object-oriented-, even-driven-, procedural-, functional-, and declarative programming, ANT+

Professional experience and knowledge of the telecommunications industry preferred

Certified Scrum Developer (CSD) preferred

Competency in UX principles and practices preferred