It Intern At Amref Kenya
Recruit Finds
Nairobi, Kenya
Job summary
Amref Kenya
About this role
Join Our Whatsapp Channel - CLIVK HERE
ICT Intern – Software Developer
About ICT Shared Services
The ICT Shared Services department provides the technology and digital systems that support Amref’s health programmes across Africa.
The department develops, maintains, and supports a wide range of internal systems, digital health platforms, and business applications used by staff, partners, and communities.
Some of the systems supported by the team include:
Case management platforms.
Review and approval systems.
Staff administration tools.
Programme and project management applications.
Digital health platforms.
Business applications and internal systems.
Integrations with established digital health tools such as DHIS2, KoboToolbox, and ODK.
The ICT team works closely with different departments to understand their needs and turn them into reliable, secure, and scalable technology solutions.
This position provides an opportunity for an aspiring software developer to gain practical experience while contributing to technology solutions that support health programmes across Africa.
Job Purpose
We are looking for an enthusiastic and motivated ICT Intern – Software Developer to join the ICT Shared Services team.
The successful candidate will work alongside experienced software developers and gain practical exposure to different stages of the software development lifecycle.
The internship will provide hands-on experience in areas such as:
Frontend development.
Backend development.
API development and integration.
Software testing.
Debugging and troubleshooting.
Database integration.
Version control.
Code reviews.
Technical documentation.
Agile software development.
The intern will have an opportunity to work on real systems and contribute to applications that support Amref's programmes and operations.
Key Responsibilities
1. Frontend Development
The intern will assist with the development and maintenance of web applications using modern frontend technologies.
Responsibilities will include:
Developing and updating web application interfaces using React.js.
Assisting with the creation of user interface components.
Developing forms and data display components.
Following existing design systems and component libraries.
Connecting frontend applications to backend services.
Helping ensure applications provide a smooth and user-friendly experience.
Supporting improvements to existing frontend functionality.
The intern will work under the guidance of experienced developers and will have opportunities to improve their React and JavaScript skills through practical projects.
2. Backend Development
The intern will also gain experience working on backend applications and services.
Key duties will include:
Assisting with backend development using C# and .NET.
Supporting applications built with .NET Framework and .NET Core.
Developing and maintaining basic backend functionality.
Supporting the creation and maintenance of RESTful APIs.
Connecting backend services to databases.
Assisting with improvements to existing backend applications.
Learning and applying good software development practices.
3. API Development and Integration
The successful candidate will gain practical experience working with APIs and connecting different software systems.
Responsibilities may include:
Building or supporting RESTful APIs.
Consuming APIs from frontend applications.
Testing API endpoints.
Troubleshooting API-related issues.
Supporting integration between frontend applications, backend services, and databases.
Assisting with documentation of API functionality.
A basic understanding of how APIs work and how different applications communicate will be important for this role.
4. Software Testing and Quality Assurance
The intern will assist the development team in ensuring that software is reliable and performs as expected.
This may include:
Testing new features before release.
Writing and running basic unit tests.
Supporting integration testing.
Identifying software defects.
Reproducing reported bugs.
Helping developers investigate and fix technical issues.
Checking that fixes work correctly after implementation.
Documenting testing activities where required.
The intern should develop an understanding that testing is an important part of producing reliable software.
5. Debugging and Troubleshooting
The successful candidate will assist with identifying and resolving software problems.
This may involve:
Reviewing reported technical issues.
Identifying the possible cause of a problem.
Reproducing the issue where possible.
Reviewing relevant code and system logs.
Working with senior developers to identify a solution.
Testing the proposed solution.
Documenting the issue and resolution when necessary.
Strong problem-solving skills and a willingness to investigate technical problems will be valuable in this role.
6. Collaboration and Teamwork
Software development is a collaborative process. The intern will work with developers and other teams to understand requirements and deliver solutions.
The intern will:
Participate in code reviews.
Work with senior software developers.
Collaborate with business analysts.
Communicate with programme staff when required.
Help translate business requirements into technical solutions.
Participate in technical discussions.
Contribute ideas during team meetings.
Ask questions and seek guidance when necessary.
The ability to communicate clearly and work respectfully with different team members is essential.
7. Version Control and Development Practices
The intern will use modern software development practices to support collaborative development.
Responsibilities will include:
Using Git for version control.
Following the team's branching strategy.
Following established commit conventions.
Maintaining organized code repositories.
Participating in code reviews.
Learning and following established development standards.
Supporting good software engineering practices.
Candidates with previous experience using Git through academic or personal projects will have an advantage.
8. Agile Development
The intern will participate in the team's Agile-style development processes.
This may include taking part in:
Daily stand-up meetings.
Sprint planning.
Technical discussions.
Task reviews.
Development planning.
Progress updates.
Sprint-related activities.
The intern will gain practical exposure to how software teams plan, develop, test, and deliver applications.
9. Documentation
Good documentation is important for maintaining software and sharing technical knowledge.
The intern will assist with:
Documenting code where appropriate.
Recording technical decisions.
Updating setup instructions.
Maintaining technical documentation.
Documenting development processes.
Keeping repositories organized.
Supporting knowledge transfer within the team.
The candidate should be comfortable writing clear and understandable technical notes.
10. Learning and Professional Development
This internship is designed to provide practical learning opportunities.
The intern will be encouraged to:
Learn new programming techniques.
Explore new software development tools.
Keep up with relevant technology trends.
Apply feedback from experienced developers.
Improve coding and debugging skills.
Develop better software engineering practices.
Share useful technical knowledge with the team.
Take responsibility for continuous professional development.
A willingness to learn is particularly important because the intern will be exposed to technologies and systems used in real-world software development.
Qualifications
1. Education
Applicants should have:
A Diploma or Bachelor's Degree in Computer Science, Software Engineering, Information Technology, or a related field.
Candidates who have completed relevant academic software development projects are encouraged to apply.
2. Programming Knowledge
The ideal candidate should have basic knowledge of:
C#
JavaScript
HTML5
CSS3
The candidate should understand basic programming concepts and be willing to develop their skills further.
3. React.js Knowledge
Applicants should have some exposure to React.js.
This experience may come from:
University or college projects.
Personal software projects.
Coursework.
Coding practice.
Previous internships or development experience.
Professional experience is not necessarily required, but the candidate should understand the basic principles of frontend development.
4. .NET and Backend Knowledge
Candidates should have a basic understanding of:
.NET Core.
ASP.NET Core.
Backend application development.
RESTful APIs.
Client-server communication.
Basic database integration.
5. Software Development Fundamentals
The candidate should understand basic concepts such as:
Object-Oriented Programming (OOP).
Data structures.
Algorithms.
Software development lifecycle.
Basic debugging.
Software testing.
Writing maintainable code.
6. Database Knowledge
Basic knowledge of relational databases is required.
Candidates should be familiar with:
Microsoft SQL Server.
SQL.
Basic database concepts.
Queries and data retrieval.
Relationships between database tables.
Practical database experience through academic or personal projects will be an advantage.
7. Development Tools
Candidates should have some familiarity with common development tools such as:
Visual Studio.
Visual Studio Code.
Git.
Git-based repositories.
Experience with other development tools will also be considered an advantage.
Key Skills and Personal Attributes
The successful candidate should demonstrate:
Strong analytical skills – ability to examine problems and identify possible solutions.
Problem-solving ability – willingness to investigate and resolve technical issues.
Good communication skills – ability to communicate clearly with technical and non-technical colleagues.
Teamwork – ability to collaborate effectively with other developers and departments.
Time management – ability to organize tasks and meet deadlines.
Attention to detail – ability to identify errors and produce accurate work.
Adaptability – willingness to learn new technologies and development practices.
Positive attitude – willingness to accept feedback and improve.
Curiosity – genuine interest in software development and technology.
What the Internship Offers
This internship provides an opportunity to gain practical experience in professional software development while working with an experienced ICT team.
The successful intern will gain exposure to:
React.js frontend development.
C# and .NET backend development.
RESTful APIs.
Database development and integration.
Software testing and debugging.
Git and collaborative development.
Code reviews.
Agile development practices.
Technical documentation.
Real-world digital health and business applications.
The position is particularly suitable for a recent graduate or diploma holder who wants to strengthen their software development skills and gain experience working on real-world technology solutions.
Ideal Candidate
We are looking for someone who is curious, motivated, technically minded, and eager to learn.
The ideal candidate does not need to know everything. However, they should have a basic foundation in software development, be willing to ask questions, accept feedback, and apply what they learn.
If you have a background in Computer Science, Software Engineering, Information Technology, or a related field, have worked on software projects, and are interested in developing your career as a software developer, this internship provides an opportunity to gain valuable practical experience.
Application
Go to Amref Kenya on jobs.smartrecruiters.com to apply