Internships and Attachments for Kenyan Tech Students
Start applying for tech attachments and internships two to three months before your placement window. Target startups and product companies where you will write real code, not generic IT departments. Once placed, treat it as a three-month job interview by contributing meaningfully, asking for real tasks, and building relationships that lead to full-time offers.
How Internships and Attachments Work in Kenya
If you are a university or college student in Kenya studying computer science, IT, software engineering, or a related field, you will likely need to complete an industrial attachment or internship as part of your degree requirements. These terms are sometimes used interchangeably, but there are differences worth understanding.
Industrial attachment is typically a mandatory component of your degree program, usually lasting 8 to 12 weeks. Your university requires it, often during a specific semester or holiday period. You need an official attachment letter from the company, and your university may send a supervisor to check on you. The focus is on practical exposure to a professional environment, and your university may require a report at the end.
Internships can be mandatory or voluntary, and they vary more in structure. Some are paid, some are not. Some last three months, others six. Some are structured programs with mentorship and projects, while others are informal arrangements where you show up and shadow someone. In the Kenyan tech industry, the distinction between attachment and internship has blurred significantly. Many companies treat them the same way: you come in, you work on real projects, and if you perform well, you might get an offer.
The reality check. Most tech students in Kenya end up at placements where they do very little actual software development. They spend three months in an IT department reformatting computers, running cables, or doing data entry. This satisfies the university requirement but does almost nothing for their career. The students who get the most out of their attachment are the ones who actively seek placements at companies where they will write code, build features, and work alongside professional developers.
Paid vs. unpaid. Many attachments and internships in Kenya are unpaid, especially the university-mandated ones. Some companies offer a stipend (typically KES 10,000-25,000/month). A few well-established tech companies and banks offer paid internship programs with structured compensation. While getting paid is obviously better, do not turn down an excellent learning opportunity solely because it is unpaid. The skills and connections you build at a strong tech company are worth more than three months of stipend at a place where you learn nothing.
Where to Apply (And Where to Avoid)
The company you choose for your attachment shapes your experience entirely. A thoughtful choice here can accelerate your career. A careless one wastes three months of your life.
Target: tech startups and product companies. Startups with small teams (5-30 people) are often the best attachment experience. Why? Because they need every person to contribute. There is no room for an intern to sit in a corner and watch. You will be given real tasks, real code to write, and real products to work on. Many startups in Nairobi actively welcome attachment students because they get capable help at low or no cost. Look for startups building products you find interesting, whether that is fintech, health tech, ed-tech, or e-commerce.
Target: established tech companies with structured programs. Companies like Safaricom, Andela, Moringa, Cellulant, and major banks occasionally run structured internship programs with mentorship, project assignments, and clear learning outcomes. These programs are competitive and often recruit from specific universities, so start your application early. The advantage of these programs is structure: you know what you will learn and who will mentor you. The disadvantage is that they fill up fast and tend to favor students from certain institutions.
Avoid: generic IT departments at non-tech companies. Being the "IT intern" at a logistics company, NGO, or government office usually means fixing printers, setting up email accounts, and maintaining a database built in Microsoft Access in 2009. You learn almost nothing about modern software development. If your university placement office pushes you toward these placements, push back. Explain that your career goal is software development and you need a placement where you will write code.
Avoid: companies that "collect" interns. Some companies in Nairobi accept dozens of attachment students at once and put them in a room with nothing to do. They get their CSR checkbox ticked, and you get an attachment letter. The experience is worthless. Ask during your application: "How many interns do you take at a time?" and "What projects will I be working on?" If the answers are vague or the numbers are high (more than five interns for a small company), look elsewhere.
How to find opportunities. Check company websites directly (most post internship openings on their careers page). Search LinkedIn for "intern," "attachment," or "graduate trainee" positions in Nairobi. Ask your lecturers and career office for leads, but do not rely on them exclusively. Reach out directly to CTOs and engineering managers at startups you admire. A message like "I am a third-year CS student at [university]. I am looking for a software development attachment for [dates]. I have built [project] using [technologies]. Would your team be open to hosting an attachment student?" is direct, professional, and shows initiative.
Application Timeline: When to Start and What to Prepare
Timing matters. The best placements fill up months before the attachment window opens. Here is a realistic timeline for Kenyan tech students.
Three months before your placement window: start researching and applying. Make a list of 15-20 companies you would want to work at. Check their websites for internship postings. Reach out to developers at those companies on LinkedIn or Twitter. Begin sending applications. Yes, this feels early. That is the point. Early applicants get first consideration.
Two months before: follow up and expand your search. If you have not heard back from your first round of applications, follow up with a polite email. Send new applications to companies you missed in the first round. Attend a meetup or two (GDG Nairobi, Nairobi.js) and tell people you are looking for a placement. Personal introductions from community members carry weight.
One month before: confirm and prepare. By now, you should have at least one confirmed placement. If you do not, widen your search to include companies outside your preferred list. Ask classmates, lecturers, and family contacts for any leads. A placement at a less-ideal company is better than no placement at all, though you should keep trying for a better fit even as you confirm a backup.
What to prepare for your application.
- A clean CV: Tailored for tech roles. Lead with your projects, technical skills, and relevant coursework. Our developer CV guide covers the specifics.
- A portfolio or GitHub profile: Even two or three well-documented personal projects demonstrate that you code outside of class. This immediately sets you apart from candidates who only have coursework to show.
- A brief cover letter or introduction email: Keep it specific to the company. Mention why you want to work there (not generic "I want to gain experience"), what skills you bring, and what you hope to learn.
- Your university's attachment letter: Most companies require an official letter from your university before confirming your placement. Get this from your department or career office early to avoid last-minute delays.
The uncomfortable truth about competition. Quality tech placements in Nairobi are competitive. Many CS students apply for the same positions, and companies can be selective. The students who stand out are the ones with personal projects, GitHub activity, and a clear demonstration of interest beyond the classroom. If you are reading this article, you are already more proactive than most applicants. Channel that energy into building something before you apply.
Making the Most of Your Placement (Not Just Warming a Seat)
You are in. You have your placement. Now what? The difference between students who waste their attachment and those who launch their careers from it comes down to mindset and daily behavior.
Ask for real work from day one. Do not wait for someone to assign you a task. Walk up to your supervisor or the developer you are assigned to and say: "What can I work on today?" If the initial assignment is documentation or testing, do it well and fast, then ask for more. Demonstrate that you can handle small tasks reliably, and bigger responsibilities will follow. If you sit quietly and wait for instructions, you will sit quietly for three months.
Treat it like a job, not a school requirement. Show up on time. Dress appropriately. Be present and engaged. Do not spend the day scrolling your phone or watching YouTube tutorials while "at your desk." The developers around you are evaluating whether they would want to work with you permanently. Every day is a soft interview. Professional behavior signals maturity and readiness for full-time work.
Write code, even if they do not ask you to. If your placement is not code-heavy (despite your best efforts), create your own projects during downtime. Build a tool that solves a problem you have noticed in the office. Automate a manual process. Create a simple internal dashboard. Show your work to your supervisor. Initiative like this gets noticed and sometimes leads to real responsibilities. It also gives you portfolio material regardless of what your official duties were.
Take notes obsessively. Write down every new tool, process, architecture decision, and workflow you encounter. How does the team use Git? What does their deployment pipeline look like? How do they handle code reviews? These observations become your professional knowledge base. When you start your first full-time role, you will draw on this knowledge constantly.
Learn the domain, not just the code. If you are placed at a fintech company, learn how mobile money works. If you are at a health tech company, understand the data challenges in healthcare. Domain knowledge combined with technical skills makes you much more valuable than technical skills alone. Ask product managers, business analysts, and non-technical colleagues about the business side. Understanding why software is built a certain way helps you build it better.
Build relationships with everyone. Talk to developers, designers, product managers, and even the CEO if the company is small enough. These people become your professional network. The developer who mentors you during your attachment might recommend you for a job two years later. The founder you had lunch with might be your future employer. Every person you interact with professionally is a potential node in your career network.
Converting Your Attachment into a Full-Time Job Offer
This is the goal for many attachment students, and it is absolutely achievable if you approach the placement strategically. Companies prefer to hire people they already know and trust. If you perform well during your attachment, you are a lower-risk hire than a stranger they interview for 90 minutes.
Signal your interest early. Do not wait until your last week to mention that you would like to stay. Around the halfway point of your placement, have a conversation with your supervisor: "I am really enjoying the work here and learning a lot. Is there a possibility of a full-time position after my attachment?" This gives the company time to consider it, budget for it, and observe your performance with the potential hire in mind.
Make yourself hard to replace. By the end of your attachment, you should understand a specific part of the codebase deeply enough that replacing you would be inconvenient. Not in a manipulative way, but because you have genuinely invested in learning the system and contributing meaningfully. If you have been fixing bugs, adding features, and improving documentation in a specific area, the team will feel your absence when you leave. That feeling is what triggers a job offer.
Deliver a visible project. Try to complete at least one project or feature that the team can point to and say "the intern built that." It does not need to be massive. A small internal tool, a feature improvement, a test suite for an untested module, or a documentation overhaul all qualify. Having a concrete deliverable makes the case for hiring you much easier for your supervisor to justify to management.
Ask for feedback before the end. Two weeks before your attachment ends, ask your supervisor for honest feedback. "What have I done well? Where can I improve? Is there anything specific I should work on before my last day?" This shows maturity and self-awareness. It also opens the conversation about your future. If the feedback is positive, a natural follow-up is "do you see an opportunity for me to continue here?"
If they do not have a position right now. Not every company can hire every good intern. Budget constraints, headcount freezes, and timing issues are real. If they cannot offer you a position immediately, ask for three things: a written recommendation or reference letter, permission to use them as a reference on your CV, and agreement to stay in touch. Some companies hire former interns months later when a position opens up. Staying connected (a LinkedIn message every few months, sharing something relevant you built) keeps you top of mind.
The attachment report as a career document. Your university requires a report. Most students write a boring description of what the company does and what they observed. Instead, write your report around what you built, what technologies you used, the problems you solved, and what you learned. This report becomes a portfolio piece. You can reference specific sections in future job applications to demonstrate real-world experience.
Mistakes That Waste Your Attachment (And How to Avoid Them)
These patterns show up consistently among Kenyan tech students, and each one is preventable with awareness and planning.
1. Accepting the first placement without evaluating it. Your career office sends you to an NGO's IT department. You accept without asking what you will actually do there. Three months later, you have learned how to replace toner cartridges and reset passwords. Before accepting any placement, ask specific questions: "What projects will I work on? Which technologies does your team use? Will I be writing code?" If the answers are vague, keep looking.
2. Being passive. Sitting at your desk, waiting for instructions, checking your phone, and going home at 5 PM is the default mode for many attachment students. It is also the fastest way to waste the opportunity. The students who benefit most from their placements are the ones who actively seek tasks, ask questions, request code reviews, and volunteer for extra work. Nobody is going to chase you down and insist you learn something. The initiative has to come from you.
3. Not building your portfolio during the attachment. Three months of full-time work should produce tangible portfolio pieces. Commit your code to your GitHub (for non-proprietary work). Document what you built. Take notes on the technologies and patterns you used. If you leave your attachment with nothing to show except a completion letter, you missed the point.
4. Burning bridges on the way out. Even if your attachment was not great, leave professionally. Thank your supervisor. Write a proper handover document for any ongoing work. Connect with your colleagues on LinkedIn. The tech industry in Kenya is small. The person you worked with at your attachment might interview you at a different company two years from now. Leaving a positive impression costs nothing and can pay dividends later.
5. Not preparing technically before the placement starts. If you know your placement will involve React and you have never written React code, spend two weeks before your start date learning the basics. Showing up with some familiarity, even beginner-level, dramatically changes the kind of work you will be assigned. A student who can write basic React components in week one gets real feature work by week three. A student who needs to learn React from scratch during the placement might never get past tutorials. McTaba's Tech Foundations course (KES 2,999) is a solid way to build that baseline if you are starting from scratch.
6. Treating the attachment as separate from your career. Your attachment is not a university requirement you endure and forget. It is the first chapter of your professional career. The skills, relationships, references, and portfolio pieces you build during these three months directly influence your first job search. Treat it accordingly.
Key Takeaways
- ✓The quality of your placement matters more than the name on the letter. A three-month attachment where you write real code at a 10-person startup is infinitely more valuable than sitting in the IT department of a large corporation updating spreadsheets.
- ✓Start applying two to three months before your placement window. Good positions fill up fast, especially at established tech companies and well-known startups. Apply broadly and follow up actively.
- ✓Treat your internship as a three-month job interview. The company is evaluating whether they want to hire you. Your behavior, attitude, and output during the placement directly determine whether you receive a job offer.
- ✓Build real projects and skills during your attachment, not just attendance records. Your attachment should produce portfolio pieces, GitHub contributions, and professional references that serve your career long after the placement ends.
Frequently Asked Questions
- When should I start applying for tech internships and attachments in Kenya?
- Start two to three months before your placement window opens. Quality positions at startups and established tech companies fill up early. Begin by researching companies, preparing your CV and portfolio, and sending applications. Follow up on applications that do not receive a response within two weeks. If you wait until a month before your placement starts, most good positions will already be taken.
- Are tech internships in Kenya paid?
- It varies widely. Many university-mandated attachments are unpaid. Some companies offer stipends of KES 10,000-25,000 per month. Structured internship programs at larger tech companies and banks may offer higher compensation. While payment is important, prioritize the quality of the experience. A strong unpaid placement where you write real code and build portfolio pieces is more career-valuable than a paid position where you do data entry.
- How do I find tech internships and attachments in Nairobi?
- Check company careers pages directly, search LinkedIn for intern and attachment postings, ask your lecturers and career office for leads, and reach out directly to CTOs and engineering managers at startups you admire. Attending developer meetups (GDG Nairobi, Nairobi.js) and telling people you are looking for a placement also generates leads. Personal introductions and direct outreach are often more effective than formal application portals.
- How do I convert an attachment into a full-time job?
- Treat the attachment as a three-month job interview. Show up on time, ask for real work, deliver reliably, build relationships, and signal your interest in staying around the halfway point. Complete at least one visible project the team can point to. Ask for feedback before your last day. Companies prefer to hire people they know and trust, and a strong attachment performance makes you a lower-risk hire than an external candidate.
- What should I look for in a tech attachment placement?
- Look for companies where you will write real code, work alongside professional developers, and contribute to actual products. Ask specific questions before accepting: What projects will I work on? What technologies does the team use? How many other interns are you taking? Avoid placements in generic IT departments where the work involves hardware support, data entry, or password resets rather than software development.
- What if my university assigns me to a bad placement?
- Push back respectfully. Explain to your placement office that you are pursuing a career in software development and need a placement where you will code. If they cannot offer alternatives, find your own placement and present it to the university for approval. Most departments will accept a self-sourced placement if you provide the company details and an acceptance letter. Taking ownership of your placement search is far better than accepting three months of irrelevant work.
Ready to build real-world apps?
Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.
Apply to the McTaba Marathon