IT Job At International Rescue Committee
Recruit Finds
Nairobi, Kenya
Job summary
Software Developer Analyst at International Rescue Committee
About this role
Software Developer Analyst Job Opportunity at IRC
The International Rescue Committee (IRC) is seeking a Software Developer Analyst to support technology used for data collection, programme administration and data analysis. The position focuses on the development, implementation and ongoing support of IRC’s global Data Toolkits and the systems used to manage and analyse the information generated through these tools.
The role brings together software development, data management, technical support and programme technology. The successful candidate will work with teams and stakeholders in different locations and at different levels of the organisation to develop and improve technology products and processes.
Among the technologies involved in this position are CommCare, Microsoft Power BI and a Microsoft SQL Server Azure-based data warehouse. The Software Developer Analyst will contribute to the development and support of these platforms while helping maintain standards around data quality, security, documentation and system configuration.
The Purpose of the Position
This role is centred on making data technology work effectively for programmes. The Software Developer Analyst will help design, develop, configure and maintain Data Toolkits while also supporting the teams that use them.
The position involves more than software development alone. It includes reviewing requirements, providing technical guidance, supporting users when issues arise, documenting systems and helping teams during technology pilots and rollouts.
The successful applicant will therefore need to understand both the technical side of data platforms and the practical needs of programme teams.
Building and Maintaining Data Toolkits
One of the core responsibilities will be designing, developing and maintaining Data Toolkits using CommCare.
The developer will be involved in ensuring that these tools are properly developed and supported for use within programmes. This requires an understanding of how data collection platforms are configured and how they can be improved to meet programme requirements.
The position also includes designing and building Power BI dashboards connected to live CommCare data. This means the successful candidate will contribute to turning collected programme data into dashboards that can support analysis and provide useful information to stakeholders.
Turning Requirements Into Working Systems
A significant part of the job involves understanding software requirements before development begins.
The Software Developer Analyst will review requirements and determine their feasibility and complexity. These requirements will then need to be converted into estimated developer tasks.
An important part of this process is ensuring that requirements connect clearly with the proposed system design and existing configuration. The developer will therefore need to check that the requested functionality can be properly traced through the system before development work starts.
This requires careful analysis and strong attention to detail.
The position also involves providing updates, technology insights and clarifications to relevant stakeholders. Clear communication will be important when explaining technical decisions or discussing the progress of development work.
Data Definitions and Documentation
The Software Developer Analyst will also be responsible for maintaining data and metadata definitions.
This includes documentation and versioning, ensuring that information about the systems and their data remains properly organised and maintained.
Technical documentation is another responsibility. The successful candidate will create materials such as system diagrams and implementation manuals.
Good documentation can help teams understand how systems are structured and how technology products are implemented and maintained. For this reason, the applicant should be comfortable explaining technical information in a clear and organised way.
Maintaining Data Quality
The position includes responsibility for implementing and maintaining data quality processes and development standards.
The Software Developer Analyst will need to pay close attention to the quality of products being developed and the information being handled through the systems.
The role also requires compliance with IRC's data protection, confidentiality and security policies. This makes responsible handling of data an important part of the position.
The successful applicant should therefore understand that technical development must be carried out alongside appropriate data protection and security practices.
Supporting Technology Users
The position includes technical support responsibilities for measurement technology products that have been rolled out to different countries and teams.
The Software Developer Analyst will provide Tier-2 and Tier-3 support arising from countries and the Regional Technology Support Team.
This means the role will involve dealing with technical issues that require support beyond basic user assistance. The developer will also provide technical assistance and help with routing issues when required.
During pilots and technology rollouts, the successful candidate will provide training and hyper-support. This work will be carried out closely with regional technology teams to help users understand and effectively use the measurement technology products.
Working Across Teams and Locations
The position requires collaboration with staff at different levels and in different locations.
The successful candidate should be able to establish and maintain working relationships across departments and levels of the organisation. The role will involve working within a cross-functional environment while also handling certain responsibilities independently.
Being able to communicate clearly with technical and non-technical stakeholders will therefore be important.
The applicant should be able to explain complex technology issues in simple language and adjust technical terminology depending on the audience.
Software Development Practices
Applicants should have experience with source code and version control platforms. Examples given for this role include GitHub and Azure DevOps or similar platforms.
The position also requires strong knowledge of team development processes. Experience with approaches such as pair programming, shadow sessions and code reviews is required.
Quality assurance is another important area. The successful applicant should have strong practices around unit testing, integration testing and regression testing. These processes help ensure that code being released into production meets the expected quality requirements.
The role also requires working knowledge of agile software delivery practices.
Applicants should be familiar with concepts such as user stories, backlog grooming and sprint ceremonies. The position is suited to someone who prefers iterative development driven by clearly defined requirements.
Technical Experience Required
The employer is looking for a candidate with three to six years of experience working within the technology field to develop and roll out data or technology platforms for programmes.
Within this experience, at least three years should involve developing, implementing and supporting CommCare for large and complex programmes.
This CommCare experience is a particularly important part of the requirements because the position will involve continued development and support of Data Toolkits using the platform.
Additional experience with Databricks, Dataverse connectors, APIs and Microsoft Azure is also required.
Educational Background
Applicants should hold a Bachelor's degree in Computer Science, Information Technology or a related discipline.
The academic background should be supported by the relevant professional experience required for the position, particularly experience involving data platforms, technology development and programme systems.
Personal and Professional Skills
The Software Developer Analyst should have strong analytical and problem-solving abilities.
The position calls for analytic curiosity and innovative approaches to solving problems using a systems-thinking approach. This means the applicant should be interested in understanding how different parts of a technology environment connect rather than focusing only on individual issues.
Attention to detail is also essential. The developer will be expected to maintain fidelity to requirements and contribute to high-quality technology products.
Communication skills are equally important. The applicant should be able to communicate effectively in English, both verbally and in writing. This includes participating in everyday discussions and team meetings as well as preparing requirements and design specifications.
The ability to communicate clearly and concisely will be valuable throughout the role.
Working Independently and With Others
The role requires someone who can operate independently while also contributing effectively within a dynamic, cross-functional team.
The successful candidate should be comfortable collaborating with colleagues from different departments and working with people at different organisational levels.
Building and maintaining professional relationships will form part of the day-to-day responsibilities, particularly because the Data Toolkits support programmes and teams working across different locations.
What the Role Brings Together
The Software Developer Analyst position combines several areas of technology work. These include software development, data platform management, dashboard development, technical support, documentation, testing, data quality and security.
The successful candidate will work with CommCare, Power BI and Azure-based data systems while supporting the development and rollout of technology products used by programmes.
The role also provides an opportunity for a technology professional to contribute beyond coding. Understanding requirements, working with stakeholders, supporting users, providing training and improving development processes are all part of the position.
Candidate Profile
A suitable applicant will have a Bachelor's degree in Computer Science, Information Technology or a related field, together with three to six years of relevant technology experience.
At least three years of this experience should involve CommCare development, implementation and support for large and complex programmes.
The candidate should also have experience with version control platforms, software testing, agile development practices and collaborative programming processes. Knowledge of Databricks, Dataverse connectors, APIs and Microsoft Azure is also required.
Strong communication, attention to detail, analytical thinking, problem-solving ability and the capacity to work across teams will be important for success in the position.
Overall, this opportunity is aimed at a technology professional who can combine development expertise with data systems knowledge and practical technical support to help deliver and maintain IRC's Data Toolkits and related measurement technology products.
