JOB TITLE: Software Engineer
JOB LOCATION: Abuja
JOB DETAILS:
- Supervision of the software design cycle
- Manages functional elements within the enterprise (NIMC and enrollment partners)
- Assures the software delivery functions of enrolment partners and software suppliers
- Ensures software development best practices are adhered to.
Scope of Services
The Software Engineer shall:
- In coordination with the Technical Lead, the software engineer will design and implement computer application systems, modules and any software components needed to support NIMC/ID4D project;
- Determine the extent to which solutions perform “as required” within the current environment to ensure that future solutions meet anticipated demand;
- Ensure the development of systems, module graphical interfaces, web modules, database modules and any software components needed to deliver complete and functional application systems required by the NIMC / ID4D Information Systems.
- Develop application reports and statistics required by the NIMC / ID4D Information Systems;
- Ensure that installations are completed on time, cost and quality, so as to minimise operational and project risk and ensure costs are contained;
- Ensure that the testing and handover of implemented solutions are conducted as per organisational standards, therefore reducing the risk and adverse impact of change;
- Manage conflicting and/or concurrent software upgrade, and/or refresh projects and programs;
- Design and implement systems and software technical specifications based on business requirements;
- Develop and maintain software documentation in order to facilitate maintenance and upgrade activities;
- Provide the necessary technical support and work on a team basis to all members of the PIU to accomplish the software development and implementation tasks requested by the Technical Lead;
- Contribute technical and professional knowledge and experience to improve NIMC/ID4D operations and technical platform; and Develop and provide a monthly software project status report describing the development of the above activities and any issues that may emerge, with conclusions and recommendations.
Reporting, Location and Time Schedules
- The Software Engineer will report to the Technical Lead Project Coordinator in NIMC Headquarters Abuja.
- The commencement of the services shall come into force and effect on the date (the “Effective Date”) of the Client’s notice the Software Engineer to begin carrying out the services.
Facilities and Information to be Provided
- Adequate office space, with furniture and internet facilities, shall be assigned to the Software Engineer.
Estimated Effort Level and Duration of the Assignment:
- The duration of the assignment is initially for 12 months but will be renewed subsequently on an annual basis subject to satisfactory performance. The contract type is Time Based.
Qualifications
The Software Engineer shall have the following minimum educational qualifications and experience:
- A Degree in any discipline may suffice, as long as the applicant can demonstrate experience with either Computer Science, Computer Engineering, Information System or any other relevant discipline with relevant globally recognized software development certification with a minimum of five (5) years progressive working experience in technical design, development, test and integration of cross-functional, multi-platform application systems with a minimum of two (2) projects, similar in scope and complexity to the NIMS;
- Experience must include working on Web Application architecture using REST APIs, Non-blocking technologies such as asynchronous tools and clustering techniques.
- Direct, hands-on experience with Web Services concepts such as JSON, JavaScript, NodeJS, Python, React Native are required. Prior experience with legacy systems such as SOAP or XMLs and Schemas such as XSDs may be useful, but not required.
- Experience with technologies such as Bootstrap4, HTML5, AngularJS, REACT Native JavaScript, and CSS.
- Experience maintaining systems by monitoring and correcting software defects and of ongoing software maintenance by analysing and identifying areas for modification.
- The applicant will need to demonstrate experience with modern IDEs like VSCode, Webstorm or related tools, as well as debugging and testing resources.
- Some knowledge of cryptography and encryption techniques are also required, such as Triple DES, AES Standards, RSA and ECC. Hashing techniques are also expected.
- Background knowledge of multiple platforms is expected, including MS Windows Server (minimum 2012), Linux (RHEL7.x and Ubuntu 16.04 and AIX). Advantage will be given to those candidates who show a flair for migration between platforms seamlessly.
- Experience using UML standard design artifacts such as class models and sequence diagrams.
- Experience maintaining systems by monitoring and correcting software defects.
- Experience of ongoing software maintenance by analyzing and identifying areas for modification.
Detailed Skills and Experience:
Area – Description:
- Development process optimisation – Able to oversee the management of software engineering capability to produce services efficiently and effectively. Able to analyse current processes, identify and implement opportunities to optimise processes, and leads and deliver service improvements. Help to evaluate and establish requirements for the implementation of changes by setting policy and standards.
- Modern standards approach – Use of modern standards approach through automation and testing. Strong understanding and application of the most appropriate modern standards and practices. Takes responsibility for coaching and guiding others.
- Programming and build (software engineering) – Designs, creates, tests and documents new and amended software components from supplied specifications in accordance with agreed development and security standards and processes. Collaborates with others when necessary to review specifications and uses these agreed specifications to design, code, test and document programmes or scripts of medium to high complexity, using the right standards and tools.
- User focus – Understand users and can identify who they are and what their needs are based on evidence. Able to translate user stories and propose design approaches or services to meet these needs and engages in meaningful interactions and relationships with users. Put users first and can manage competing priorities. Able to collaborate with user researchers and can sell and represent users internally. Understands the differences between user needs and desires of the users. Able to champion user research to focus on all users. Can prioritise and define approaches to understand the user story, guiding others in doing so. Can offer recommendations on the best tools and methods to be used.
- Ongoing software management – Ensures the integrity of software solutions across the enterprise through continual Patch Management. Maintaining code bases in common repositories such as Github.
APPLY NOW
Deadline: December 20, 2021
Job Features
Job Category | Software/ Programming / Web development |