Senior Software Engineer - Consultant
Who we are: EHA Clinics, a subsidiary of eHealth Africa, is a chain of clinics spread across Nigeria that provides innovative and technology-driven healthcare to the population. EHA Clinics currently operates three Clinics located in Abuja and Kano and is working to expand to other parts of Nigeria. EHA Clinics uses state of the art equipment to bridge the gap in the provision of high-quality diagnostics and healthcare through routine services (general consultations, laboratory investigations, pharmaceuticals, annual medical checks, child wellness checks, ultrasonography...etc) and specialized services (telemedicine, medical evacuation, home care, dental care, ophthalmology, and radiology).
Within every clinic location, EHA Clinics simultaneously implements a Community Health Program which utilizes an innovative financing mechanism to promote universal health coverage and access for the low-income, uninsured and underserved population through a low-cost, pro-poor prepayment scheme. These programs form the basis of care EHA Clinics provide, catering to different cadres of the population based on economic profiles.
Summary of Job
The senior software engineer is expected to have expert knowledge of mobile application development using languages such as Java, Kotlin, and flutter. In this role, through architecture and hands-on programming, you will support EHA Clinics’ products’ technical roadmap, and work with the development team to design and build advanced features into products, and ensure they are robust and reliable in 24/7 operations.
Working closely with the product owner, the software engineer will oversee the development of the SMART Application. SMART is a mobile EMR for malaria and sickle cell disease diagnosis, built using Java/Kotlin and powered by an Odoo backend. However, the engineer can also be assigned to work on other projects with other teams within the Informatics unit. We use an array of technologies and languages which include
Continuous integration tools
While we do not expect that the engineer has sufficient experience using this wide array of technologies, we expect someone with an appetite for learning and grasping new technologies as demanded by the project.
Essential Duties and Responsibilities: To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. Other duties may be assigned.
Guide problem solving and architectural decisions within the team and across the company.
Mentor junior developers, analyze and review the codebase to ensure security and scalability.
Understudy the business processes (EMR, Inventory, Accounting, etc.), and design systems that adequately address business needs.
Develop and optimize services with profiling, debugging, data structure, and algorithms.
Design, architect, and refactor software for a wide range of services.
Define, capture and use real-time event data to build metrics and dashboards that support data-driven development
Collaborate with DevOps, QA engineers, and other developers to drive forward how we build, test, and deploy our services
Stay up-to-date with the latest technologies and best practices, inspiring your colleagues with examples and concepts
Work closely with business stakeholders to define best practice standard operating procedures for all functional aspects of the business that are supported by the Odoo ERP
Responsible for requirements gathering and scope definition together with various business stakeholders
Assist in data integration and mapping. Data is required to be transferred to and from Odoo to other mission-critical systems
Determine reporting requirements, and fulfill the proper long-term solution for delivering this reporting
Role Requirements: The requirements listed below are the knowledge, skills, and/or ability required to successfully perform this job:
Good knowledge of technology across several domains, with expert-level knowledge of Android application development using java and/or Kotlin
At least 5 years’ experience in building mobile applications
Expert knowledge of Relational Databases and NoSQL Databases - design development, optimization, and performance tuning
Rock-solid understanding of data structures, algorithms, and software design
Rigor in high code quality, unit testing, automated testing, as well as other engineering best practices
Good understanding of what is needed to get things done in a collaborative manner
Attention to details, not only caring about writing codes that work, but about performance, scalability, security, and optimization
Ability to look at the big picture and the small details, and make design and architecture decisions
Desirable but not required:
Good knowledge of application development using a hybrid framework such as flutter/dart
Understanding of agile methodology
Experience with the following tools: Git, Jira, Docker, Circleci, Travis, Jenkins, Terraform, Kubernetes, Helm, CI/CD, Postgres
The Senior Software Engineer - Consultant is a full-time position requiring a minimum of 40 hours per week. All staff at EHA Clinics are occasionally expected to work beyond the mandated 8 hours a day when the need occurs.
A competitive salary scale that is negotiable, but performance-based.