Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Beginning an open source journey - how we used ...

Pycon ZA
October 08, 2020

Beginning an open source journey - how we used Python to survive as a code school and help other code schools by Sheena O'Connell

Umuzi is an NGO dedicated to finding high potential youth, teaching them mad skillz, and placing them in good jobs. When the COVID hit the fan (wow, what a scary thought) we had to react quickly. Our training was orignally done in person, we had about 250 students sharing an office and kitchen, and our breakout rooms were cosy to say the least.

When COVID landed in SA we acted quickly to get our students set up to work remotely. Simple things like checking attendance, runnning workshops, and making sure people's learning needs were met became non-trivial. What we needed was a learner managment system, but nothing out there fitted our needs.

And so we built.

Of course we built in Python, by leveraging well established tools like Django, DRF and Airflow we managed to do more than just stay afloat. We built a self-driven, collaboarative and agile to the core learning platform that helps our students stay on track, and learn like real dev-teams work. Our sweet-like-candy syllabus-as-code approach to course design let us unlock all sorts of efficiencies - and all the goodness of git of course.

And it turns out we aren't unique in our needs. And so the African Coding Network was born.

Basically, we want to help as many people as possible so we opened the flood gates. Our tooling and syllabus is now 100% open source, and we are actively working to recruit entire code schools across Africa to join our network. We want to let as many people as possible leverage our tools and hard won learnings.

We already have students from as far afield as Nigeria working through our courses and interacting with our local students. We've also managed to use the platform to run an end-to-end learner selection bootcamp in order to find geeklings worth investing in. We won the most scalable solutiuon prize in Ashoka Skills Innovation Challenge. And we have a growing list of schools ready to get onboard.

In this talk I'll share some tails from the trenches, and a few of our plans.

And yes, we teach Python too ;)

Pycon ZA

October 08, 2020
Tweet

More Decks by Pycon ZA

Other Decks in Programming

Transcript

  1. HI, I'M SHEENA @sheena ZATech Slack CTO of Umuzi Been

    coding in some form for > 15 years
  2. HI, I'M SHEENA @sheena ZATech Slack CTO of Umuzi Been

    coding in some form for > 15 years I � Python
  3. ONCE UPON A TIME, IN AN APARTMENT BLOCK FAR FAR

    AWAY... (if you are far from JeppesTown, JHB)
  4. UMUZI means "home" (Sort of) Not for profit Find high

    potential young people Pay them to learn
  5. UMUZI means "home" (Sort of) Not for profit Find high

    potential young people Pay them to learn Train them in high value digital skills
  6. UMUZI means "home" (Sort of) Not for profit Find high

    potential young people Pay them to learn Train them in high value digital skills NQF level 5 certification
  7. UMUZI means "home" (Sort of) Not for profit Find high

    potential young people Pay them to learn Train them in high value digital skills NQF level 5 certification Help them get jobs, help them keep jobs
  8. � � LOCKING DOWN � � 250 odd students and

    a bunch of staff on site Computers, insurance, data, medical aid, transport...
  9. � � LOCKING DOWN � � 250 odd students and

    a bunch of staff on site Computers, insurance, data, medical aid, transport... And most of our junior team mates were leaving for TIH in the near term...
  10. � � LOCKING DOWN � � 250 odd students and

    a bunch of staff on site Computers, insurance, data, medical aid, transport... And most of our junior team mates were leaving for TIH in the near term... team_size = team_size/2
  11. BUT WHAT WE REALLY CARE ABOUT IS PRODUCTIVITY Bums in

    chairs at specific times � Accountability mechanisms � �
  12. BUT WHAT WE REALLY CARE ABOUT IS PRODUCTIVITY Bums in

    chairs at specific times � Accountability mechanisms � � Async interactions � �
  13. BUT WHAT WE REALLY CARE ABOUT IS PRODUCTIVITY Bums in

    chairs at specific times � Accountability mechanisms � � Async interactions � � Self-paced learning � �
  14. WE HAD NEEDS Admin, track, and deliver training... Report on

    progress Manage multiple learning tracks
  15. WE HAD NEEDS Admin, track, and deliver training... Report on

    progress Manage multiple learning tracks Did we need an LMS?
  16. LEARNER MANAGMENT SYSTEM Allows set up of curriculums by filling

    in forms (rich- text) ... our syllabus already exists as a hugo static site
  17. LEARNER MANAGMENT SYSTEM Allows set up of curriculums by filling

    in forms (rich- text) ... our syllabus already exists as a hugo static site Allows uploading of videos and other resources
  18. LEARNER MANAGMENT SYSTEM Allows set up of curriculums by filling

    in forms (rich- text) ... our syllabus already exists as a hugo static site Allows uploading of videos and other resources ... We can just use Youtube though.
  19. LEARNER MANAGMENT SYSTEM Allows set up of curriculums by filling

    in forms (rich- text) ... our syllabus already exists as a hugo static site Allows uploading of videos and other resources ... We can just use Youtube though. Track competencies with assessments and projects
  20. LEARNER MANAGMENT SYSTEM Allows set up of curriculums by filling

    in forms (rich- text) ... our syllabus already exists as a hugo static site Allows uploading of videos and other resources ... We can just use Youtube though. Track competencies with assessments and projects ... Most of the assessment mechanisms are completely insufficient
  21. LEARNER MANAGMENT SYSTEM Allows set up of curriculums by filling

    in forms (rich- text) ... our syllabus already exists as a hugo static site Allows uploading of videos and other resources ... We can just use Youtube though. Track competencies with assessments and projects ... Most of the assessment mechanisms are completely insufficient Allow people to move through syllabus, a piece at a time
  22. LEARNER MANAGMENT SYSTEM Allows set up of curriculums by filling

    in forms (rich- text) ... our syllabus already exists as a hugo static site Allows uploading of videos and other resources ... We can just use Youtube though. Track competencies with assessments and projects ... Most of the assessment mechanisms are completely insufficient Allow people to move through syllabus, a piece at a time ... but it doesn't resemble real work
  23. WE AIMED A LITTLE HIGHER Integrate with our existnig syllabus

    without too much pain/suffering reduce dependency on staff!
  24. WE AIMED A LITTLE HIGHER Integrate with our existnig syllabus

    without too much pain/suffering reduce dependency on staff! simulate real work environment as much as possible
  25. WE AIMED A LITTLE HIGHER Integrate with our existnig syllabus

    without too much pain/suffering reduce dependency on staff! simulate real work environment as much as possible promote healthy dev-team habits and practices
  26. WE AIMED A LITTLE HIGHER Integrate with our existnig syllabus

    without too much pain/suffering reduce dependency on staff! simulate real work environment as much as possible promote healthy dev-team habits and practices Integrate with Github
  27. WE AIMED A LITTLE HIGHER Integrate with our existnig syllabus

    without too much pain/suffering reduce dependency on staff! simulate real work environment as much as possible promote healthy dev-team habits and practices Integrate with Github smoke detection
  28. GREAT SUCCESS! Learners are doing fine Our staff are doing

    fine Successfully ran end to end recruitment bootcamp
  29. GOALS ++ Make it cheaper and easier to run code

    schools Increase quality of code school output
  30. GOALS ++ Make it cheaper and easier to run code

    schools Increase quality of code school output More schools, more grads, more high quality coders
  31. GOALS ++ Make it cheaper and easier to run code

    schools Increase quality of code school output More schools, more grads, more high quality coders Less support needed for junior coders, cheaper to manage
  32. COLLABORATION ++ collaboration between students and staff of different schools

    via main instance Allow other schools to improve on the platform (open source for the win)
  33. COLLABORATION ++ collaboration between students and staff of different schools

    via main instance Allow other schools to improve on the platform (open source for the win) Allow other schools to improve on syllabus
  34. COLLABORATION ++ collaboration between students and staff of different schools

    via main instance Allow other schools to improve on the platform (open source for the win) Allow other schools to improve on syllabus Allow industry partners to improve on syllabus
  35. COLLABORATION ++ collaboration between students and staff of different schools

    via main instance Allow other schools to improve on the platform (open source for the win) Allow other schools to improve on syllabus Allow industry partners to improve on syllabus Easier in for volunteers and mentors across network
  36. TRUST ++ Every alt ed code school is different =>

    new industry partnerships == risky
  37. TRUST ++ Every alt ed code school is different =>

    new industry partnerships == risky schools can leverage quality checking mechanisms built into platform
  38. TRUST ++ Every alt ed code school is different =>

    new industry partnerships == risky schools can leverage quality checking mechanisms built into platform Partners get easy access to student stats and reports, see growth, progress, code
  39. TRUST ++ Every alt ed code school is different =>

    new industry partnerships == risky schools can leverage quality checking mechanisms built into platform Partners get easy access to student stats and reports, see growth, progress, code Partners get to vet the syllabus, actually look at how outcomes are proven
  40. TRUST ++ Every alt ed code school is different =>

    new industry partnerships == risky schools can leverage quality checking mechanisms built into platform Partners get easy access to student stats and reports, see growth, progress, code Partners get to vet the syllabus, actually look at how outcomes are proven Risk --