Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
My OpenSource Journey
1. MY OPENSOURCE JOURNEY
Strong Opinions, Strongly Held
By Stephen Senkomago Musoke
@ssmusoke
H A C K T O B E R F E S T
2. WHY ME?
¨ Self taught software tinkerer who loves growing techies
¨ Working hard at a normal regular family life
¨ My fair share of failed, successful, mind blowing and soul
haunting projects
¨ Served clients in UK, US, Australia, Europe, South Africa
¨ 12 years setting up, growing & running a Ugandan
custom software development shop
¨ 16 month Executive management stint - Worked in and
ran a large international custom software service
provider in South Africa & Uganda
¨ 4 years back to full time software delivery practice 2
4. THE EARLY
YEARS
q First computer contact – May 1996 (S.
6 vacation)
q Part time vacation job – editing a Linux
user manual & troubleshooting
modems
q Started Unix scripting and MS Access
database development – using a
reference manual
q Lost my first and last file on a floppy
disk – led to file management OCD
q Great compliment to Civil Engineering
degree
q 2nd year Industrial training in
University of Zimbabwe through
internship – writing VB Civil
Engineering tool
4
Always work
yourself out of a
job ~Charles
Mukasa
Your competition
is not your
neighbor, but
people in US,
China, Europe
who have more
resources than
you ~ Charles
Mukasa
5. EXPOSURE q Started custom software delivery
services in Kla – mix interns & full time
staff. Website development &
outsourcing
q Tech
q Java à PHP (3/4)
q MS Access à Oracle à MySQL
q Tech growth – Javaworld, The Serverside,
SQL 92 (no internet)
q Influences: The ServerSide.com,
Apache Foundation
5
Focus on one
thing and do it
right ~ Charles
Mukasa
7. GROWTH
YEARS –
BUSINESS
LEADERSHIP
q Tech Stack
q PHP 3 & 4
q MySQL 3 and 4
q XOOPS, Joomla, Smarty Templates
q Zend Framework
q Protoype, MoTools, JQuery
q Eclipse -> Zend Studio
q Leverage pre-built libraries over writing
custom code
q Stack Overflow grew on me – answering
questions
q Whenever I was helped by someone I
would share the experiences by writing
on my blog – https://ssmusoke.com 7
Stand on the
shoulders of
giants
9. THE CHANGE
– NON TECH
STINT
q Mercy Corps – finance, tech,
agriculture – 1 year
q ThoughtWorks
q 4 roles in 2 years: Project Manager,
General Manager in a box (SA), General
Manager (Kla), Lead Consultant
q EELD – insights into my personality, why I
am the way I am
q Stress related burnout – first ever
q Realized: executive management is
not for me I am a techie, at heart and
in disposition so focus on technology
based work streams
9
Find something
you love and you
will never work a
day in your life
Say yes first then
figure out the rest
~Branson
10. TECH GALORE q Started at UCSF in METS Program
q Working with UgandaEMR – facility
based EMR system for public health
facilities based on OpenMRS
q Installed in ~900 public health facilities
q Over ~1500 people trained to use and
maintain EMR
q Public support via Whatsapp/Email
q User manual & technical guide
q Modified agile delivery process
q Play multiple roles - architect, tech
lead, developer, trainer, business
analyst, technical PM, product
manager
10
Stand on the
shoulders of
giants, however
feed the giants so
that they are
strong enough to
keep carrying you
~ SSM
Good developers
write excellent
code, great
developers write
no code, zen
developers delete
code
11. FANATICAL
ADVOCATE
q OpenMRS
q dev/1 to dev/4 in 18 months
q Reference Application Technical Lead –
January 2017 to May 2018
q GSOC Mentor in 2017, 2018, 2019
q PHP
q Active follower of Symfony & Larvel for
side projects
q API First development
q CI/CD – automation from code to
production
q Loud local Open Data advocate
11
The best way to
learn something is
to teach it
Every problem is
a special case of a
general problem
There are no new
problems under
the sun, someone
else has already
faced it and tried
a solution – Find
it and build on it
12. WHAT IS IN IT
FOR YOU
q What ever tools/frameworks you use
q Write documentation
q Support newbies
q Provide support
q Share Experiences with others – blog,
talk
q Buy commercial support
q Donate via Patreon etc
q Support through programs that support
open source GSoC, Google Code-In, Rails
Girls, Facebook Developer Circles
12
Make your mark
on the world as
you walk through
it
13. WHAT ARE
THE BENEFITS
q Great tools are built in open source
q You can grow your skillsets and open
up opportunities
q Improve your coding skills
q Learn a specific tool and problem
domain
q Interact with a diverse group of people
around the world, solving different but
potentially related problems
q Contribute to new knowledge in the
world
13
The best tool for
the job is the one
you know how to
use
14. IN CLOSING
DO NOT BE TOO BUSY
Enjoy your projects, family and life
Keep learning
Read
Stand on the shoulders of Giants
Share your stories with others
Discipline, Discipline, Discipline
AND MOST OF ALL
Keep driving to get better every day
1
4