Beyond the Classroom: Preparing first-year African CS Students to Succeed in the Workplace
Lessons learned from supporting first-year African computer science students through landing and succeeding in internships
This week marks the beginning of the second year for the founding class of Kibo’s online Bachelor’s degree in Computer Science. Students are returning following a term of industry experience, where they completed internships with various companies and open-source projects.
Internships were pivotal in my own learning journey. My first internship with a UN-affiliated organization in 2005 helped me realize that international relations was not my true calling. Another internship equipped me with Excel and modeling skills, which continue to serve me 15+ years later, long after I rejected a career in consulting or finance. While not every internship was thrilling, each one provided valuable lessons. I learned to adapt to different professional environments, built a professional network and reputation, and discovered what I enjoyed and didn’t enjoy along the way.
So, when we designed Kibo's curriculum, I knew that work experience had to be a cornerstone.
At the end of their first and second years, Kibo students complete a term of industry experience, where they complete work assignments guided by industry professionals.
As we welcome our founding students back to the classroom, I reflect on what we got right during this first iteration of industry experience, as well as areas we plan to improve.
Lesson 1: Preparation Matters
In the term leading up to their internships, students were required to complete a preparatory course. They had to create application materials, including resumes, LinkedIn profiles and portfolios. They also completed mock behavioral and technical interviews with peers and industry professionals. Finally, students were required to apply for internships and track their applications.
Students underestimated how much work it would take to land an internship. Leila Chibole, a Student Success Manager at Kibo who served as a Teaching Assistant explains:
“In the beginning, they (students) underestimated how helpful this course was going to be. When they started getting feedback on their resumes and from mock interviews, they realized there’s a lot that needed to be done, and became more awoken to reality”
The preparation turned out to be extremely valuable for students, especially the mock interviews. Students struggle to articulate their skills and experiences effectively, so mock interviews were an important opportunity to get feedback. During this preparation period, they were concurrently enrolled in a Data Structures & Algorithms class that also included practicing technical interviews.
Watch: Jimmy describes the industry experience preparation course
What we plan to do better
We initially wanted students to complete 3 mock professional interviews, but struggled with the logistics (e.g., finding enough interviewers, scheduling, managing no-shows, etc.). We eventually adopted TalkHiring, an automated interviewing platform with AI feedback. This not only resolved the availability issue, but also emerged as a valuable learning tool. Many students found it more comfortable to practice with TalkHiring before speaking with a professional. With the AI interviewer, they could do as many practice rounds as they wanted, improve based on feedback, and build up their confidence before the "real thing" with a human interviewer. In the next iteration of the class, we’ll incorporate automated practice from the beginning, so that students can practice before interacting with professionals.
Another area we want to improve is helping students identify and craft meaningful narratives to incorporate into their interview responses. Students hesitate to stand out, which leads to generic resumes and answers. In the age of AI-generated drivel, the ability to tell a coherent and unique story will make them far more compelling candidates in the competitive job market.
Lesson 2: Manage Expectations
We encountered a few instances of resistance from students. Notably, some students resisted guidance on structuring their resumes, particularly the recommendation to keep them to one page, or suggestions to omit specific details like the number of code commits. Though it can be frustrating when students resist, I try to investigate the underlying beliefs driving their actions. In this case, their resistance stemmed from a combination of concern that they hadn't accomplished enough and anxiety about presenting their best selves. These feelings are entirely justified, given how early students are in their professional journeys. It's a common misconception in written materials that longer is better. One of our professional mentors shared her strategy for convincing mentees to condense their resumes. She showed them that even after 7 years of experience, including at companies like Google, her resume remained just one page.
Another area we faced some resistance was in internship placements. Many students had firm ideas about what they wanted (or didn’t want) to do. Despite the challenges they faced in finding internships, a few hesitated to accept placements arranged by Kibo because these roles didn't precisely align with their preferences. In these situations, the key was helping students recognize and remember that university is a time for exploration and learning. During the early years, the goal isn't to land the "perfect match" (spoiler: there's no such thing); it's about learning how to excel in diverse roles and exploring various functions and industries.
What we plan to do better
First-year students were part of mentorship groups and had monthly meetings with professionals for support. These meetings proved to be an excellent forum for students to discuss their challenges and frustrations related to internship applications and experiences. Due to their professional backgrounds, mentors had the credibility to address resistance and help students build resilience. We were fortunate that this happened without much prompting from us. It turned out to be one of the most valuable and enjoyable parts of mentorship for both students and mentors. In the next iteration, we plan to more deliberately integrate mentors into the internship preparation process.
Watch: Victor describes the hardest part of preparing for internships
Lesson 3: Open source is a great learning tool
Most students worked on open-source internships, which we organized in partnership with the amazing team at CodeDay Labs. As we scale industry experience for first-year students, we plan to double down on open source.
Open source is a fantastic way to learn. Many of our students aspire to work for foreign companies, often in remote roles. Open source projects expose them to essential practices of successful distributed teams, including strong reading comprehension, effective written communication, and the ability to adhere to established standards. David Walter, formerly an Engineering Manager at Amazon and currently a Professor at Kibo, served as a mentor for a student team contributing to Zulip. He shares some valuable insights on the learning and challenges associated with open source:
As David explains, open source helps students understand that, when one joins a large software company or project, the goal is not to understand all the code. Instead, it is to gain a sufficient understanding of the structure, principles, and standards of the code base, and to do so quickly enough to make meaningful contributions.
What we plan to do better
While the experience of working with different technology stacks was valuable, especially for first-year students, we are considering a shift toward identifying projects that use the programming languages we teach (Python and JavaScript). The aim is to reduce the initial learning curve and expedite students' ability to engage and contribute with the project.
Looking Ahead
I'm proud of our founding class and our team for their hard work preparing for and completing this experience. I am grateful to the professionals who mentored students before and during internships, as well as our employer partners, with special gratitude to the exceptional team at CodeDay Labs.
As highlighted above, there is significant room for improvement. Though most students made remarkable progress, it’s worth acknowledging that a small number did not do well during the internships. In recent conversations with them, I learned that they faced many of the challenges we’ve seen during the academic term. Some had infrastructure (power and data) challenges and didn’t seek out support promptly, while others became overwhelmed and let imposter syndrome get in the way. In each case, both the students and our team are reflecting on lessons learned and how we might avoid repeating these mistakes.
One of my favorite mantras at Kibo is, "we are iterating towards greatness." When confronting big challenges, the key is to take the first step, engage in honest self-reflection, and commit to gradual improvement. Showing up, doing the work, and committing to getting a bit better every day will add up. That's what I hope this first year internships taught our students. It’s a lesson I learn over and over again.
I'm eager to hear from you, our readers. If you have experience helping undergraduates prepare for and succeed in internships, please share your insights. For professionals interested in contributing to the growth of the next generation of African tech and engineering talent, please sign up here to join our professional volunteer pool. Lastly, if you'd like to delve deeper into our teaching philosophy, you can watch this video featuring our teaching team discussing the "why" and "how" of our teaching approach.