I’m Kojo Idrissa, a software engineer with an accounting degree and an MBA. You may have seen me at a Django or Python event or conference, as I’ve been speaking at those since 2013. In the past, I have worked primarily as an accountant. However, I’ve also been a university instructor in the United States and China. I started my first software engineering job 2015-12-01.
I’m also a DjangoCon US organizer(since 2016), former DEFNA board member and current DEFNA North American Ambassador. In THAT last role, I’ve spoken at a lot of conferences. If you’ve seen me at an event with “Py” or “Python” in the name since 2017, that’s a big part of the reason.
aka, “You’re NOT a superhero Kojo…”
I used to started my Spreadsheet talks with a “motivation” section. It occured to me it would be better to commit that to writing, point people to it, and cut the time on my talks.
I got serious about becoming a software developer, focused on Python, in late 2012. I say that because I’d learned Git during the summer of 2011 while working with Drupal (there’s a bit of a story there) and had even made some small commits to Drupal Core. But October or so of 2012 was when I decided, “Ok, I’m gonna learn me some Python for REAL”. So, I signed up for a Python course on Coursera.
Jump ahead to June or so of 2013. I took an accounting job where they “had a lot of data, but didn’t know what to do with it”. One task related to that data was creating monthly reports from a 15-20k row database dump. After being shown how it was done manually, I knew I had my first Python project. Long story short, I found OpenPyXL and used it to write code that automated the process. It went from 8-10 hours of manual filter/copy/paste in Excel to about 2 hours of mostly visual formatting. The BULK of the processing happened in about 90 seconds. THAT project became the basis my first conference talk. And that led me to think about how I could best contribute to the Python community.
My Role in the Python Community
aka “The Kojo Thesis”
There are certain specific areas I try to focus on, regarding making contributions to the Python community. That focus is based around the following general points:
- As an open source project, most of the work in the Python ecosystem is done by volunteer contributors.
- Those contributors come almost entirely from members of our community. It’s possible that people who don’t use Python will contribute to it, but not likely. No, I have no statistics about this.
- Thus, the larger the community as a whole, the larger the pool of potential contributors.
- However, the people most likely to contribute are people who’ve benefited from using Python: people with some ‘skin in the game’.
So, if we can add new people to the community who can see how Python benefits them, that increases the odds of adding new contributors to the community. And in a largely volunteer project, the more contributors we have, the less burden there is on everyone. Which leads to the question: where do we find these new potential contributors? That leads to my next set of assumptions:
- The pool of people who aren’t programmers is larger than the pool of existing programmers
- It’s easier to turn a non-programmer into a Pythonista (especially when you show them the benefits they can get from coding) than to convert an existing programmer