Master
ThoughtWorks
Menu
Close
  • What we do
    • Go to overview
    • Customer Experience, Product and Design
    • Data Strategy, Engineering and Analytics
    • Digital Transformation and Operations
    • Enterprise Modernization, Platforms and Cloud
  • Who we work with
    • Go to overview
    • Automotive
    • Healthcare
    • Public Sector
    • Cleantech, Energy and Utilities
    • Media and Publishing
    • Retail and E-commerce
    • Financial Services and Insurance
    • Not-for-profit
    • Travel and Transport
  • Insights
    • Go to overview
    • Featured

      • Technology

        An in-depth exploration of enterprise technology and engineering excellence

      • Business

        Keep up to date with the latest business and industry insights for digital leaders

      • Culture

        The place for career-building content and tips, and our view on social justice and inclusivity

    • Digital Publications and Tools

      • Technology Radar

        An opinionated guide to technology frontiers

      • Perspectives

        A publication for digital leaders

      • Digital Fluency Model

        A model for prioritizing the digital capabilities needed to navigate uncertainty

      • Decoder

        The business execs' A-Z guide to technology

    • All Insights

      • Articles

        Expert insights to help your business grow

      • Blogs

        Personal perspectives from ThoughtWorkers around the globe

      • Books

        Explore our extensive library

      • Podcasts

        Captivating conversations on the latest in business and tech

  • Careers
    • Go to overview
    • Application process

      What to expect as you interview with us

    • Grads and career changers

      Start your tech career on the right foot

    • Search jobs

      Find open positions in your region

    • Stay connected

      Sign up for our monthly newsletter

  • About
    • Go to overview
    • Our Purpose
    • Awards & Recognition
    • Diversity & Inclusion
    • Our Leaders
    • Partnerships
    • News
    • Conferences & Events
  • Contact
Global | English
  • United States United States
    English
  • China China
    中文 | English
  • India India
    English
  • Canada Canada
    English
  • Singapore Singapore
    English
  • United Kingdom United Kingdom
    English
  • Australia Australia
    English
  • Germany Germany
    English | Deutsch
  • Brazil Brazil
    English | Português
  • Spain Spain
    English | Español
  • Global Global
    English
Blogs
Select a topic
View all topicsClose
Technology 
Agile Project Management Cloud Continuous Delivery  Data Science & Engineering Defending the Free Internet Evolutionary Architecture Experience Design IoT Languages, Tools & Frameworks Legacy Modernization Machine Learning & Artificial Intelligence Microservices Platforms Security Software Testing Technology Strategy 
Business 
Financial Services Global Health Innovation Retail  Transformation 
Careers 
Career Hacks Diversity & Inclusion Social Change 
Blogs

Topics

Choose a topic
  • Technology
    Technology
  • Technology Overview
  • Agile Project Management
  • Cloud
  • Continuous Delivery
  • Data Science & Engineering
  • Defending the Free Internet
  • Evolutionary Architecture
  • Experience Design
  • IoT
  • Languages, Tools & Frameworks
  • Legacy Modernization
  • Machine Learning & Artificial Intelligence
  • Microservices
  • Platforms
  • Security
  • Software Testing
  • Technology Strategy
  • Business
    Business
  • Business Overview
  • Financial Services
  • Global Health
  • Innovation
  • Retail
  • Transformation
  • Careers
    Careers
  • Careers Overview
  • Career Hacks
  • Diversity & Inclusion
  • Social Change
Career HacksCareers

Level Up Kampala: New University Training Program

Raymond B. Matovu Raymond B. Matovu

Published: May 27, 2014

Recently, ThoughtWorks Kampala hosted a seven-week long training program called Level Up, for students at the Makerere University in Uganda. The aim of the program was to teach students best practices in software development as a part of ThoughtWorks’ capacity building program.

Background

Since ThoughtWorks opened an office in Uganda two years ago, we’ve collaborated with universities and technology hubs in the region. Our goal is to evangelise agile, continuous delivery and design practices and open source. While the concept of training university students wasn’t new to the office, we adopted the name “Level Up” from our sister office in Australia. Level Up in Australia is a series of programs that help create a bridge between the software industry and academia. The program has evolved from a three-week-all-day schedule with 17 participants in 2013 to a seven-week, once-a-week schedule with 21 participants this year. We incorporated a lot of learning based on the feedback we’d received from earlier participants and facilitators into the planning of this year’s program. We tried to make sure that we addressed all the challenges we’d faced in our last program in Uganda.

Course Structure

The first program we ran was a three-week Object Boot Camp at the university. Since these projects were to count towards the students' class record, they wanted to focus on completion. Quality and best practices, however, took a back seat. 

Knowing this, we had to rethink our model to organise the new program. Professor Hugh Cameron from Makerere requested that we incorporate a project like problem for students to work on during the training. He also requested that we teach them how to build a client-server application using RESTful web service architecture.

Topics

Content

Environment and Tools

Ubuntu+ IDE + Programming Language + Git

Version Control Systems + Pair Programming + TDD

Git commands + techniques of PP + TDD on very simple examples

OO basics 1 + TDD

SRP + Expressing intent + Four principles of simple design

OO basics 2 + TDD

Value objects + Delegation + Collaboration + Inheritance

Continuous Integration + Frameworks 1

Travis + Snap, Play or Spring

Frameworks 2 + Deployment

Frameworks continued + Heroku/Appfog

Finalise Project

Finish up + Q&A + Agile

Facilitated in Country

In past capacity building initiatives we had a challenge finding facilitators to conduct bootcamps and trainings on a regular basis. Since we don’t hire anyone to be an exclusive trainer, we have to balance these activities against our delivery commitments to our clients! So, we decided not to rely just on ThoughtWorks’ global network to send facilitators for such workshops. Our local office had to step up and take this responsibility. We had spread our content over seven Saturdays. As with everything at ThoughtWorks, we needed a pair to lead each day – a total of 14 facilitators. To make it an easy sale, I asked facilitators to commit just a Saturday each. Before we knew it, we had more than seven pairs available to lead the program.

Internet connectivity

On our earlier program we had a tough time grappling with poor Internet facilities at the university lab. It became quite difficult for students and facilitators to work effectively with an erratic Internet connection. So, we decided to host the program at our office on Lumumba Avenue. Apart from a good Internet connection, the facilitators also had the incentive of a familiar venue.

Candidate selection

Like any other learning program, we had to shortlist participants with relatively similar knowledge of programming. We don’t have a very huge office, so we always had limited slots for the program. In the past program, the facilitators noticed the students had varying degrees of skill and experience. This made it difficult to cover certain topics as some students took longer to get up to speed. This time, we worked with the Software and Business Incubation (SBI) lab at the university to shortlist students with similar skills and experience. Alongside, we also gave a stronger preference for women in the selection process.

Technical sessions

We kicked off the program with an insightful discussion between students and members of the ThoughtWorks Emerging Economies Leadership Development (EELD) team at the university campus. Students talked about their experience as upcoming technologists and asked the team several questions ranging from startups and business, research, women in technology etc.

We followed up the kick off with seven Saturdays of training at ThoughtWorks Kampala. Each weekend had a similar pattern. We’d begin the day with an interactive lecture on a given topic. In the afternoon, the participants would practice the techniques as a group while working on the class project. The ThoughtWorks lunches made for a great opportunity to not just ‘talk tech’ but to also build bonds that we believe will outlast the training!

We are building a unique community of Africans developing software in Africa for Africans. Come join us! 

Ready to shape the future of tech?

Join our team of passionate and bright technologists.

Join us
Master
Privacy policy | Modern Slavery statement | Accessibility
Connect with us
×

WeChat

QR code to ThoughtWorks China WeChat subscription account
© 2021 ThoughtWorks, Inc.