Programmer

KMR/ 6 Vacancy No.  FN-012-04-2020
 
Reports to: Study Manager 
Duration: 1 Year Renewable Contract as per KEMRI Scheme of Service.  The first 3 months is probation period  
 
Position description:
 
This is a software developer position. Translating business and functional requirements into software development goals will be a key responsibility.  
 
Duties and Responsibilities:

Develop, test, and execute the electronic data enterprise for the study 
Develop data input forms, write and modify code, and generate queries and reports to meet study standards and procedures 
Develop user friendly interfaces with strict data quality parameters for data entry 
Develop a Node.js API to communicate with the Machine Learning Recommendation system (MLRS). 
Assist with the development of data pipelines to migrate data from clinical sources to the data warehouse, and work to develop user-facing modules to consume data from both MLRS and data warehouse
Maintain and troubleshoot software functionality, ensuring  consistent study data flow 
Write and execute queries to extract data from OpenMRS/KenyaEMR 
Prepare flow charts and system diagrams to illustrate data system and assist in problem analysis and detailed design source documentation 
Provide support and advice to system administrators when they encounter software issues that require a more advanced software understanding 
Provide software as needed to transfer and transform data between platform and data stores such as MySQL, SQL, ODK, among others  
Analyze and develop, or recommend, software solutions to support and extend software applications and to meet user and study needs 
Work closely with the Study Data Manager, ICT officer, and end users for optimal data system use and functionality 
Liaison with FACES programming team through frequent communication and knowledge sharing for enhanced and complimentary programming skills 
Prepares data for analysis in various formats as required by investigators. 
Participate in weekly science meetings, US-Kenya data manager meetings, and incountry study team meetings 
Report to local investigator  

Qualifications:

Bachelor’s Degree in Information Systems/Computer Science or equivalent from a recognized university. 

Specific skills include:

Ability to work  with the following programming languages: HTML, CSS, jQuery, SQL, Java, JavaScript frameworks (NodeJS, ExpressJS AngularJS, Angular 6+ or React etc), and .NET languages 
Knowledge in using APIs (RESTful, JSON)
Ability to work with ODK, OpenMRS/KenyaEMR, and other open source systems is an added advantage 
Demonstrated expertise in software architecture, object-oriented design, design patterns, data structures and multi-threading 
Proven ability to write code, program parameters for data integrity, and extract data from relational databases using SQL 
Ability to work closely with the study team to translate user requirements into functional specifications then into technical development
Proven ability to train users on the computer application use 
Ability to create user, application and technical documentation for developers and end-users 
Ability to stay abreast of current technology advances and learn new development tools and technology 
Fundamental competencies of interpersonal skills, communication, accountability and teamwork.  

Applications should include the following:

A cover letter stating current position and date available to start working for the program 
A current CV including email and mobile phone contact 
Name and phone number for two professional referees
Two letters of recommendation
A copy of the latest pay slip (if applicable)
Copies of academic and professional certificates
Must have Certificate of good conduct 
Must have KRA Certificate of Tax compliance 
Must have Clearance Certificate from HELB 
  Must have credit reference Bureau Certificate