Transcript: Community & Inclusion - Kojo Idrissa
Hello and welcome to another episode of Django Chat.
In this episode, we're joined by Kojo Idrisa to talk about his multiple roles in the Python and Django communities.
I'm Will Vincent. I'm joined by Carlton Gibson.
Hello.
And Kojo, welcome to the show.
Hello, everybody. Thank you for having me.
Yeah, we're thrilled to have you on.
Thank you for coming on, Kojo.
Where to start? I would start with, I think anyone who goes to regular Python or Django conferences in person knows who you are. You're a very big presence on that scene. But I don't know how much that translates to everyone else. So I hope in this show, we can talk about all the work you do for the community and highlight some of those things.
But maybe I'll just start with something fun that I found, which is that you and I both have MBAs, which is unusual, and we both got into Python in 2012, which is, is that correct?
Yeah, I think that's when I sort of first got, decided to become more serious about becoming better at Python.
I first dabbled with Python, I can't even remember, probably 1998, like Python 1.52, that's the first time I really saw it and started to play with it.
but uh as as you said we both have mbas before i got my mba i had a degree in accounting and so as
an accountant i didn't need to be able to write code and so it was something i played with a
little bit here and there but it was 2012 when i decided to be more serious about learning becoming
a better developer and trying to make a career change so can i ask that that's really interesting
like the the jump from business to programming because his it's almost like stereotypically
people jump from programming into business business or management or something like that so
i could ask both of you what what's the motivation to jump into programming what's the motivation for
that career change uh so i will say from myself i think some of it was i just had an interest in
programming for a long time i had an interest in writing code some of it also was just recognizing
my own personality traits um i am interested in building things i'm interested i have a tend to
have a forward-looking personality and working mostly, I've worked primarily as an accountant.
I've also worked as a university instructor. Working as an accountant, a lot of what I was
doing was financial accounting. And so that's very sort of backwards looking. It's like, okay,
let's look at what happened last month or let's look at what happened last year, that kind of
thing. And that just didn't really fit. I was more interested in looking forward. And so it was a
combination of those things. And then also some of it was the accounting work, especially in my
last accounting job um you know you've got a lot of data to work with and there are things that can
be automated and can be improved and so you know there was a sort of a convenient test bed there as
far as things to work with so and you started sorry just uh you started by using python to
automate a number of your spreadsheets right was that one of the first on the job or you know at
at work projects that you use python yeah yeah so one of the one of the early projects that i did
And so there was a manual task involving Excel that involved making a pivot table, then a lot of filter, copy, paste, filter, copy, paste, and then spend about eight or nine hours doing that.
And I was like, well, this is dumb.
And at that point, this was maybe mid-2013, by that point I had learned enough Python that I knew, okay, if I could actually just get my hands on this data, I can make this go faster.
And just started installing development stuff on my laptop.
And then, okay, so here now I'll add a disclaimer that there are choices that I make that may or may not be right for everyone based on your risk profile.
The decision I made was I'm going to start writing code until I get caught and fired.
And so I wasn't super worried about that happening because, like, if someone came and, quote, unquote, caught me, it wasn't as if I was, like, writing a game or something.
I was actually trying to automate the production of a monthly report, you know, that we used at work and make that faster.
But you never know how people will respond to the company.
So that's just sort of the approach that I took as far as having a project to work on.
And I eventually ended up just quitting that job because the company was having all sorts of problems and going on to try to focus on becoming a professional developer.
That's super.
It's like the perfect story of like development and automation and what program is all about.
And for me, I'm always like everyone should program, everyone should program.
And I was like, we don't need professional programs.
I'm like, no, you don't need to write compilers.
But almost every job out there, you can do things where you're automating the manual tasks.
And actually, so I'm keynoting PyGotham in October and the talk that I'm doing there sort of, oh, thank you, thank you.
The talk I'm giving sort of touches on, it's called the Python Spectrum, and it touches on the fact that there's a range of people who will use Python.
Some of them will be, at one end of the spectrum, I have the software engineer who's sort of what we think of as the stereotypical professional programmer.
And at the other end of the spectrum is what I call a programmer, which is someone who writes code to solve their own problems, but they might not need all the tools that the software engineer uses.
And there's a wide range there in between, but all those people are using Python to solve a problem.
So you mentioned PyGotham. How do you attend so many conferences? Because you were at every conference I can think of and then some.
You haven't been doing that for forever, right? I think that's since 2017. Can you talk about how you do that, why you do that?
uh okay so i'll start with yeah i'll start with the why first because the how is just i'm uh i am
probably a cautionary tale and you shouldn't be like me um the the why is when i became more
seriously more actively involved in the python community this was again maybe around 2013
i decided that i wanted to be able to make a contribution in some way and as someone who
didn't have like a cs background and not a lot of experience programming i knew it wasn't going to
be a contribution by writing all the wicked code, you know, from day one. So I felt I could make a
contribution by helping to grow the community and more specifically by trying to grow the number of
contributors in the community. And so most of the talks that I've given have had that as an
underlying theme. I haven't always done the best job of bringing that to the surface, but that's
sort of the idea. So the first conference talk I gave, the first talk I gave at a local meetup and
the first conference talk I gave it was in 2013 and it was around that that project that I built
to automate that spreadsheet task at my last accounting job and the idea there was if you
want to grow contributors in the Python community the people that you it's you've got a larger group
to choose from you can either try to convert existing programmers who use some other language
to Python programmers and try to get them to contribute or you can turn non-programmers
into programmers and try to get those people to contribute.
The non-programmer population is much larger than the existing programmer population, and
the existing programmer population already has their own, you know, predilections, and
they already like Java or C Sharp or whatever they're using.
And so the idea of that talk was, one, me talking about this project that I built, but
also, two, pointing out that people who weren't programmers could be inspired to join the
Python community because Python could actually benefit them.
If you can demonstrate, well, you know, lots of people have to deal with spreadsheets.
And so if you can demonstrate, here's a way, here's something that you can use to make
your life easier, you're more inclined to try to use Python.
And then that leads you into wanting to potentially contribute.
And so that's been the ongoing theme.
And even in the talk that I give at PyGotham, the idea is that to have contributors to the
Python community, you need, there are two requirements.
One, somebody who uses Python to solve problems for themselves, so they see some value in
it.
And then two, those people have to feel like they're actually members of the community.
Because without those two things, no one's going to spend their time or effort to make contributions.
So that's sort of a long-winded version of an answer to the why question.
Why do I do all this?
And that's why I became a DjangoCon organizer, why I joined the board of Defna for a while,
why I created and became the Defna North American ambassador,
why i created the orientation thing at django con us um all those all those things tie back to that
common thread of wanting to grow the number of contributors in the community um a certain
amount of a focus on inclusion there because you if you're trying to grow contributors in the
community you want to draw from as many segments of the population as possible that only happens
if we actually have an inclusive you know community culture um so those are all sort of
the whys the hows are basically the why has caused me to sort of optimize my life around
uh trying to to do certain things so i became i'm going to all these conferences here recently
since 2017 or so because when i ran for the board of defnet defnet is the django events foundation
north america i know i think you'll have talked about them before on the podcast um that's the
nonprofit that puts on DjangoCon US. When I ran for the definite board, I guess essentially my
platform was to focus on the NA, the North American that, and trying to make sure, trying to get more
involvement from the non-US portions of North America, initially Canada and Mexico, but also
the Caribbean. And so in that role, I made myself the definite North American ambassador to try to
build community across North America. Initially, primarily to let people know that with DjangoCon
U.S., it can happen in any North American city. And people, I don't know that people are aware
of that. And so as I would submit talks to different conferences, I would also speak to
the conference organizers and let them know, well, hey, in a few years when, you know, we know what
DjangoCon is going to be for these next few years, but after that, it could be in any North American
city. So at Pi Tennessee, hey, Nashville, you know, it could be here at, you know, at Pi Gotham,
You could be here at Pai, Ohio.
Hey Columbus could be here, Pai Caribbean.
It could be anywhere in North America, it could be there.
So that was sort of the motivation behind
becoming the North American ambassador
and then doing all the travel.
And again, back to that idea of trying to create
more contributors to the community.
The how is just, I just sort of make it
it happen. I'm, you know, I'm using a lot of vacation days and like, so I call it, I call it
NORAMGT and I use the hashtag sometimes on Twitter, the North American Grand Tour is what I'm sort of
doing. But it's, it is almost entirely self-funded. And so, you know, so it's just a matter of me sort
of using vacation days, using some conference, I'm able to use conference days in a few limited
spots, but for the most part, it's just me using my vacation days and, and, you know, and footing
the bill for the travel and the accommodation myself. So just trying to go to as many places
as I can and trying to sort of maximize coverage as it were, because there are certain parts of
North America that don't, that aren't as involved or aren't always as included. And so like I spoke
in a PyCaribbean twice, I spoke at Python in Mexico. I will almost definitely be going to
the first PyCon LATAM in August. I mean, just sort of trying to do that. But then I've also
gotten a little carried away and I've been to other continents. I'm supposed to be focusing
on north america but it's sort of uh it's morphed from me being the i think the initial intention
was for me to be the ambassador from defna to north america but at some point i have become
the ambassador from north america to the rest of the world so yeah so i'm gonna have to try to dial
that back a little bit because you know there are there are limits to you know time and money
into energy so trying to balance that all out well energy is important because you must i mean i find
going to a conference really hard work you know like it's it's fun it's it's fantastic but it's
it's draining so you're doing that in your vacation so i you know i always think when i get
back i need a couple of days off to recover and rebuild my energy but you're back to work
it's sometimes directly back to work uh i think when i came back from pi i spoke at python australia
last year and so you know i got a direct flight from sydney back to houston it was a 16 hour
flight 16 hour time difference so i got on the plane like wednesday morning at nine landed in
houston wednesday morning at 9 30 and then just drove from the airport to work um and so yeah so
so that's been a thing at times um yeah and so just sort of having it to manage my energy and
try to be a little more uh cognizant of things like i literally like about a few a few hours ago
i had to you know let one conference know that i wasn't going to be able to attend just because
the way the scheduling is going to work out um you know i'd be traveling almost every week or
every other week for like a two-month period and just you know between you know money and personal
resources and energy you know there's only so much that you can do so wow yeah i i remember too
and maybe since you've been to so many conferences i noticed so i've only been to two real conferences
in my life one was django con last year and the other was pycon this year and i found that
pycon was way more overwhelming um yeah in pycon this year and i've had this conversation with
multiple people i just had this conversation with a friend a week or so ago pycon 2019 for some
reason seemed like it was a little more chaotic or overwhelming not chaotic as far as unorganized
but just like there was more going on than pycon 2018 the same venue same place but i talked to a
number of people and we all sort of had the same experience of oh like i didn't really get to see
as many people i would see the person i would see people that i knew but they were like way over
there and there were a lot of people in between us whereas in the same venue with roughly the
same number of people in 2018 that didn't seem to be the case so but yeah there's a lot happening
at pycon yeah well i mean pycon's yeah five times the size and i mean the venue actually in cleveland
is unbelievable because the hotels are right there everything is right right there yeah but i think
yeah I just I just you know curious about your experience I mean I think partly too I spoke at
DjangoCon so I was I was in and out and I was also very wrapped up in my talk uh whereas at PyCon I
I didn't have a talk so I was sort of what do I what do I do you know I almost felt like I felt
like if I wasn't having a meal with someone new every time I wasn't quite uh yeah making the most
of it yeah but for for you though I mean you're often you're often speaking though right so you're
you're in a very public facing role you're not really there just to soak it all up at this point
yeah it's uh and it varies a little bit so let's see so i so with pycon i've never actually spoken
to pycon i did um last year i gave i led an open space and then in 2017 i believe i gave a lightning
talk um but i've never actually given like you know a full-on pycon talk at most of the other
conferences i go to i'm giving a talk and that's it makes it a little bit easier to justify the
expense if i'm actually giving a talk um and then doing some of the community building stuff but
then at django con i have a i have multiple i have like three chairs for django con and almost all of
them are public facing things and so that's just sort of a thing but yeah i mean pycon is is much
bigger than almost anything else you know you would most people would go to and so it can be a
lot there's a lot going on there so uh we've talked about python and django sort of interchangeably
How did you, I'm always curious, especially since it was somewhat recently, how did you learn Django?
What was that process like for you?
Because I imagine you, I mean, I remember what it was like.
So for you, what was that process like as an adult learning Django?
So for me, and I guess it's still sort of an ongoing process.
I'm actually really trying to spend more time working on Django.
I don't do as much Django as I'd like.
I tell people I'm much better at organizing DjangoCon than I am at, you know, building things in Django.
And so that's, I'm trying to sort of balance that out a little bit.
But I think I really started with the Django Girls tutorial.
I'm trying to remember what inspired me.
I think it was more a matter of I submitted a talk to DjangoCon, and I was going to be speaking there.
And I just wanted to be more familiar with it.
So that's one of the things I did.
And then I ended up being a Django Girls coach.
And now I'm trying to work on some other projects to just familiarize myself with Django more.
And so it's been sort of an on and off process.
I spend more time using just regular Python than I do with Django.
But I know that's an area where I want to improve.
I feel like I'm the opposite.
I mean, Carlton, I'd like you to weigh in.
I mean, I feel like I'm pretty comfortable with Django.
But the amount of pure Python that I do is actually not – well, it doesn't feel like that much.
I think it is because I just use the same things over and over again.
But, you know, to the extent I have expanded learning time, there's a lot of things I want to build with Python, especially around async.
Whereas I'm within the Django world most of the time.
So I guess there's always that feeling as a developer
of there's something else I should be learning.
So I have that with pure Python, I would say, actually.
But that's a life project, right?
Programming is a life project, and that's what's so nice about it.
If you're the kind of person that finds that logical challenge of programming fun
and you can cope with the fact that computers are really particular,
Then, you know, there's always the new framework, the new language, the new and it's never ending.
It's like it's brilliant.
It's this garden that you just keep picking.
Well, and I think also everyone, you know, everyone learns and everyone teaches differently, which is why I love asking that question, because I find that however my mind works, almost none of the existing things match my mind for how I think about, you know, things in Django and how I would teach it.
Which is why, you know, if I thought that someone had already done the canonical job on a subject to fit my brain, I would do it.
But my brain is how it is.
And that's why I always tell people sometimes other developers will say, oh, I'm working on a Django thing and feel like I would be worried about that.
And I think, no, like everyone should write and teach because everyone learns differently and there's not one style for everyone.
But for me, it's like it's sort of that learning cycle.
Maybe I'm a little more negative about it, Carlton.
I just feel like I'm like, I know what I want to do.
Why won't I do it?
And then once I figure it out, I'm almost kind of angry that it took me so long to get
there, right?
Like, I have a long list of all these things.
I'm like, I want future me, it's like Calvin and Hobbes, future me to do this and tell
me how to do it.
Because I know that there is an elegant solution and I will find it and then I'll be bored
with it.
But sometimes I'm like, I just want it.
Which, you know, Kojo, to your point, like, I come to programming, it's a tool for me.
Like, I wouldn't just code for fun.
Like, I play music for fun, but I wouldn't code for fun.
it's very much carlton looks hurt you know it's very well no like you've got to have something
you actually want to build you can't just like sit there doing programming cones but you've got
something you want to build well that's the context problem right this is what you know as a teacher
i always start with the context you know so because the the standard cs programming things
that engineers love to do which i i envy you know i'll put numbers from one to a hundred make a
pyramid all these things i don't care it just doesn't yeah like it doesn't connect with me at
all i'm similar in that and i think that's one of the reasons that uh that one of the things that
drew me to django and one of the reasons i am wanting to improve my abilities is uh to working
to build web applications because i think if you're trying to show people or demonstrate the
usefulness of programming yes there's stuff there are things you can do with just sort of standard
python scripts but if you build a web application of some sort even like a blog or something
even something that's simple that just like you know a jangled thing that just says hello world
if you get that deployed somewhere then like you can show you know the person who built that can
show it to their friends to their families like look i made a thing and it exists in the real
world as opposed to like hey let me bring you my laptop and open this ritual environment and show
you how the script runs it's like when hey no just go to you know go to fancy kojo.pipelineanywhere.com
and you'll see you know the fancy thing that i made because i'm fancy yeah what's those aha
moments. That's how I think of them is you just, you need to have them. You got to start with them
saying we're going to have one, we'll get there. And then especially, yeah, the web is fantastic
because you can share it. And as you said, it's, you know, people feel good coming out of whatever
tutorial, but then when they, I always tell people like, like really share this link with some
friends or family. And that's, I think when it goes, wow, like people, people can see what you've
done and it makes it real. And I've actually, and so I think you and I met Will at DjangoCon last
year. And so I haven't gotten around to it, but I've been meaning to take a look at your books as
far as, cause I'm always, I spend, as someone who's changed, whose career changed, um, I
spent a certain amount of time, like I'm active in our podcast.
ladies chapter here and then there's another um female-centric coding group here that i'm
involved with and so i end up meeting and even in our standard python meetup i end up meeting
a lot of people who are like learning to code for different reasons some who are trying to career
change so i'm always looking at different materials as far as okay how can someone learn
you know python or django and so in i've heard good things about your books and i know you've
got them updated like for python 2 2.1 python django 2.1 i believe 2.2 i'm the only one out
there okay yeah so there you go and so in i'm very excited i keep meaning to take a look at
your books because uh and you it seems like you also get an interesting range of things but
from the question of how do you know how do people learn django um there are a lot of different ways
to go about it so that's another resource that i want to evaluate at some point because i get
asked those sorts of questions in your so yeah it comes and it comes back to what you were saying
at the beginning kojo about like um bringing in the beginners into the python community i think
django is a really good like the web is the tool it's the publishing medium of now and django is a
really great framework to for beginners and for well for everybody but if we can really focus on
spreading that story it just it's a self-fulfilling self it's a virtuous circle and so the talk i'm
doing it at pygotham um it's a it's interesting i gave a version of that talk here at my local
python meetup and it ended up being more contentious than i expected um basically software
engineers kind of want everybody to do things the software engineering way and one of the reasons i
gave that i gave that talk is because i've seen situations where so the the pipe the general
python community culture seems to be heavily skewed towards software engineering being the
one true way of writing code and i have definitions of sort of what do i mean by software engineering
And what do I mean by programming?
And, you know, I won't go into all the details, but basically, software engineering is usually
done in teams.
It's usually a situation where the code is the final product.
The people running the code aren't the people who wrote it.
With programming, it's almost the exact opposite.
Almost always done by individuals.
The person running the code is the person who wrote it.
And no one really cares about the code.
You care about the output.
And so you've got different use cases, different constraints.
So all software engineers are programmers, but all programmers aren't software engineers and don't need to be and don't aspire to be.
And so that talk ended up being a little bit contentious.
But the sort of the undercurrent of that is that if we want more contributors in the community,
we can't have the software engineers who are sort of seen as the authority figures and the more experienced people telling the programmers that they're doing it wrong because they don't have a Travis account.
or because you know they're not using docker unless that programmer has a specific use case
where it's like oh you know what here's this problem you're running into you know trap you
know having you know continuous integration would solve that or you know having you're using git
would it would solve that or or what have you and so again trying to uh to maximize the potential
number of contributors because it's an open source project python and jenga are both open source
projects then we need as much help as we can uh russell keith mcgee gave an excellent keynote
at pi con this year where he touched on that i mean he's spoken about that kind of thing a lot
and the idea of you know if there's money i mean yourself carlton you're the django fellow
um one of the django fellows if there is funding available you can pay people
to work on these projects instead of having to rely entirely on volunteers but even with that
people with who have skills available who have skills you know that we could pay them money to
make use of, those people have options. And so like, you know, you could, I could get paid money
to work on Python or Django, or I get paid money to work on some other thing. If every time I use
Python or Django, the people in that community are like, hey, you're doing it wrong. Well, like,
why am I going to spend my time working on this? I can get paid the same amount of money to go work
on something else where people aren't, where people actually value what I'm doing and aren't
telling me I'm wrong. And so it's sort of wanting to try to bring out the idea of maximizing the
range of contribution that we can get from that spectrum because again everyone doesn't have to
be a software engineer there are lots of people who use python um that could potentially become
contributors but we have to make sure that we're including those people in our community discussions
and that we're not telling them wrong because they're not quote unquote full-fledged software
engineers yeah no entirely up yeah we agree so something else i wanted to touch upon is uh so
django itself is going through a change in core contributors i know you've written about this i'm
Wondering if you could share your perspective on, you know, what's your take on where you'd like to see the Django core or what it's thought of as core go moving forward?
I mean, I've spoken about it a little bit, but I don't know that I have super strong feelings on it from the standpoint of, I mean, definitely, I think in a very short sense, there's always going to be a very small percentage of people who are actually involved in like building the core language.
and or the core framework and contributing to it i mean and that's just sort of the reality of things
and the reality of open source um but again trying to so no matter what you do there's always going
to be a very small like of the number of people who use django you know compared to you know if
you have like the the bottom number is the number of people who use django the top number is the
number of people who actually contribute to it that top number is always going to be an
infinitesimally small fraction of the bottom number. I think my concern is more being able
to draw from a wider pool for that top number, for that contributor number, because that just
gives you a number of different benefits from the standpoint of different viewpoints, different
coverage. You've got a variety of thoughts and inputs and that sort of thing. So beyond sort of
general thinking i haven't given a whole lot of thought or attention to the changes in general
core like partially because i've been busy being the north american ambassador and so you know i've
been sort of like wandering the the continent and slash planet um talking to people about about
jango khan you know partially because i feel that like if people are in especially at least
throughout north america are aware that jango khan us could come to their north american city
then i think that increases some of the buy-in it's like oh wait because for instance that's
not the case with pi con pi con is big enough where you can only go to certain places whereas
with jango con with jango con us we want those cfps you know once i go once that process is open
we want to hear that input from different people in different places and as different local
communities become more engaged if they realize hey you know what jango con us could come here
then i think that drives more engagement in that sort of engagement and involvement
will draw more people in whether it be to the conference or to contributing to django itself
i imagine that's similar carlton in in europe with django con europe where there's also a desire i
mean because it also does or at least recently what two years in one place and then moves from
there no django con europe has moved every year okay i have that i think um but yeah that um but
like this like it the issue is um very much like trying to plan a year in advance two years in
advance okay where we can where can we host it and it's only 500 it's not even 500 people 350
people so it again it could go anywhere um it's finding the team that want to and i'm just
thinking about what kojo is saying about getting contributors because it's something i've talked
i've spoken about and beat the drum for widening the contributors i think you're right there will
always be a small number and we see more perhaps coming in we see fresh contributors oh that's
exciting but it's still what i'm still not seeing is many non-white males and white males are great
but there are lots of people in the django community who don't fit that profile and we
don't see so many of those yeah people contributing and it would be really nice um even if it's only
like one one pull request one two pull requests you know one one change to the dock one one
anything like come and join in because people are welcome and we're you know we try and be supportive
and it's we still have barriers and to knock those down is it's kind of like if i it's it's it's the
my tick if i've got a tick is i want to really help try and smooth that on-ramp because historically
it's not yeah yeah exactly and i think with uh the things that i do i make an effort to try to
help some of that on-ramp one by so with the things that we do like at django con us specifically you
You know, the orientation session is designed to sort of, you know, help create a more welcoming environment.
And then, you know, so that while you're at DjangoCon, you can, you know, feel like you're more a part of the community.
And the other organizers also work very hard to have that inclusion culture at DjangoCon US.
The reality is some people, you know, are off-put by some of that.
Some people want just like 100% purely hardcore technical, you know, super advanced Django, you know, tips and tricks.
The reality is, and I've talked to people about submitting talks to DjangoCon.
DjangoCon is, Django is three things.
It is an open source web application framework written in Python.
And so the open source part means that it's a community driven thing, almost entirely
volunteer driven.
And so you have to take care of the community so that the project can continue to live.
I think it was Jacob Kaplan Moss who said in one of his talks, any community that's
not tended to you know there's not you know you tend to look after it tends towards toxicity
and so there's a certain amount of effort that's required to maintain the quality of the community
in the community culture and that means sometimes at conferences for open source projects they're
going to be talks about community and about things like burnout and mental health and that sort of
thing because members that's how you keep the members of the community strong and so you know
So there's that, but then there's also the idea of trying to sort of share the idea that
DjangoCon US could come to a different situation.
city. And just as you get more people involved, it draws in more people who could be potential
contributors. And if you make that group, you know, not focusing just on like, you know,
cis, hetero, white men between 25 and 45, then you get these different viewpoints and different
insights that you might not have seen otherwise. And then that makes the software better. It makes
it applicable to a wider range of situations and it just makes, you know, the overall experience
better so well i think jingo khan this year is doing it i like the structure where the three
days of talks they have the first two days are i guess general talks and then the third day is
advanced what used to be jingo under the hood that seems like a really nice structure of it because
it does remove some confusion and i mean carlton you're speaking on the third day i'm speaking i
think on the second day because my talk is a little more beginner intermediate that seems
you know that's a nice structure for people to understand yeah and and i think some of that
comes from uh from feedback we've gotten from folks as far as you know wanting you know some
some of the more uh detailed advanced things and so the reality is i'm this sort of bizarre outlier
um i know a lot of it and again as someone who's been to a lot of conferences i've spoken to a lot
of people at conferences and most people don't go to conferences unless like their company is
paying for it i'm one of the few people i know who just goes to conferences because i'm going
to a conference or, you know, or just submits talks to conferences just because. And so most
people either won't go or can't go unless they're getting it paid for by their company. And then
there needs to be some sort of business case, you know, or, and you've got people who are
entrepreneurs and that sort of thing who, you know, running their own one or two person Django
shop. And so they want, you know, as sort of as much like meat for lack of a better term
as they can get. And so, and so something like this sort of, you know, Django under the hood-ish
day um helps to fill that need also i think that the um the point you touched on previously was
right and we shouldn't like we shouldn't um let us let them back us down on the point that the
non-technical talks are just as important because for instance um you know i went to um jangle corn
europe in florence and there was a whole host of talks on cognitive bias and on diversity and
inclusion in your design teams and how that makes the product better and you're just like yeah this
is this is right you know if you if you have a diversity hire you actually check widen the
perspective of your team which makes you capable of creating better software and any any business
owner sitting in that audience who took that to heart would go home and have a make a better
hiring decision and have a stronger team because of that and their business would would profit and
i think i think it's a tendency to to say oh well because they're not technical talks there's not as
much value in the conference. No, there's more value in the conference. I think also technical
talks, it's easy to assume that something that's advanced is harder to do or provides more benefit
when I often think they're actually a lot more narrow and in some ways a lot easier to do
because you don't have time to start up from the beginning. You just sort of parachute into
an existing complex project that makes sense to you, the speaker, and maybe a handful of people
in the audience, but everyone else you've sort of lost. Whereas it's these general talks. I mean,
Carlton, we first connected, uh, you gave a talk on, you know, life as a programmer of a certain
age, which we both are. Um, you know, that's a timeless talk. That's not going to get old.
You know, that resonates more than, you know, some discreet, tiny technical issue. And I think
Kojo, your efforts, and I hope this podcast as well shows that the, you know, the Django,
the python community is not just experts in their little shell throwing exit stuff i mean there's
some of that but it's it's people who really want to help and having all these experiences and voices
helps helps everyone understand what it's like because we all just trapped in our own head i
mean for me i as an educator one of the challenges i've had is that as my knowledge of django has
increased i lose touch a little bit with what the true beginner mindset is like because when i wrote
my first book I was or when I started writing it I was a beginner but I do that by doing dozens of
like literally dozens of emails every day so that's sort of how I get that touch point and it
just provides the empathy that helps any community it helps me be better at my job I think helps
anyone be good at their job as a programmer because for example even an advanced person
often just thinks well everyone knows xyz or it doesn't they just don't think that it's hard
because they've never experienced trying to show it to someone else.
So if you think something's easy, try to teach it to someone.
Like, try to teach someone how to install Python on a Windows machine.
Yeah, I've noticed that with programming and sort of knowledge of Django or Python,
it's very much like understanding a person's level with a spoken language.
The idea of, like, it's hard to know, like, okay, like, so for instance,
like, I lived in China for two and a half years.
I speak conversational Mandarin.
But, like, how much Mandarin do I speak?
It's hard to communicate that to someone as far as, like, you know, how much vocabulary do I have?
What grammatical things do I know?
And so once you get beyond sort of, like, here's a talk for beginners who don't know Python.
Okay, now I'm going to do an intermediate talk for people who know, like, some Python or some Django.
Well, but how much do they know and what specific things do they know?
It's difficult.
And so you have to make certain assumptions and decide what are you going to explain in detail versus what are you going to assume that the audience knows.
And so that can be tricky.
Well, we had Nicholas Tollervey on who's very active in Python Django, and he's working on a project, Code Grades, that for schools, but also sort of similar to the music curriculum, lets people say, oh, I'm a grade three, I'm a grade five.
Because I agree.
I think part of the problem is people just don't know what context to describe something to someone else.
And for me as an educator, I always start from the beginning, work my way up, and I'll go faster if it's a more advanced topic.
But I feel it's a massive disservice not to go through all the steps, even if it's quickly going through it, because you just parachute in.
And I can't follow a lot of tutorials if someone just jumps in and says, oh, you got a basic blog here.
It's like, wow, there's so many different ways you could do that blog and so many things that compound, you know.
So but, you know, but it's a ton of work.
I mean, it's I speak from experience.
It's a ton of work for me every single time I do a tutorial or something to just start from the bare basics.
Yeah. And most people don't do the work.
Yeah, I'm about halfway through that episode, actually, in the middle of it.
So, yeah, and it's the same thing.
A lot of the talks I've given have been more beginner slash intermediate.
But I do that because, again, my emphasis is on trying to help bring new contribution to the community.
And so I tend to focus on that sort of range.
But I know that as I move into more intermediate talks, there's this idea of needing to define, okay, what do I expect you to know?
If I'm not going to start from the beginning, what do I expect you to know or to be familiar with?
and trying to outline that up front so that people can decide, okay, is this a talk I'm going to get something out of or not?
Right. Well, and there's that new-to-me trap that I've, you know, it's sort of like, well, why give a talk on something you already know?
It's much more common to keep pushing your own boundaries of expertise.
So something else, Kojo, you recently won the Malcolm Trudnick Award. Could you speak a bit about what that award is?
So I guess I can probably speak a little more about what it is as opposed to how it was awarded.
I was surprised myself to find out about it.
So the award is, and now I feel like I'm sort of doing a disservice by not being able to
read the exact description, but it basically is an award that goes to someone who has done
a great job or has been seen to do a great job in welcoming new members into the community.
And I don't know that I was familiar with the award until I won it.
And then when I found out that I won it, I read the description, and I was like, oh, this is kind of what I've been trying to do.
And so I was ecstatic.
I was like, okay, I couldn't be any more happy with having won this award because this is a lot of what I've been trying to do since I came into the Python community.
And then I know a few people who have won the award before me, and so it's a good company to be in.
And so, unfortunately, I was never able to meet Malcolm.
I didn't become active into the Django community until after he had passed away.
But all the descriptions that I have heard about him, and I know a few people, I know
more than a few people who know him and have met him.
And so it was very rewarding to receive the prize.
So that's something I'm fairly proud of.
I'd try to maintain a certain sort of level-headedness and a level of perspective, but it is something
I'm proud of.
Yeah.
Well, you should be.
So for listeners who want to get in touch or read more, what's the best way for folks to do that?
So for me, probably Twitter, one of the best ways.
My Twitter handle is transition, just like the normal word, nothing fancy, just the word transition.
That's the only social media that I have.
I also have a blog, which is cojoedresa.com.
It is not terribly frequently updated.
I'm working on trying to do a better job of that and also trying to write a little bit more about the North American Grand Tour.
It's something, I've been doing it for now for the past almost two years, but I don't
feel like I've done a great job of sort of explaining it to, you know, I've explained,
I think like there are like seven people who know what NORAMGT means.
And so I need to do a better job of that.
Well, now there'll be over a thousand, so.
Well, see, there you go.
So if you see the hashtag NORAMGT on Twitter, that's me being on somewhere on the North
American Grand Tour.
But yeah, those are the best places to find me.
Twitter, probably the best place to interact with me, so.
Thank you so much for coming on and sharing your story.
with us and with the community it's it's really important work that you're doing and i hope you
get a little more recognition for it thank you thank you all for having me and thank you for
the podcast the podcast is excellent like i said i'm i've listened to just about all the episodes
i'm about halfway through the nicholas toller variant one so it's been excellent awesome thanks
thank you for coming on the show thank you