Software Engineer at IBM
Job Description
Your role and responsibilities
As a Software Developer: Generalist, you will design,
develop, test, and deliver offerings using leading-edge and/or proven
technologies. You will work in an Agile, collaborative environment to
understand stakeholder requirements and contribute to the development of
innovative software solutions.
Your primary responsibilities will include:
- Develop
Software Solutions: Design, code, and test component-level software
solutions, ensuring they are unit tested and ready for integration into
products.
- Collaborate
with Stakeholders: Work in an Agile environment to understand
stakeholder requirements and deliver solutions that meet their needs.
- Debug
Customer Issues: Design, develop, and unit test code fixes for
customer-reported problems.
- Contribute
to CI/CD Pipeline: Participate in the development of an automated
CI/CD pipeline that takes code through various quality stages.
- Deliver
Offerings: Test and deliver offerings using leading-edge and/or
proven technologies.
Required education
- Bachelor’s
Degree
Required technical and professional expertise
- Exposure
to Back-End Development: Familiarity with designing, developing,
testing, and delivering back-end components of software applications using
leading-edge and/or proven technologies.
- Experience
with Agile Methodologies: Understanding of Agile principles and
practices, with experience working in a collaborative environment to
understand stakeholder requirements.
- Component-Level
Software Design: Knowledge of designing, coding, and testing
component-level software solutions, ensuring they are unit tested and
ready for integration into products.
- Debugging
and Troubleshooting: Exposure to debugging customer-reported
problems, designing, developing, and unit testing code fixes.
- Automated
CI/CD Pipelines: Familiarity with contributing to the development of
automated CI/CD pipelines that take code through various quality stages.
- Preferred
technical and professional experience
- Front-End
Development Skills: Exposure to designing, developing, testing, and
delivering front-end components of software applications using
leading-edge and/or proven technologies.
- DevOps
Engineering Knowledge: Familiarity with DevOps engineering practices
and tools, contributing to the development of automated CI/CD pipelines.
- L3
Support Engineering: Exposure to L3 support engineering, debugging
customer-reported problems, and designing, developing, and unit testing
code fixes.
Software Engineering Intern at IBM
Software Engineering Intern at IBM Research – Africa
Date Created: October 14, 2025
Type: Internship (Fixed Term)
Work Arrangement: Hybrid
City / Township / Village: Nairobi City
State / Province: Nairobi Municipality
Country: Kenya
Company: IBM East Africa Limited
Department: Security Research, IBM Research – Zurich
Job ID: 62892
About the Role
IBM Research – Africa is offering a unique 12-week
paid internship at its Nairobi lab, designed to foster personal and
professional growth through mentorship from leading researchers and engineers.
As a Software Engineering Intern, you will work
on meaningful and impactful technology solutions, develop scalable software
systems, and collaborate with world-class scientists in the fields of climate and sustainability.
The internship encourages curiosity, innovation, and critical thinking to
address real-world challenges through technology.
Key Responsibilities
- Work
on research questions and projects aligned with IBM’s strategic interests.
- Develop
and deliver scalable software systems.
- Collaborate
with multidisciplinary research and engineering teams.
- Apply
innovative problem-solving approaches to complex technological challenges.
- Leverage
IBM’s global resources and tools to support research and development.
Qualifications
Education:
- Enrolled
in a 4th Year Bachelor’s Degree program or final year of
a Master’s program in Computer Science or a related
technical field.
Required Technical and Professional Expertise:
- Strong
understanding of algorithms, data structures, and
core computer science principles.
- Proficiency
in at least one programming language such as Java, JavaScript, NodeJS,
or Python.
- Experience
delivering software development projects.
- Familiarity
with cloud-native technologies and platforms.
- Understanding
of machine learning concepts and frameworks (e.g.
scikit-learn, TensorFlow, or PyTorch).
- Knowledge
of tools and methods in machine learning, artificial
intelligence, and data mining.
- Strong problem-solving, analytical,
and collaboration skills.
Preferred Education:
- Master’s
Degree
Additional Details
Employment Type: Intern (Fixed Term)
Shift: General (Daytime)
Travel Required: No
Commissionable/Sales Incentive Based: No
Why Join IBM Research – Africa
This internship is an exceptional opportunity to gain
hands-on experience in cutting-edge research, contribute to impactful projects,
and collaborate with some of the brightest minds in the industry.