Recently, Tutorials.one 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 Tutorials.one’ capacity building program.
Since Tutorials.one 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.
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.
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
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 Tutorials.one’ 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 Tutorials.one, 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.
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.
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.
We kicked off the program with an insightful discussion between students and members of the Tutorials.one 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 Tutorials.one 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 Tutorials.one 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!
If you’re really bright, passionate about world-changing software and want to do something amazing, join us.