Jobs

Software Developer/Engineer Jobs 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 Developer - Consultant Location: Nigeria
Purpose of the Position
  • The Senior Software Engineering Consultant 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.
  • Keywords: JavaScript, Git, ReactJS, Android, Java, Node.js, Python, Django
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 the feasibility of solutions for upcoming projects
Requirements Who you are:
  • Bachelor's degree from a 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 data structure and algorithms and how it affects application performance.
  • 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, Webpack 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 a proficient understanding of code versioning tools (Git).
  • Experience in the creation and review of software and architecture designs.
  • Fluent in English.
Interested and qualified candidates should: Click here to apply
     
Job Title: Manager, Software Engineering Location: Kano
Purpose of the Position
  • The Manager Software Engineering will determine operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions; Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments, and clear code; Prepare and install solutions by determining and designing system specifications, standards and programming; Improve operations by conducting systems analysis; recommending changes in policies and procedures.
What you'll do To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. Other duties may be assigned:
  • Leads development teams, establish development standards and Agile software development practices.
  • Manages the software development process and the allocation of resources to different projects and products.
  • Collaborates with product and project management, Quality Assurance, Support, Marketing, and executive management to ensure the development team meets software release schedules, goals, and objectives.
Leadership:
  • Provide leadership, direction, and vision to a team of DevOps and Release Engineers.
  • Ensure that project initiatives and tasks are prioritized and being executed according to project schedules and technical best practices.
  • Monitor ticket queues to make sure work is not sitting unassigned or staying at an in-progress state for times that violate SLAs.
  • Effectively communicate on development and operational support work status and priority setting.
  • Maintain an understanding of current technologies, their trends, business strategies and capabilities, and their implications on the current environment.
  • Strong skills in setting, communicating, implementing, and achieving business objectives and goals through the direct management of others.
  • Leads in performing feasibility analysis considering technical, infrastructural, organizational and economic aspects to alternative solutions
Development:
  • Performs a Technical Lead role on assigned projects and ensures compliance with Project Management methodologies.
  • Leverage Scrum and Kanban Agile development practices.
  • Be hands-on and actively review code alongside the team, with time balanced between development, code review, and management.
  • Assist in building continuous integration systems.
  • Participate in architectural and code reviews
  • 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
  • Participates in and promotes a positive, supportive, cooperative team environment.
  • Attends and participates in annual strategic planning meetings, country management meetings, staff meetings, training classes, and supervision.
  • Adheres to Policies and Procedures.
  • Adheres to eHealth Africa Code of Conduct as well as ethical standards of the field.
Who You Are The requirements listed below are representative of the knowledge, skill and/or ability required to successfully perform this job:
  • Master's degree in Computer Science, Computer Engineering, Software Technology, or other related field or equivalent years of education and work experience or any related field.
  • Minimum of 8 years of software development and delivery experience in a lead architecture role, with a proven track record of on-time and on-budget delivery of enterprise-scale software applications.
  • Hands-on experience in applying Lean/Six Sigma to software development metrics.
  • Experience managing continuous integration with test automation.
  • Skilled in several software developments and architecture paradigms and techniques, with the ability to provide the best mix of these techniques with high quality, scalable, flexible, and reliable solutions while keeping up with the Company’s growth.
  • Experience with building enterprise-scale, distributed, high performance, mission-critical software applications is required.
  • Strong project management skills, including experience in agile practices and frameworks e.g. Lean, Scrum, and Kanban.
  • Ability to work on multiple projects simultaneously and deliver within tight timelines while being flexible in adapting to new roles.
  • Strong leadership skills that include the ability to build effective teams, ability to motivate others, delegation, and timely/quality decision making. Training and presentation experience is preferred. Excellent interpersonal communication skills, organizational skills and great attention to detail. Action-oriented and resilient in a fast-paced environment.
  • Working knowledge of project management tools, e.g. Atlassian Jira, Asana, etc.
  • Understanding of data transformation tools (FME Desktop, Kettle and python) and Commercial
  • Advanced computer skills, including Microsoft Windows and Microsoft Office Suite.
Interested and qualified candidates should: Click here to apply