Organization
iMMAP Inc. is an international nongovernmental organisation that provides information management services to humanitarian and development organizations. Through information management, we help our partners target assistance to the world’s most vulnerable populations. Our core philosophy is that better data leads to better decisions and that better decisions lead to better outcomes. iMMAP Inc.’s critical support to information value chains helps to solve operational and strategic challenges of our partners in both emergency and development contexts by enabling evidence-based decision-making for better outcomes.
Background
MMAP Inc. in Iraq program supports national authorities, international and local non-government organizations to enhance their information management capabilities through a comprehensive approach of tailored capacity strengthening, development of IM procedures and standards, as well as development of IM tools. The support provided by iMMAP Inc. enables evidence-based decision-making to better plan, prioritize and deliver services to those in need. The Software Developer, under the supervision of the IM/GIS Project Manager, is responsible for providing technical oversight and guidance to iMMAP Iraq’s program and technical teams. The Technical Advisor will ensure the design and development of all technologies are in accordance with industry standards and lead the conceptualization of technological approaches for project design.
Description of Duties
Software Design and Development
- Support the program and development team in collection of requirements from end users, aiding in the design of tools, workshops and needs assessments to collect information.
- Lead the development team in creating Software Requirements Specifications (SRS) during the tool design phase.
- Lead the development team in outlining the most appropriate software engineering methodology (Scrum, Agile, Waterfall) and support the creation of comprehensive development workplans using the Atlassian Jira software.
- Lead and support the full-stack development team across multiple technologies, ensuring seamless integration of front-end (UI/UX) and back-end systems. Many existing tools were built using diverse languages and frameworks (e.g., C#, MVC, PHP, ArcPy), requiring maintenance and modernization—proficiency in these is essentialIn coordination with the development team, ensure that comprehensive documentation is created, updated and maintained for all tools and software.
- Support program staff to undertake comprehensive testing and lead testing and pilot phases with project end users.
- Develop and implement IMSMA Core for DMA in collaboration with the team.
- Maintain and further develop the OSDBMA system (built with PHP and PostgreSQL), used by IKMAA to record and manage the mine action program in the Kurdistan Region of Iraq (KRI)in collaboration with the team.
Technical Guidance / Capacity Strengthening
- Provide technical guidance, oversight and support to iMMAP Iraq’s software development and program team, to ensure application of appropriate technologies, methodologies, best practices and aid problem solving.
- In coordination with the development team, ensure that comprehensive documentation is created, updated and maintained for all tools and software.
- Provide formal and on-the-job training to the development team to enhance skillsets and development processes within Iraq.
- Support the design and delivery of trainings to project beneficiaries in management and administration of new tools developed by iMMAP Iraq.
Quality Assurance / Quality Control
- Develop standard operating procedures for development processes to ensure adherence to industry standards, updating according to technological advances within the sector.
- Conduct comprehensive technical assessment of iMMAP Inc’s existing IM tools and software, including all related documentation, code and design. Draft reports with recommendations for improvements and support application of these by the software development team.
- Conduct quality assurance to ensure standard operating procedures and best practices are adhered to throughout the development process, including ad hoc code reviews to ensure compliance with coding standards.
- Conduct quality control of products to assess quality of source code, system architecture and design (user experience) and ensure that recommendations for improvements are carried out by the development team.
Project Design
- Assesses proposals to conceptualize the technical approach to any components requiring IM tool development, including methodology, timeline, resource requirements and compliance with the call for proposal’s requirements.
- Maintain up-to-date knowledge of technological advancements and undertake research to support project design and uptake of innovative approaches relevant and applicable to iMMAP’s programme in Iraq.
MONITORING AND EVALUATION
- Actively contribute to the learning process of the project, in close coordination with the Country Representative and iMMAP Headquarters.
SECURITY
- In coordination with the Country Representative and Country Security Advisor, ensure security plans and protocols for the areas of operation and for the project are adequately followed.
ORGANIZATIONAL LEARNING
- As part of the iMMAP commitment to organizational learning, and in support of the understanding that learning organizations are more effective, efficient, and relevant to the communities they serve, it is expected that staff will commit 5% of their time to learning activities that benefit iMMAP as well as individual professional development.
ACCOUNTABILITY TO BENEFICIARIES
- iMMAP team members are expected to support all efforts toward accountability, specifically to beneficiaries of iMMAP programs, and to international standards guiding international relief and development work while actively engaging beneficiary communities as equal partners in the design, monitoring and evaluation of field projects.
Requirements
Education
- Bachelor’s or master’s degree in computer science, Software Engineering or a related field.
Experience
- A minimum of 7 years’ experience as a software engineer, with a strong background in multiple programming languages and technologies.
- Extensive experience in software architecture design and development, including end-user needs assessment and the creation of Software Requirements Specifications (SRS).
- Proven experience in developing standard operating procedures (SOPs) and software development guidelines.
- Excellent information management skills, including data visualization.
- Experience in the design and delivery of development training packages would be an asset.
Programming
- PHP, C#, ASP.net, JavaScript
- PHP Laravel or ASP MVC
- MySQL, SQLServer or PostgreSQL
- xlsForms (Kobo, ONA, ODK, Survey123)
- Experience in GIS programming (ArcGIS, QGIS, ArcPy, etc.)
Soft skills
- Excellent problem-solving and analytical skills.
- Strong communication and interpersonal skills.
- Flexible and ability to adapt to different cultural contexts
- Ability to work effectively in a multi-cultural team and provide a leadership role.
- Fluent (speaking, reading and writing) in English language.
- Good working knowledge of Arabic and Kurdish language would be a strong advantage.