Senior Software Engineer (Remote) at eHealth Africa

eHealth Africa designs and implements data-driven solutions and technologies to improve health systems for and with local communities. eHA’s technology works in low connectivity settings and uses data to drive decision-making by local governments and partner agencies to get optimum results.

We are recruiting to fill the position below:

Job Title: Senior Software Engineer

Location: Remote
Department: Software Engineering
Employment Type: Full Time National Employee

Purpose of the Position 

  • The Senior Software Engineer is responsible for developing and supporting projects, functions and completing specific client work, projects, and miscellaneous tasks.
  • This highly responsible position involves using established work procedures to analyze, design, develop, implement, maintain, re-engineer and troubleshoot applications.

Responsibilities
What You’ll Do:

  • Directs technical aspects of operations related to client accounts or high severity issues
  • Participates in the evolution of company-level software best practices, standards, and policies
  • Defines objectives by analyzing user requirements; envisioning system features and functionality
  • Works closely with developers and end users to ensure technical compatibility and user satisfaction
  • Collaborates with product owners, technical architects and other software developers to plan, design, develop, test, and maintain web- and mobile-based applications
  • Provides thought-leadership as to emerging technologies and integrate them into business operations
  • Assists in the estimation and assessment of feasibility of solutions for upcoming projects

Supervisory Responsibilities:

  • Carries out supervisory responsibilities in accordance with the organization’s policies and applicable laws.
  • Responsibilities include interviewing, hiring and training employees; planning, assigning, and directing work; appraising performance; rewarding and disciplining employees; addressing complaints and resolving problems.
  • Supervises assigned Project Management staff.

Requirements
Who You Are:

  • Bachelor’s Degree from college or university in Computer Science, Computer Engineering, Information Systems Technology or a related field. A postgraduate degree is desirable.
  • Minimum of 5 years of experience in Software Development or an equivalent of education and experience.
  • Well familiar with the whole software development life cycle (e.g. requirements, analysis, design, implementation, testing, and documentation) and execution models (e.g. Waterfall, Agile, etc.).
  • Strong understanding of JavaScript, its module loaders and frameworks such as AngularJS and ReactJS.
  • Strong understanding of Python and desirably Django.
  • Thorough understanding of RESTful API design, usage and best practices.
  • Good understanding of asynchronous request handling, partial page updates, and AJAX.
  • Good understanding of databases and SQL. Exposure to NoSQL Databases ideal.
  • Familiarity with front-end build tools, such as Grunt and Gulp.js.
  • Understanding of accessibility and security compliance.
  • Knowledge of user authentication and authorization between multiple systems and environments.
  • Understanding of fundamental design principles behind a scalable application.
  • Understanding of the differences between multiple delivery platforms, such as mobile vs desktop, and optimizing output to match the specific platform.
  • Strong unit test and debugging skills as well as proficient understanding of code versioning tools (Git).
  • Experience in creation and review of software and architecture designs.
  • Fluent in English.

Application Closing Date
Not Specified.

Method of Application
Interested and qualified candidates should:
Click here to apply online

Note: Qualified female candidates are strongly encouraged to apply.

Job Vacancy