Ad Code

Kenya: Senior Software Developer (International Consultant)

Organization: UN High Commissioner for Refugees

Country: Kenya

Closing date: 29 Sep 2017


1. General Background of Software Project


The Software project allows refugees to access to information in the personal files and to request for appointments for services that they require from UNHCR. Having an automated and systematic way of accessing information and services complements the existing processes by ensuring that information is available to the Person of Concern when they need it without having any other interaction. In addition to the information, the system will run a scheduling system for appointments based on the next-available-slot mechanism.


The system needs to be set up and operated in the Local Area Network environment of UNHCR which is managed on Windows Platforms. The Kiosk ‘booths’ front-ends will be operated from remote Field Posts each of which have a Local Area Network connected to the main office over a Microwave Link where the Data sources and Core Application will be established.


C # or Python Programming Languages are preferred Programming Languages, and it is an absolute requirement that the incumbent be proficient in either of them, as well as SQL Database Programming and JavaScript proficiency. The Software source-code must be left open and fully owned by UNHCR upon commissioning of the System and handover, which also includes any libraries and additional components that form part of the System.


The project lifecycle requires that the development process be conducted in Agile Software Development method emphasizing frequent communication, change management, follow-ups and feedback, with each minor version for Beta testing being delivered in two-week intervals. UNHCR needs to have the first major release version (RC 1) of The System delivered by the incumbent by end October.


Software Development duties and responsibilities


The System to be developed will need to integrate with two existing systems that are already established by UNHCR that is, the Biometrics Information Management System and an SQL Server, both of which are internal to UNHCR.


1.0 Integration with Existing UNHCR Systems


(a.) The UNHCR Biometrics Information Management System, BIMS.


The Biometrics Information Management System, or rather, ‘BIMS’ is the official System of UNHCR for identity of Persons of Concern. It is a System that integrates with the main Database to identify each Person of Concern registered in the Database using an Iris scan.


The System to be built must integrate with the BIMS API on an as-is basis for reading Biometric input from the iris, authenticating, identifying the iris record and authorising Person of Concern users into the System.


Experience in working with or implementing REST APIs as well as development of APIs is fundamental.


(b.) SQL Database Server


The Synchronisation Database is a Middleware SQL Database that populates itself with selected fields from the main Database – only the fields that need to be presented to the user containing basic information regarding the records of respective Persons of Concern as stored in the main Database.


Expertise in SQL Database Programming is a fundamental requirement for the development of the System.


2.0 Integration with SMS Gateways


One of the key features in Scheduling of within The System is the SMS dispatch over a REST API. This dispatch is triggered whenever an appointment is successfully processed and whenever a previously scheduled appointment is re-scheduled.


The System has to be designed to integrate with REST APIs of SMS Gateways and in such a way as to be easy to change Service Providers of the SMS Gateway services in the future with minimal maintenance downtime or rewriting of code.


Past experience with REST API integrations and development of APIs is a fundamental requirement for the development of the System.


3.0 Building on Customizable Packages


The project requirements can be satisfied by using an existing Software package for scheduling that is customizable to the extent that, and provided that, it fulfils all of the business requirements in both functional and non-functional requirements, and that the Software package code-base is written in C# or Python Programming Language.


In such, the Scheduling part of the System should not need to be written from scratch. It can be customized from an existing package which the incumbent Developer is encouraged to select and make part of the Software development.


Either way, the Software end-product must be customizable, building on modules that extend the functionalities easily and seamlessly without having to re-write extensive portions of code in adding a new feature.


4.0 Version Control


Because of the nature of the Software development lifecycle, and the Agile approach in the development process flow which emphasizes frequent communication and highly flexible development able to adapt to changes quicker and much easier, the incumbent Developer is encouraged to use GitHub for version control.


Version control for the Agile processes and change communication must be held with high importance throughout the development lifecycle.


The GitHub instance must be secured with a password and libraries, including clones, must not be available publicly.


5.0 Unit Testing


During the development lifecycle, Unit testing for key features and modules will be conducted by UNHCR together with the incumbent Senior Software Developer. The Agile methodology shall allow both parties to manage change requests and corresponding follow-ups on statuses of, (a.) the features defined by the functional and non-functional requirements, and, (b.) change requests.


1. Desired Skills and Experience


  1. Proficiency in C# or Python Programming Languages is a fundamental requirement.


  2. Proficiency in SQL Database Programming and JavaScript.




  3. Experience in working with REST API – SMS gateway




  4. Development experience with Systems for scheduling appointments and/or CRM Software Programs.




  5. Experience with Modular Mobile-First Designs focusing on low System-resource usage.




  6. 15 years of Software Development




  7. Fluency in English, both verbal and written.



2. Employment Modality


The successful candidate will be hired through an individual consultancy contract. This consultancy does not necessarily require full time presence in Kenya. The successful candidate can work from home but will be required to travel to Nairobi and Kakuma during different phases of the project. The successful candidate will be offered 6 months contract with possibility of extension.



How to apply:


Application procedures:


Candidates who wish to be considered for this position should complete a Personal History form (P.11) available on the following link http://www.unhcr.org/ke/wp-content/uploads/sites/2/2017/09/P11-Form-UNHCR.doc and attach it to their application for the position. Applications should be sent to Human Resources Mailbox at kennahr@unhcr.org


The Senior Human Resources Officer,


UNHCR Branch Office,


P. O. Box 43801-00100 Nairobi-Kenya,


or hand delivered to UNHCR Branch Office for Kenya, Lynwood House, Waiyaki Way (opposite Lions Place). Please quote Reference: EVN/KEN/KAK/CONS/17/002.



Post a Comment

0 Comments

SoraTemplates

Best Free and Premium Blogger Templates Provider.

Buy This Template