00:19
Hi
00:20
Hi everybody and welcome to our PyPodcats
00:23
series of Hidden Figures of Python
00:26
and today we have as a guest Sheena O'Connell
00:30
all the way from South Africa
00:32
PyPodcats in case anybody forgot
00:34
we are a community driven podcast
00:37
and our aim is to highlight voices
00:39
from underrepresented groups
00:41
in the Python community
00:43
we also have a code of conduct which is um
00:45
on our website at pypodcats.live/conduct
00:49
when we're working with members of the community
00:51
we follow the PSF Code of conduct
00:53
and to help our interactions
00:55
and keep Python a positive
00:57
successful and growing community
00:58
so please
01:00
be mindful about that
01:01
when you interact with our material online
01:03
so today's hosts are Cheuk and me
01:07
so I'm uh Tereza
01:09
I live in Hamburg and I'm part of the PyLadies Hamburg
01:13
and I'm also data and the career coach
01:17
and data freelancer
01:18
hi I'm Cheuk and um
01:20
I am I love Python
01:22
ha ha ha ha
01:23
OK that's it
01:24
so uh
01:25
we have our guest Sheena here
01:26
so Sheena do you want to introduce yourself
01:28
I've been coding for a long time in Python
01:30
it is my love language um
01:33
and I got to spend about 5 years working in tech
01:36
education uh
01:37
in the non profit space in South Africa
01:39
and it was great and I learned a lot there
01:42
so now what I'm doing is I teach for a living and I try
01:46
try to get other educators um
01:49
connected and leveling up in
01:51
nice ways um
01:52
so I've got a company that does
01:54
advanced Django training and soft skills training
01:56
because that stuff is actually pretty hard um
01:59
and I have
02:01
I run a community called the Guild of Educators where
02:04
um anybody who teaches code
02:07
or wants to teach code can come and join and hang out
02:10
um we're starting a teacher's mentorship program
02:12
so if you wanna help a teacher level up
02:14
then you can join that or um
02:16
if you're a teacher who wants to get better at code
02:18
come and join that um
02:20
and then the last thing that I'm
02:22
involved with at the moment is PyCon Africa
02:24
so I'm currently the local chair of
02:27
of PyCon Africa
02:28
it's happening in my hometown in Johannesburg
02:31
South Africa and actually I
02:32
I do have a lot of question about Johannesburg
02:35
and PyCon Africa shall we start with PyCon Africa
02:38
and then we can also talk more about your work
02:42
sounds good
02:43
yeah so for PyCon Africa I
02:46
I wonder like
02:47
so for for folks who never heard of it
02:50
like is it always going to be in
02:54
you know
02:54
South Africa or is it going to be travelling around
02:58
and do you have an other organisation behind it
03:01
and how does it work good questions
03:04
it does travel around
03:05
so it's not always in the same country
03:06
um
03:07
this is the first time we're doing it in South Africa
03:10
it's the first time we're doing a major
03:11
like International Python conference in
03:13
southern Africa
03:14
so it's quite a I think it's gonna be quite impactful
03:17
but yes it travels around um
03:19
I'm not actually sure where we'll do it next year
03:21
PyCon Africa
03:22
is basically run by two separate organizations
03:25
there's the international committee um
03:27
and those are the folks who just like
03:29
stay with the conference wherever it goes
03:31
and then there's the local committee
03:32
so the people on the ground who know what's
03:36
what to organise the venue and
03:38
and all of that so our local committee um
03:41
generally organizes PyCon South Africa every year
03:44
and like it's quite an experienced team um
03:47
it's quite a small team but do good stuff um yeah
03:51
so that's how it works
03:52
so we're basically joining forces yeah
03:54
what do you expect to be different from like
03:56
let's say last year PyCon South Africa
03:59
alright so it's gonna be a bigger conference um
04:01
we are reaching further
04:03
we're getting a lot more international attention
04:05
and we've got some um
04:07
interesting people who are attending so for example
04:09
Dawn Wages is one of our key notes and she's the uh
04:13
president of the PSF and that's wonderful
04:16
and it's gonna be great to bring her here
04:18
so I I don't think we would be able to get as
04:20
like high profile people in a
04:22
for PyCon South Africa generally um
04:25
so that's one of the things
04:26
but the other thing is that
04:27
we're putting a lot more effort into giving
04:29
financial assistance to folks who otherwise would
04:31
not be able to come so
04:32
we're working
04:33
hard to try and bring people in from the surrounding
04:35
southern African countries
04:37
and folks from across Africa as well
04:38
but we really wanna like because this is the first um
04:41
big
04:41
international conference in southern Africa for Python
04:44
we wanna just make good use of that so yeah
04:48
a lot of effort is being put into financial assistance
04:50
and that's expensive
04:52
so we're doing a lot more around fundraising
04:55
we've got a donations drive as well
04:57
that's gonna help with that yeah
04:58
those are the main differences
05:00
what are the challenges of organizing a conference
05:02
in Africa because you have world travel right
05:05
you have seen PyConUS
05:06
EuroPython all these different conferences
05:08
so what are the challenges to organize
05:10
a conference in Africa compared to
05:12
let's say you know PyConUS or a European conference
05:16
so I think
05:17
I've never organized a conference anywhere else
05:19
so I can't give a direct comparison
05:21
but I can say that
05:23
there are probably challenges that are
05:25
standard across the board
05:26
I mean PyCon Africa is in a way a a newish conference
05:29
it's been going on for a little while
05:31
but it's had some gaps and and things like that
05:33
so like
05:34
a more established conference
05:35
has better systems in place
05:36
and has um
05:37
better documentation in place and things like that
05:40
and so
05:40
there's a lot of just figuring things out and swarming
05:43
and whenever you want to get
05:47
it's a large group of people who are involved
05:49
like there's
05:49
there's a lot of people on the international committee
05:51
and if you've got a large group of volunteers
05:55
then it's kind of hard to figure out
05:57
like wrangling volunteers is hard in general
06:00
um especially if you want to do things to a deadline
06:03
and to a high standard
06:04
and not end up doing everything yourself
06:06
and things like that
06:07
so there's a lot of just like management challenges
06:09
like figuring out who
06:11
who are the productive people and what's
06:14
what skills does everybody bring to the table
06:16
and things like that
06:17
like that's been that's been tricky
06:18
and I think in Africa, Africa specifically there
06:22
there are challenges around like
06:23
network connectivity and things like that
06:25
that comes up and it's also somewhat challenging
06:27
because we do have people who are organizing
06:29
who are in different time zones
06:31
and so we need to wrangle schedules quite a lot
06:33
and some people have jobs
06:35
some people don't have jobs
06:36
some people are students
06:37
and so that's all that's all challenging to wrangle
06:40
and there's also a lot of cultural differences
06:42
so our International Committee
06:44
it's spread across multiple countries
06:46
and a lot of the time when people think of Africa
06:48
they think of it as like
06:49
just like a blob and everything's the same
06:51
and it's really not like
06:52
there are very big cultural differences
06:54
between different African countries
06:55
and
06:56
those cultural differences come with different norms
06:59
and therefore different expectations
07:00
and um
07:01
different misunderstandings
07:03
so it's
07:04
important to just take a lot of care in communicating
07:06
like chaos is the default state
07:09
and so you have to work hard to
07:12
make sure that things are well organized
07:15
I think those are the main things
07:16
I wanted to ask a little bit about
07:18
you've been in different communities and also in Europe
07:21
and as Cheuk said also in the States
07:24
you saw PyConUS
07:25
how is the community different in Africa
07:27
or South Africa so can you speak for both or
07:31
yeah so I've
07:32
I've only been to PyCon South Africa and PyCon Namibia
07:35
in Africa and even these two communities are very
07:39
very different so in South Africa
07:41
Python is already a very well established language
07:44
so most of the big corporates are using it in some way
07:47
um most of our attendees are professional people
07:50
they're they're pretty sorted
07:51
um and we do get a lot of young folks as well
07:53
who are keen to get into Python in different ways so
07:56
so that's great but it's
07:58
the fact that it's established
07:59
and there's a lot of knowledge in the country already
08:01
um a lot of skill there it
08:03
it makes things easier
08:05
if you go to somewhere like Namibia
08:06
where it's not an industry standard
08:08
then things get more difficult
08:09
it's like it's a fledgling community in a way
08:12
like the community is is strong and connected and they
08:16
they do stuff and they run their conference and
08:19
and it's all wonderful
08:21
that's like
08:21
people need somebody to learn from a lot of the time
08:23
and so with something like pack on Namibia
08:26
one of the things it's
08:28
one of the goals there is to bring skills in
08:30
so that we can share skills with
08:33
the Namibian community yeah
08:34
so so it varies from place to place
08:36
and I'm sure that a lot of African countries
08:38
are more similar to Namibia
08:39
than to South Africa and we've
08:40
we've got it like it's it's pretty good here
08:43
when did you get started with Python and how?
08:47
so I got started um
08:49
when I was in university I was coding for food
08:52
I I started I learned to code um
08:54
like as a teenager and I really liked it
08:56
so when I was studying I needed money and um
09:00
so I was just taking on these odd jobs
09:02
and at one point
09:03
somebody offered me a Django development gig um
09:07
they wanted to build this
09:08
like soccer membership website thing
09:11
and they were like can you write a Django website
09:13
and I said yes
09:15
and then I figured out how to
09:17
and through learning Django
09:19
like there
09:20
there was this book called The Django Book um
09:22
but now it's very out of date
09:23
and it's not a thing anymore
09:25
but that was my introduction to Python yeah
09:28
so I learned that and I learned Python
09:30
sort of as a side effect of trying to do this
09:32
and it was great it just fitted my
09:34
brain really well since then
09:36
like Python
09:37
wasn't taught in university or anything like that when
09:39
when I was there after university
09:41
I gravitated towards software development jobs
09:44
and I just I did a bunch of different things
09:46
but I always missed Python
09:47
and then as soon as I could work with Python again
09:49
I jumped on it yeah
09:51
I mean
09:52
I can ask more stuff but you read a programming book
09:55
do you still read programming books
09:59
bits and pieces sometimes um
10:01
but it's very rare for me to read a whole programming
10:03
book I read a book on PHP once for a job
10:06
but like I haven't learned a lot of languages
10:07
since I learned Python um
10:09
I've
10:09
I've done a bunch of different things
10:11
I've learned PHP and I think C#
10:13
I find that I learn best
10:15
often by getting my hands dirty
10:17
so I'll dig into documentation
10:20
and something that I find as well is that like
10:23
a lot of the concepts
10:24
from one language are transferable to another
10:26
so if like a functions a functions a function um
10:30
so
10:30
a lot of the time when learning a different language
10:32
it's like you wanna
10:33
figure out how the concepts you already know
10:35
map to this other thing
10:36
and then you wanna find out what
10:37
kind of the idioms are of
10:39
of the new language
10:41
so often my way of learning is very um
10:44
I wouldn't say it's chaotic
10:45
it's it's directed towards a goal
10:47
I'll want to do a specific thing
10:49
and then I'll go and find out how to do like
10:52
all the little pieces
10:53
that I need to know in order to achieve that thing
10:55
yeah I think I
10:56
I did read the Kubernetes book
10:58
um yeah
10:59
what else I don't know
11:02
I actually wonder how many people are like
11:04
learn things like that cause I am the same
11:07
like I, I can only learn if I am doing it
11:10
cause otherwise I would just be
11:11
you know this side in
11:13
that side out right
11:14
like ha ha ha cause like
11:15
oh yeah it's
11:16
it's a it's a good read
11:17
but then like uh
11:18
what is it about hmm
11:19
can't remember ha ha
11:21
so yeah I think for me
11:23
project driven learning is very helpful
11:25
so it's like you learn you wanna learn a thing
11:27
like
11:28
let's say when I learnt react or something like that
11:31
like I've learnt a bunch of different tools
11:33
um and these tools have different tutorials
11:36
that you can follow and you can follow the tutorial
11:39
and you can stay on that golden path
11:40
and learn what they want you to learn
11:42
and you get the major concepts
11:43
and you get the major building blocks
11:44
and you're like okay cool
11:45
how do I get it to do this other thing
11:47
and then you research that and you end up learning more
11:50
um and you find out where you need to go deeper
11:53
so that's useful for me
11:56
but I, I do think that books are helpful
11:58
in a lot of places as well
12:00
because it does give you a
12:01
a narrative flow
12:02
and it helps you to kind of stay on task
12:04
for folks who are newer to programming language
12:06
I would usually say like
12:08
find a structured resource to learn from
12:11
because there's just so much stuff out there
12:14
the signal to noise ratio is really bad
12:17
so if you just find like one good trusted source
12:19
and you use that as a starting point
12:22
then that's probably good yeah
12:24
is this why you got into teaching as well as
12:27
because you
12:28
you felt like the material out there is more noise than
12:32
hmm not really
12:33
so so even in the noise
12:35
there's a lot of good stuff
12:36
uh it's just that there's like
12:37
people pull
12:38
each other in all sorts of different directions
12:40
for me
12:41
teaching was something that I always wanted to do
12:43
in some way like I um
12:45
I've always been teaching like when I was a little kid
12:48
I used to teach grownups Excel skills
12:51
and I taught the other kids maths and tutored them
12:54
and I've taught people different sports
12:56
and it's always been a thing in my life
12:57
but it's not something that I like pursued as a career
13:00
but it's always been something that I've cared about
13:02
like it's always clicked with me really well
13:04
so I was a really awkward kid and helping people with
13:07
their homework was a good source of connection
13:09
so I think a lot of it comes from that yeah
13:12
then wait you did that for free um
13:15
some people paid me but I also just
13:17
you did that for free and when I was in school
13:19
like people and stuff sometimes yes
13:22
sometimes no and it depended on the situation yeah OK
13:26
I did it I got paid
13:28
so people that people become your friend
13:31
so they can borrow your homework
13:32
like the the morning
13:37
no no
13:38
no borrowing was for free
13:39
but I liked helping people to understand stuff um
13:42
that was always a thing so I
13:44
I didn't
13:44
like all my homework in exchange for friendship
13:47
like that would be that would be a bit sad
13:50
um but it was
13:52
it was a way to connect it's like cool
13:53
you you wanna get better at this thing
13:55
let's no doubt about it like
13:57
if you're teaching person a thing
13:58
and you really want them to understand something
14:00
then you have to understand them um
14:03
so you do build some connections there
14:05
and I found that a lot with my students as well
14:07
more recently it's like you really do
14:10
like you get into each other's heads a little bit
14:12
but back to your question about like
14:14
how I got into teaching
14:16
I've been working for a bunch of startups
14:17
and I was feeling thoroughly burnt out and used up
14:20
and I was thinking about what I really
14:24
wanted to do I was like I've been
14:25
I've been working so hard
14:26
chasing other people's dreams
14:28
and what do I want to do it's like
14:30
I want to make an impact on people's lives
14:33
and education is a really amazing way to do that
14:36
I mean if you think about it
14:37
you you just have like
14:39
a bunch of conversations with a person
14:40
and then their trajectory changes in a massive way
14:43
and sometimes it's not even that hard to
14:45
to move a people a person quite significantly
14:49
so I got to a point I was like cool
14:51
I wanna work in education
14:52
I want to start a code school for for women
14:55
I want to do this this is gonna be great
14:56
and then I was thinking about like okay
14:59
what does it take to start a code school
15:00
I'm going to need um
15:02
desks and a venue and HR and payroll and and
15:08
and all of these like
15:09
things that I'm not that interested in
15:11
and if you think about like the business of education
15:14
there's there's like
15:14
so much stuff that you need to do that isn't teaching
15:17
and so I was bashing my head on this for a while
15:20
but at the time I was like
15:21
I'm taking on like random little freelance gigs
15:23
and I'm just trying to get more exposure
15:26
so I went to a PyCon
15:30
a PyCon South Africa event and I ran a workshop there
15:33
and I I like I literally just
15:35
did it so that um
15:37
more people could see what I was about
15:38
I wanted more exposure
15:40
and I wanted to teach people a thing
15:41
and I wanted to learn a thing
15:42
so so I did that
15:45
now with PyCon South Africa
15:46
you can charge for your workshops
15:47
that's just how it usually goes
15:49
um but I decided not to charge for mine because I
15:52
I was just like bring more people
15:53
and so because my workshop was the cheapest
15:55
it was very full of students
15:57
um and hahaha
15:59
some of those students were from this non profit
16:02
coding bootcamp and they kind of swarmed me afterwards
16:06
and they were like this is great
16:07
don't you wanna come and run a workshop at our place
16:10
I was like okay cool
16:12
I'll I'll try that out for free
16:14
or you can charge them this time
16:17
no I was just like cool
16:18
I'll just do it for free
16:19
because like these people obviously don't have a lot
16:21
and they're obviously like really
16:22
really hungry to learn I'm
16:24
I'm a sucker for for teaching
16:26
so I went there and I did that
16:28
and I ran a couple of workshops and I got to know the
16:33
the people who were running the place
16:35
and I got to see what their education system was like
16:38
and it wasn't good enough
16:40
and so I ended up working there um
16:43
and eventually being their CTO
16:45
so I started off working part-time
16:46
and then ramped up and ramped
16:47
up and ramped up
16:48
and then I was just like part of the woodwork
16:50
so when I started working there was very um
16:52
it was very scrappy and I like scrappy but the
16:56
the syllabus itself that they were teaching wasn't it
16:58
it had big gaps in it it was like they'd have a
17:01
a couple of paragraphs to
17:02
to read about unit testing
17:03
it was like cool now you know unit testing
17:05
so
17:06
what I did was I built out some new programs for them
17:09
and I just kind of solidified the stuff that they had
17:12
and made it really really solid
17:13
and through doing that I learnt a lot about
17:16
about teaching and about brains and about like
17:18
how to teach the basics of Python and other languages
17:21
there was Javascript there as well and that was cool
17:24
and then CoVid happened haha
17:26
so um
17:27
we we were originally an on premises training provider
17:31
um
17:31
and we had about 250 students working in this converted
17:35
underground parking lot basically
17:38
we had this apartment building
17:39
and then there was a parking lot and like a
17:41
another parking lot with natural light
17:43
and we converted that into studios
17:45
um and so we had like all these students in there
17:48
and we helped them out with cheap accommodation
17:50
around the building as well
17:51
and then when Covid happened
17:53
we had to send everybody home
17:54
but we had to keep supporting them as well
17:56
so ended up building a whole lot of um
17:59
tooling to help with remote teaching
18:01
and it worked super super well
18:02
and again like
18:04
Learned a ton about just like
18:05
how to keep people motivated and connected remotely
18:08
yeah that's
18:09
that changed my life and trajectory
18:11
I think I can totally relate to that
18:13
I think I was also working at a boot camp school
18:16
right before Covid and then during Covid
18:18
and I also had like
18:19
a lot of lessons Learned already from my previous job
18:22
when we had a team in Berlin and a team in Hamburg
18:25
and we were trying to kind of work hybrid
18:27
which was always a mess and so I
18:31
I was like yeah
18:32
that thing where five people are in the room
18:34
and five people are at home
18:35
is not working out very well either
18:37
everybody's at home
18:39
yeah yeah
18:40
we didn't do hybrid do you think like
18:42
cause you said that like
18:43
the biggest change is that you give this workshop in uh
18:46
PyCon South Africa so do you think yeah
18:49
the community kind of changed your life in some way
18:52
oh yeah
18:53
yeah many times over
18:54
so there was that one that was very impactful
18:56
a couple of years later just like on a whim
18:59
I was like let's see if there are any
19:01
international conferences that I can maybe get to
19:03
and my first international conference was a Django con
19:06
US
19:07
I applied and I asked for a grant and I was just like
19:09
probably nothing will come of
19:10
this that I got to go and that's where I met um
19:14
a bunch of the Django Con Africa folks
19:17
and that was also impactful
19:19
and I met a lot of other people there that I
19:22
connected with quite well
19:23
and I'm like friends with
19:24
and they've supported me in a bunch of
19:26
the things that I've been doing
19:27
and I support and I support them where I can as well
19:30
meeting the Django Con Africa people was lovely
19:33
I I helped organise the first Django Con Africa
19:36
that was in Tanzania in Zanzibar
19:38
which is epic and um yeah
19:42
met some amazing people there again and it
19:45
it sort of snowballed from there
19:47
so now I speak at a lot of international conferences um
19:51
I've been asked to keynote
19:52
in all sorts of fancy places
19:54
which has been epic as well
19:55
and I've learnt a lot like
19:57
I've learnt about different
19:59
tools and technologies that have changed my opinion of
20:02
like
20:02
what is worth focusing on and what is worth teaching
20:05
and what I recommend to organizations
20:08
so that's been really good and impactful
20:10
and some of the connections
20:12
that I've made there as well have been good
20:14
so like networking like business networking
20:18
can sometimes feel
20:18
a little bit slimy in different ways but um
20:22
it's been a really good networking opportunity
20:24
so I go to these different conferences
20:27
and I try to talk to as many people as I can
20:29
and I try to add value and
20:30
I try to connect people with other people
20:33
and join different dots
20:34
and it's an experience every time
20:37
it's very stimulating and I learn a bunch every time
20:39
but some pretty good opportunities
20:41
have come out of it as well
20:42
so I would say that yeah
20:44
Python conferences have changed my life
20:47
it's been very very good
20:48
oh it's good to hear that cause um
20:50
I feel the same so yeah
20:54
that's great how did they change your life
20:58
well I mean
20:58
this is your podcast so
21:00
I would wait until I got to be
21:02
a guest in another podcast
21:05
OK I'll
21:06
I'll invite you to something haha
21:08
yeah
21:08
I think nobody knows Cheuk when they go to a conference
21:11
and everybody's like oh
21:13
who's Cheuk no yeah nobody yeah
21:17
so I like to always also ask something about
21:20
what do you do besides Python and teaching
21:23
and do you mean like uh
21:26
hobbies and fun stuff or I don't know
21:28
is it hobbies or is that another passion that you have
21:31
depends on the level of involvement
21:34
I guess yeah
21:35
so I do have different passions
21:37
um Python is a thing that takes up a lot of my time
21:40
teaching in general takes up a lot of my time
21:42
the non python stuff is soft skills
21:44
so I do train people in in different soft skills
21:46
so one of the products that I have at the moment is
21:50
it's for helping teams become better teams
21:52
um so basically what
21:53
I do is I go and um
21:56
like if there's a team that's
21:57
that's struggling to team in some way
21:59
then I will gather a bunch of information
22:01
and do a bunch of surveys
22:02
and talk to people in the team and their leadership
22:06
and figure out like
22:06
what's actually going wrong or
22:08
and what's going right as well
22:10
because often a lot of things are going right
22:12
they can be amplified um
22:14
often there's like weird
22:15
structural issues that have
22:17
strange pitfalls and side effects
22:18
that people aren't fully aware of
22:20
sometimes
22:20
there's some cultural differences within the team
22:22
there's like all sorts of weird
22:23
complicated things that happen
22:25
and then based on that I come up with
22:27
like a course
22:28
specifically for that team
22:29
that covers
22:30
different skills that they are likely to need
22:32
but it's not really like
22:34
you can't just tell a person how to be a good teammate
22:37
and then they go and be a good teammate
22:38
it doesn't work like that
22:39
because a lot of things are down to
22:42
habits and small changes
22:44
and that's not something you can just do once off
22:47
so these courses typically take a while
22:50
so I'm running a 12 week week course at the moment
22:53
and I'm not seeing everybody every week or every day
22:55
like I'm seeing them once every two weeks basically
22:58
like on average but then between that time
23:01
they are given different challenges and exercises
23:04
that help them to team better
23:06
and yeah it's
23:07
it's been really really good
23:09
so as of my other
23:11
a strong interest is organizational psychology
23:13
and just like how to be a good teammate
23:16
and do people follow through
23:18
so it's it's tricky
23:21
um a lot of people do
23:22
some people don't
23:23
whenever you run like training for a corporate
23:27
where your uh
23:28
where the training
23:29
participants have been told to be there
23:32
then like there will be resistance
23:34
especially if they've been told to be there
23:36
because it's like
23:36
you're going to be a better teammate now
23:38
ha ha like you need some soft skills
23:40
like people don't always receive that very well um
23:43
and so yeah
23:44
there's a couple of different ways to get buy in
23:46
and buying is so so important
23:48
like one of the biggest challenges
23:50
of adult education is motivation
23:52
and focus cause
23:54
there's so many different things that take our
23:55
attention and want our attention
23:57
and many of these things are very important and um
24:00
sometimes you just don't want to learn the thing
24:02
so
24:03
what I do is I try to make the training hyper relevant
24:07
so I find out from the individuals in the team
24:11
what they want what problems they see
24:13
what good they want to grow
24:14
and then I frame things in a way that shows them like
24:17
cool these things that you want
24:19
we're actually gonna cover that
24:21
and this thing that I was gonna cover
24:22
I can tweak it so it covers this other thing that that
24:24
you're interested in
24:25
and so that's part of it is just like
24:27
like actually being direct about like cool
24:29
I'm gonna give you what you want to some extent
24:32
to some reasonable extent
24:34
then the other thing is
24:36
showing people that by taking part in the training
24:38
they can actually support each other's growth
24:40
so sometimes you'll get people who show up who are like
24:42
yeah I don't need this
24:43
like I'm a great team player always
24:45
and I don't need this but those other guys need this
24:47
so for those people you can say cool
24:49
like your voice is actually really useful here
24:52
because you clearly know some stuff
24:54
you can help to direct this training
24:57
like you your input is going to be useful to the people
25:00
around you so that's helpful
25:02
so so far I haven't
25:04
so like with with the course I'm running at the moment
25:06
um there's about 30 people and they're very
25:10
very multicultural
25:11
and it's a very complicated team structure
25:13
if you're familiar with the team topologies book
25:15
so I read so I don't read a lot of programming books
25:18
but I read a lot of life business books and like
25:21
structure books
25:22
but Team Topologies is kind of a book about like
25:26
design patterns for organizing teams
25:28
in complicated organizations
25:30
and they've got a bunch of different um configurations
25:33
so like sometimes
25:35
you'll have a team that's focused on a specific project
25:37
or a specific like type of work um
25:40
and sometimes you'll have a team
25:42
that is actually distributed in different ways like um
25:45
you get this thing called an enabling team
25:47
and an enabling team
25:49
like they're kind of like a guild and they
25:52
they level up their skills
25:53
and they level up their tools
25:54
but then the individual members will go and
25:56
help other teams level up in the same way
25:59
so it's about enabling different projects so um
26:02
the team that I'm working with is something
26:03
like an enabling team
26:04
and something like a platform team
26:06
and so
26:07
it's just like a really weird structure to work in
26:10
so it's kind of like a data team right
26:12
yeah yeah
26:13
kind of like a data team kind of like
26:14
like if you imagine a big organization
26:16
that has lots of software projects
26:18
and then you have a security team just handle security
26:21
like imagine how they would need to work
26:23
like they
26:24
they can't go and fix all the problems themselves
26:26
but they can kind of build a
26:28
a paved road that other like project like
26:31
um product specific teams can
26:33
can walk along and they can go and share skills
26:36
and they can define like uh
26:37
maturity levels for different projects and just kind of
26:42
um put ownership of quality on other people
26:45
but still keep an eye on things and maintain that level
26:48
so so yeah
26:49
it's been it's been interesting
26:50
I just wanted to say that it's kind of the same
26:52
it reminds me of uh
26:54
when we were at work and we were always saying
26:57
we don't need a retrospective
26:58
this month or this two week
26:59
like this time you know
27:01
we have no problems you know
27:02
everything is fine
27:03
and then you do a retrospective and then it's like ah
27:07
one hour was not enough that's like yeah
27:10
to talk about all the things that
27:12
we have no problem with yeah
27:14
yes yeah
27:17
often I find that well
27:18
there's this exercise that I'm doing with
27:20
with this team in in particular
27:22
like we're we're talking about different concepts
27:24
and why they matter
27:25
like why psychological safety matters
27:27
why dependability matters
27:28
and how these things are related and things like that
27:30
but then an exercise that I do with people is um
27:34
Kaizen thing um
27:35
so Kaizen is a
27:38
like a Japanese business philosophy thing about um
27:41
making small changes and you can make
27:44
like tiny improvements to how you work
27:46
and those tiny improvements
27:48
even if they seem insignificant
27:49
they add up and they can do big things
27:51
so then people come up with their own
27:53
little improvements that they want to make
27:55
and they commit to it in a public way
27:57
and then they go and they do those things
27:59
and coupled with that I
28:01
I get folks to pay attention to each other
28:04
and try to notice the good things that are happening
28:06
so that they can say like
28:06
hey I saw you do this good thing
28:08
well done and that's been
28:09
really really cool so like
28:10
here's an example of a small kaizen
28:12
thing that a person can do
28:14
so one of the people in the team was like
28:17
every time I go to a stand up in the morning
28:19
I feel really anxious and then I
28:21
I go into the stand up and I just like
28:23
waffle and ramble and
28:26
and then I just feel bad it's like okay
28:28
how are we going to solve this
28:29
um we'll solve it by spending like
28:30
five to 10 minutes before the stand up
28:32
just thinking about what I'm gonna say
28:33
and it's like this really
28:35
really small thing that you can do
28:36
but then she goes to her stand up and she's prepared
28:39
she's not anxious um
28:40
she's more able to pay attention to the people
28:42
around her cause
28:43
because she's not caught up in her
28:45
internal anxiety loops and the rest of the team
28:48
get better clarity on her tasks and what she needs
28:51
and so they're more able to help her um
28:55
they're more able to focus on her stuff
28:57
and they're
28:57
more able to have space to talk about their stuff
28:59
so it's like this little
29:01
tiny thing with potentially a big impact
29:03
and there's loads of things like that
29:05
like lots and lots yeah
29:07
so I have a question for you
29:08
so if you have to choose right
29:10
you can either work with Python
29:12
the programming language or so either
29:15
or you can do both or people what
29:18
would you choose hi
29:20
so actually like so I love Python so much
29:25
but I think actually people
29:26
and the reason I say that is because in the end
29:30
like if you wanna build something big
29:32
it's a it's a team sport like if you're
29:34
if you're just working by yourself on something
29:35
like you can do some pretty epic things
29:37
but the
29:38
most impressive things are generally
29:40
done by teams of people
29:41
and getting people to team well is like
29:45
there's just so much to be unlocked
29:46
there's so much leverage to be added
29:47
people sometimes talk about 10 x developers
29:50
and stuff like that
29:51
it's very hard to make a 10 x developer
29:53
it's very hard to be a 10 x developer
29:54
it's very hard to find a 10 x developer
29:56
but you can take a team and make it
29:58
make it like a 10 x team
29:59
and it's not actually that bad to do like it's like
30:02
it's generally like it like
30:05
if you just look at it with the right lens
30:07
and get people to be motivated to make small changes
30:11
you can do some amazing things
30:13
and you don't necessarily need to stop at 10 x either
30:17
so that's part of it
30:18
and then the other part of it is like
30:20
LLMs are changing a lot of things
30:21
and they are adding a lot of leverage to programmers
30:26
and they are also they're changing the landscape in
30:28
in a lot of different ways
30:30
but people are getting to a point where
30:32
we're realizing what the uniquely human skills are
30:35
and if we can grow those human skills
30:38
then that's great so I think that there yeah
30:41
I think that there's a lot of space for just like
30:43
growing individual people in
30:45
in how they interact with one another
30:47
I think that's a good call
30:48
because I think a lot of developers
30:49
doesn't put that much emphasis on the people element
30:53
that can really help their career
30:55
but they just overlook it
30:56
they just thought like if
30:57
if I'm become quote unquote
30:58
the best developer I don't know how you quantified it
31:01
but like that I would be you know
31:03
I would do really well in my career
31:06
but I guess there are a lot of
31:08
people element in it that developers overlook
31:11
yeah I think that works up to a point
31:13
and then after that point
31:14
you are like you need to work with other people
31:18
um a metaphor I really like is soccer
31:21
um or football
31:22
depending on where you're from
31:24
your
31:24
individual skills as a soccer player really matter
31:27
quite a lot but most of the game of soccer
31:30
like if you watch people practice
31:31
like practice soccer
31:33
a lot of emphasis is placed on passing the ball really
31:36
really well and that means setting the person up for
31:39
the next person up for success
31:41
and that means
31:42
also being aware of what other people are doing
31:45
like you need that that context
31:47
and so that means paying
31:48
attention to things outside of your little bubble
31:50
but it also means just taking
31:52
care as you craft different things
31:55
so let's think about a pull request as a
31:58
as a ball passing moment like
31:59
how can you craft a pull request
32:01
to set the next person up for success
32:03
like make it clear and specific
32:05
and don't do a million different things at once
32:08
don't make it like a mega pull request
32:10
that's just gonna confuse people
32:12
if you make it super huge
32:13
then your whoever's reviewing it might um
32:16
they're a human they might lose focus
32:18
if you make it small so they can fit it in their brain
32:21
then they will do a better job
32:22
so like
32:24
there's all sorts of different ways to just like
32:25
make that one interaction better
32:28
another way you can pass a ball is like
32:30
asking a person for help
32:31
you can ask a person for help well or badly
32:34
and you can build up like you
32:36
you can build these skills
32:38
a lot of really good
32:40
like technically skilled developers
32:42
they'll hear about these teamwork good practices
32:45
and they'll nod and smile
32:46
and then just like make massive weird PRs anyway
32:50
because they
32:51
they don't necessarily value passing the ball well
32:56
and that's harms the people in their team
32:58
or it affects productivity
33:02
yeah I think it's not only I
33:03
I think sometimes um
33:05
what I noticed was not necessary that they don't
33:07
that people don't value passing the ball well
33:09
but it's actually it's hard
33:11
it's a lot it's a different work
33:13
it's different work to do that well
33:16
compared to just coding you know
33:18
a lot and like really making it bite size and what not
33:23
so that's kind of like it
33:24
I think it's more of a subconsciously
33:27
it's like learning a new skill and you want
33:30
you need to you need to
33:30
wanna learn to be in a space where you want to learn
33:33
so I guess it's like kind of like when you pass a ball
33:36
like I
33:37
I Learned it when I was like playing in the playground
33:39
right like when I was I was a very again
33:42
like I'm not really good at sports
33:43
I have no like sporty nerve in me
33:46
so I'm suck at like you know
33:48
even passing the ball right
33:50
mostly just like hit my head or I just miss it
33:52
and I have to chase after it right
33:54
so I was told how to like
33:56
really do the ball pass is to like
33:58
when you pass the ball
33:59
you have to make sure looking at the other person
34:02
make sure they are ready you are ready
34:03
and then you
34:04
you have to aim at giving the ball to them
34:06
rather than just whatever
34:08
float it so I think that's the difference right
34:10
like if you're just kind of float
34:12
it's like oh
34:13
you didn't catch it that's your fault
34:14
it's like no
34:15
but you didn't tell me that you're going to float at me
34:17
and then like of course I didn't get it
34:19
it hit hit my face and like whatever
34:21
right like
34:22
so you know that
34:23
you know actually
34:25
just passing a ball is different from just
34:27
randomly throwing a ball at people
34:29
so it's and also people always think oh
34:31
it's your fault that you didn't catch it
34:33
it's like but it no
34:34
it's your fault that you didn't pass it well
34:35
so yeah
34:36
yeah
34:37
like the ball metaphor for can be passed
34:40
can be pitched pretty far
34:41
because sometimes in a professional environment
34:43
people will take the ball
34:45
and then they'll put it down and walk away
34:47
like that could drop the ball right
34:51
ha ha
34:52
it's like somebody will do with this
34:53
ha ha ha also
34:54
there's people who collect balls
34:56
oh yes yes
34:57
oh collect more than they can handle right
35:00
like this is a handful it's just like
35:02
this is a beautiful football
35:03
and this is a beautiful ping pong ball
35:06
and it's like just you know
35:07
collecting them
35:09
yeah
35:10
or like doing tricks with the ball
35:12
and the goal's right there
35:13
it was like look at all the fancy stuff I can do
35:15
I can bounce it on my head
35:17
so we see this a lot yeah
35:19
and missed the point right
35:20
like oh
35:21
you have to put it in the goal
35:23
I guess
35:24
yeah I think
35:25
I think this is sometimes like
35:26
I think you can
35:27
be quite long time in a team without having
35:29
especially like
35:30
companies that are cutting on budget and everything
35:32
and I think uh
35:34
let's say 10 years ago
35:36
we were in a space where every team had a scrum master
35:39
an agile coach a
35:42
you know five people to help the teamwork
35:44
you know and now it's like
35:45
oh you gotta do it yourself again
35:47
so I think if you don't explicitly say things like
35:50
you know you are
35:51
responsible for your pull request to be approved
35:53
by the end of the sprint if we're doing sprints
35:55
you know then people are like
35:57
yeah yeah yeah
35:59
I think there is still a use in
36:01
scrum masters and things like that
36:03
but I think that people just put too much on them
36:05
the original thinking behind scrum masters
36:08
was that they would be scrum coaches
36:10
more than masters
36:11
it's not like they're there to tell everybody
36:12
what to do but they're there to be a coach
36:15
ideally get into a position
36:17
where people don't need them so much
36:19
but it didn't really go that way
36:20
it ended up
36:22
yeah things get yeah
36:24
I think why people hate like
36:25
agile scrum is that
36:26
because company thought that that's like a
36:30
you know solve all the problem
36:31
like ticket to solve all the problem
36:32
but it's not so that's why like
36:34
it's got me misused and people ended up hating them
36:38
yeah yeah
36:39
got misused a lot um
36:41
and we see that like at all implemented badly in
36:45
in lots of different places where they're like cool
36:46
we're gonna have sprints
36:48
let's have a plan for the next 10 sprints
36:50
what specifically are we going to do
36:52
in the next 10 sprints
36:54
and it's sprinting
36:55
that means we're moving really quickly
36:59
but yeah but why and where are we going
37:03
don't know OK
37:04
just run OK
37:06
as long as you have the ball haha
37:08
yeah man haha
37:10
just to come back to um
37:12
the thing you're doing at prelude right
37:15
you mentioned at the beginning that you're also doing
37:17
um mentorship for teachers
37:19
so not just yeah
37:21
so you're going to the meta level a bit
37:23
with the teaching yeah yeah
37:25
so that's actually with um
37:26
the Guild of educators so it's a community I started um
37:31
last year and I've been like
37:34
so there is a craft to teaching well
37:36
and a lot of people who want to teach code
37:39
they have the coding skill
37:40
but not necessarily the experience in teaching
37:43
and they'll often mimic what they've already seen so um
37:46
traditional education systems
37:48
where you have a sage on the stage and
37:50
and all of that so that's one aspect of it um
37:52
our understanding of what good teaching looks like
37:56
has changed the way people learn and study
37:59
and like
38:00
that is something that has been well studied there
38:03
there is science to back up
38:05
modern methods that many people just don't know about
38:08
standard schooling where you get
38:09
everybody to move at the same pace
38:11
under serves most people and like it's
38:14
it's not like it's all bad
38:15
I mean look how many people can read
38:17
that's great but it
38:18
it can definitely be better
38:20
so
38:20
part of it is about just giving good teaching skills
38:23
and like mental frameworks to people who want to teach
38:26
and giving teachers support structures as well
38:29
like a lot of people get out of teaching
38:32
because they get frustrated in different ways
38:34
like I think the half life for teachers in the UK is
38:37
7 years I stand to be corrected
38:39
but I mean that's not long enough
38:40
if we could make that half life longer
38:42
that would be really nice
38:44
so supporting teachers is a big thing
38:47
but then there's also um
38:48
there are teachers who are teaching technical stuff
38:51
who aren't necessarily practitioners
38:53
of that technical stuff
38:54
so earlier we spoke about PyCon Namibia
38:57
and PyCon Namibia is really
38:58
really great
38:59
because we get to go and hang out with students
39:02
and show them cool things with code
39:04
and we had this day where we were at a
39:07
like a local school
39:08
and we were doing some python with the kids
39:11
and a bunch of computer studies
39:13
teachers were there as well
39:14
and these teachers were like they were lovely
39:18
they showed up they were hungry to learn
39:19
they really wanted to help in lots of different ways
39:22
but when you interacted with them
39:24
you could see like
39:25
like they don't know that much Python
39:27
they don't know
39:28
that much about the thing that they're there to teach
39:30
because they just don't have the experience
39:32
and so my thinking was that if we hear those folks up
39:37
with technical practitioners
39:38
with developers and to say like cool
39:40
now you have an expert that you can speak to
39:43
then that'll probably affect quite a lot of lives
39:45
cause one 1 teacher affects many
39:47
many people and so
39:48
the idea with the mentorship program
39:51
is that it's a completely voluntary thing
39:53
um it's not like I'm mentoring people
39:55
and they're paying me or anything like that
39:56
it's um
39:58
mentors can show up or potential mentors can show up
40:01
and volunteer mentees can
40:03
can show up and say like hey
40:04
I need help and then they get matched together
40:06
so a mentee can be there
40:07
because they want to learn technical skills
40:09
or because they want to learn teaching skills
40:11
and a mentor can also help with either of those things
40:14
and a mentor can be a mentee at the same time
40:16
that's okay now structurally
40:17
like a lot of people get a little bit frightened
40:20
of becoming a mentor because it's like
40:22
oh if I'm somebody's mentor
40:24
it's like this lifetime commitment
40:26
and they're going to expect
40:27
hours from me every single day
40:29
yeah so um
40:31
there's a lot that's in place to make it like
40:34
safe for the mentors in terms of their
40:36
their own capacity so we'll
40:39
do like a matchmaking thing
40:40
and a mentor and mentee will be matched together
40:43
for 12 weeks that's three months
40:44
and at the end of that 12 week period
40:46
it's like it's done they can join again if they want to
40:49
during those 12 weeks they're expected to meet
40:52
once every two weeks for like an hour
40:53
and so it's not a big time commitment
40:56
that's the minimum commitment
40:57
if both the people want to meet
40:59
want to spend more time together
41:00
that's great but it's like that is all that is required
41:03
and then the other thing is that
41:04
the burden of organizing things goes on to the mentee
41:07
not the mentor so the mentee will say like cool
41:10
we we need to meet up let's schedule something
41:12
so so they'll they'll be the scheduler
41:14
and they also need to
41:16
prep the mentor before their session
41:18
just by saying like
41:18
this is roughly what I think we should talk about
41:20
and so the mentor doesn't go in blind
41:22
they can mentally prepare
41:23
so I've run a similar structure before
41:27
um a similar mentorship structure before
41:29
when I was working at that non profit coding bootcamp
41:32
where I had professional developers mentoring our
41:35
our baby developers and that was really lovely
41:38
so we match people up
41:39
and the 12 weeks finished and all of that
41:42
and basically every single mentor
41:44
said that they'd like to be included in the next round
41:46
so it was a good experience
41:48
so I'm just taking the learnings from there
41:50
and applying it to a slightly different domain
41:51
so get people to teach well
41:53
teach Python well specifically and um
41:55
there are some like interesting side effects as well
41:58
so the Guild of educators has a discord server
42:01
and there'll be a channel on there for the mentors
42:03
and so the mentors can can swap notes with each other
42:06
they can say like oh
42:07
this weird thing happened
42:08
how do we solve it or my uh
42:11
my mentee is asking about this thing
42:12
I don't know about it does anybody know about it
42:14
so they've got people to lean on and talk to
42:18
and I think
42:18
some really good things can come out of those
42:19
conversations and for me it would be really
42:21
really interesting to see what problems people have
42:24
and how they're solving them
42:26
that's a resource on its own okay
42:27
so now come the million dollar question
42:30
how can someone join the Guild of educators
42:32
so head to Guild of educators.org
42:35
you can join just as a regular member
42:37
there's a join us button um
42:39
so you can join the
42:41
the discord server there and you can uh
42:44
fill out a form there and give me your email address
42:46
and then you'll get emailed
42:48
about different news and things
42:49
when it happens
42:50
and then if you want to join the mentorship program
42:53
there's a different form to fill out
42:55
on a different tab yeah
42:56
so just go to Guild of educators.org I
42:58
hope we put it somewhere
43:00
like in the description or on the screen
43:02
I don't know we'll
43:03
we'll see but yeah
43:04
we'll get folks the information
43:06
coming back to the beginning
43:08
where we talked about PyCon um
43:10
Africa Africa
43:11
you showed us what your colleague did as a copy
43:15
as inspired by PyCon US
43:17
and I thought that is like really cool
43:19
and maybe you wanna show that awesome
43:22
so at Python US and other conferences
43:25
you get a name tag
43:25
and then there are stickers and ribbons
43:27
that you can attach to the name tag
43:28
in order to say who you are
43:30
to say like I'm a community member and I like hugs
43:33
and I'm involved with PyLadies and
43:35
and things like that so
43:37
one of the organizers of PyCon
43:39
Africa is really into 3d printing
43:41
it's amazing and he made these name tags
43:44
so this is completely modular
43:46
you can take it apart it's got these like
43:48
little purple things to hold everything together
43:50
and it just pop out oh
43:51
that's really cool yeah
43:53
and if you zoom in on this
43:54
like this is the PyCon Africa logo
43:56
this was done with a 3D printer
43:58
and when you print these things
43:59
it's a really interesting process
44:01
because you need to take um
44:02
the transparency of the different colors into account
44:05
and you can get the 3D printer to kind of
44:07
mix the colors yeah
44:08
it's super cool
44:09
so we have these like epic name badges and yeah
44:13
like
44:13
it comes with a little lanyard that you can click in
44:15
and you can say that you you like hugs
44:18
I like hugs so this is yeah
44:20
this is the process can we have one
44:21
like this excuse about anything before coffee
44:28
ha ha
44:30
so this is cool
44:31
it's gonna be a little keepsake for everyone as well
44:33
this is the park on South Africa over there um
44:36
that's our national I want that now okay
44:38
ha ha ha yeah
44:39
because at last PyCon in Germany
44:43
Cheuk actually just made a really quickly
44:45
a website to like really quickly
44:47
like what else do you do during a conference where she
44:50
she was like rating swag people could rate the swag no
44:54
you did that Cheuk yeah
44:55
that that's
44:56
that's more than a swag that's the name patch
44:58
it's so cool yeah
44:59
that is yeah exactly
45:00
so that's like so I
45:02
I need I need another session for that
45:04
so
45:05
so now Cheuk needs to come to PyCon Africa
45:07
see that's what you had to
45:09
what you had to start with
45:11
and then you get everybody to attend
45:13
I think this is going to become a PyCon
45:15
South Africa staple I think
45:16
it's gonna be our standard thing, because it actually like
45:18
like it takes a while to print the stuff
45:20
but we looked at the price of like
45:23
ordering name badges and things like this
45:26
and it's actually comparable
45:27
it's like um
45:28
it's pretty close and this is only
45:31
this is like the first prototype
45:33
the printing has become more efficient
45:35
so yeah it's
45:35
it's actually a really good way to go
45:38
and it's unique and like
45:39
I think that's the charm of like
45:41
you have stuff that you made yourself
45:42
so two years ago at Python Pizza in Hamburg
45:45
we did the Python Python logo shaped cookie cutters
45:50
also with the oh yeah
45:51
I I really want that one as well
45:53
ha ha ha that's awesome
45:56
can you do it again and then I will come
46:01
I think that's really the end
46:03
so um
46:04
we have very very
46:05
you know limited amount of time
46:07
we can talk for it for ages
46:08
but I guess like seeing Sheena travels a lot
46:10
we can you know
46:11
next time you see her you can just
46:13
you know come chat in South Africa
46:17
South Africa as well yeah
46:19
and um yeah
46:20
so thank you very much for listening
46:22
to everybody who's listening
46:26
bye bye thank you
46:28
yeah