← Back to Show Notes

Transcript: Contributing to Django - Sarah Boyce

Will Vincent

Hi, welcome to Django Chat, a podcast on the Django Web Framework.

I'm Will Vincent, joined by Carlton Gibson.

Hi, Carlton.

Carlton Gibson

Hello, Will.

Will Vincent

And we're very pleased to have Sarah Boyce join us today.

Welcome, Sarah.

Sarah Boyce

Hi.

Will Vincent

So you have sort of quickly become like an indispensable figure in the Django community.

Tell us about yourself.

You know, let's how did you let's as we always do, let's start with the origin story.

I believe you studied maths in university, not programming.

Yes, correct.

Sarah Boyce

Yeah.

Will Vincent

And then how did you you find your way to the Django space and then we'll just go from there?

Sarah Boyce

Uh okay, so yes, I I did a maths degree.

Um I wasn't on the traditional uh computer science route.

I did have some computer science courses.

I enjoyed it, uh, but I all of my internships were in banking, so I did that and decided I didn't enjoy it very much, and then was like, what can I do that is anything else?

And I ended up being a project analyst in a consultancy that uh is in automotive data, um, and there was a lot of Excel work involved in being in there, and then anything that's involved with Excel has a variety of VBA kind of around it, uh, and I was then kind of not intimidated about playing aro

und with things like that, and they had a like an internal team who were managing those tools, and there was a position that opened up to join that team, and I joined it, and so it was predominantly VBA tools at the beginning, but they also had an uh internal website which had all of their timesheets and their personal devel

opment and all this kind of stuff, and this was a Django web application, which was maintained.

Yeah, which was maintained also by this team, and then they kind of decided that web development was more fun than making BBA tools, and so then it progressed that we were predominantly doing uh Django web applications, and that was my introduction to everything in that space, and yeah, and then eventually I I've moved on, I moved on to another job uh as a uh backend engineer,

also Django, but this time uh so previously it was always like a full Django with Django templates, but uh at the company that I was at up until very recently, it was uh Django Rest Framework and a React Frontend.

And then yeah, now moving on.

Will Vincent

So well, I have to say, in the in the hierarchy of degrees where someone says, Yeah, you could figure this out.

I think philosophy if you don't like numbers, Carlton, and then maths.

Maths is pretty much at the top, like because they're both, you know, the articulation of patterns.

Carlton Gibson

Well, we often talk on this show about people who are self-taught programmers versus those that did a CS degree.

And like um like self-taught programmers, they've always got this little sort of imposter syndrome thing about how they didn't really do CS, but CS grads have that about maths, right?

Like maths is to CS, and CS is to self-taught programming.

Will Vincent

I mean, well, yeah, it's like CS, chemistry, physics, maths.

I think that'd be the higher thing.

Carlton Gibson

So it's like oh yeah, I did CS, yeah, I did math.

Will Vincent

No, but I mean I I've seen this even hiring people, it's like, oh, they don't have like a formal background.

What oh, they're physics or math?

Yeah, yeah, yeah.

They'll they'll they'll figure it out.

Sarah Boyce

They'll manage somehow.

Will Vincent

Yeah.

Well, so what was if if you recall, what was that like?

So you just jumped in feet first, then because you were coding on an or helping on a real project as opposed to having time to do sort of kitty projects.

Was were you able to learn from your colleagues?

Were there resources?

Or was it too long ago?

Or do you remember that like sort of, oh my god, what is what is Django?

What is web development feeling?

Sarah Boyce

I think it's a really unusual team because everybody was the same.

Everybody uh was pretty new at it, I would say.

Everybody had not done a computer science degree and everybody was learning on the job, and so we all had this very similar pathway.

Um, so it was a combination of really great because we were doing uh like real applications straight away.

Uh, but there's still a lot of imposter stuff in it because we we knew we didn't have that um kind of confidence of somebody who's been around in a few more places and kind of

Will Vincent

that misplaced confidence, yeah.

Carlton Gibson

Confidence of a of a bloke, like just making it up.

Will Vincent

Yeah, confidence of a mediocre white guy.

I mean, I was just talking to my well, someone I know quite well this weekend who's a Django developer, and he was saying, like, oh my god, he works at a company, the Django Code base, and he's like, it's one step away from being on fire, and we wish we could bring someone in and make it better.

I was like, that's there, everything is like that.

You know, like open source, open source is not, but everything else is.

But there's that's the same feeling.

You know, even you know, he's got years of experience.

It's always like, well, someone must know.

But like, you know, Carlton, what does it feel like, Carlton?

Carlton Gibson

I don't know, no idea.

Every app I ever worked on was duct tape everywhere.

Um, that's but that's okay.

I was gonna ask you about so you uh you know, working with Excel and macros and VBA and all these things.

And so what about um like engineering practices like unit testing and these other, you know, how do you teach in that, you know, what was your exposure to those kind of practices?

Sarah Boyce

Well, exactly.

So this is kind of part of the reason that it's uh it was missing because in VBA you don't really have unit tests or this kind of stuff.

It's very much and I do think it's an interesting thing because not only were we looking after uh tools that we had made, but it we would also be dumped with tools that other people had made, and there's sometimes these kind of man in dark room crazy thing that they've created, and it's got obviously no tests, and it makes sense to them, and you have no idea why it's doing this, and it opens up an email at

some stage and it does all sorts of things, like it can open up Internet Explorer and click around, and then I don't know.

So, um, and without any tests,

Carlton Gibson

and the entire business is run on it, yes,

Sarah Boyce

so and yes, everything is important, like all of the reporting is somehow coming out of this tool, and um yeah, so some of these practices that now it seems madness to not have, it it just it just kind of wasn't there.

And uh we did get there, uh, but some of those lessons were hard learned, I think.

Carlton Gibson

Okay, but that's the best way to learn them, right?

Like actual actual scars that you could

Will Vincent

it's like children, Carlton, right?

Like no one listens to you until you know they like get a boo-boo.

Carlton Gibson

Oh man, don't start me on that.

Will Vincent

I just see the same pattern everywhere, and maybe it's because yeah, it just someone has to either really want it or have something bad happen to like impress upon them that like no, that this is actually matters.

Carlton Gibson

I was a when I was a junior, one influential comment that was made to me was like, Why are you oh you're really you know, I speaking to a colleague, oh you're really diligent about writing the tests, and they're like, Well, I can either write the test or I can open the browser and manually click around in the application to make sure it was working.

And I'd much rather do that.

Um so let's see, I want to we have a whole long list of things to talk about.

Will Vincent

Maybe we Carlson.

Carlton Gibson

Well, no, segue there though.

But so you uh so you know, with that background, you obviously did learn all the testing because you turn up on the Django issue tracker and you know make massive commit um massive contributions, and you clearly have all the engineering shops and all the good practices and all those things.

So, you know, there's a there's a pathway then.

Sarah Boyce

I mean, it's interesting because uh part of the I think part of the reason that I really wanted to jump into open source and to Django was because of this lingering uh impository feeling that you have.

And back when you had this belief that there are real developers out there and there are people who are kind of pretending to be it somehow, and you want to some get rid of that feeling and establish yourself as someone who is legitimate and not somehow stumbled into this role.

Um open source contributions have this thing about them where it makes you sound or feel like that you you kind of know what you're doing because you are confident enough to do it in public and that other people can see it, or it and all sorts of other reasons, I suppose.

Um, and I uh I wrote this goal that I wanted to try and do some any open source contribution, and then ultimately uh contributed to Django with kind of my I don't know like a stretch goal kind of thing.

And it took some time for me to actually get there because uh whenever you open it, open track up, uh it took me some time to I guess find a process that works for me to find tickets that I felt like I could pick up.

But then once you get there, then then it starts to become like a job where you can figure it out and you've got a routine and and you're set up and then you can repeat it.

And uh but yes, I appreciate that, especially with things like Django, that tests are essential and that it it it it couldn't function without the quantitude of tests that it has.

Carlton Gibson

I I think the good thing people come up with these um issue requests and they're like, you know, can I change this?

And you're like, well, let's change that and see what breaks, and there'll be half a dozen tests that break, and then there'll be a PR that added them, and there'll be a ticket discussion that as to why that's the way it is, and then you can say, Well, no, we can't do that because of X.

Without the test suite, it'd just be impossible.

It's yes, 3,000 or something odd tests.

I don't know how many there are now.

Sarah Boyce

Oh, I I checked, there was uh 16,000 tests.

Carlton Gibson

Oh, there's quite a few more than I just said.

No wonder they take so long to run.

Sarah Boyce

Yeah, it's a bit crazy.

Um yeah.

Carlton Gibson

I always say um we're in the um I do sorry, Will.

I did in the um contributing to Django workshop I've run a few times.

I always try and say to people, look, it's not about two hours we've got a workshop, it's not about getting anything necessarily done.

It's just getting that taste of a ticket and getting enough into a ticket to see that you could understand it and that you could offer something back because people feel intimidated.

Does that resonate with your experience?

Sarah Boyce

Yes.

Uh and that I do think that I'm seeing this pattern again and again with some people, and you can tell that it is a person who is not sure because they will ask for uh validations and permissions quite often.

They will ask for permission to look at a ticket, they'll be like, Oh, is anyone working on this?

Can I pick this up?

The answer is always yes, but uh you you and I did the same.

My first comment is going, oh, can I work on this?

Is this allowed?

Sarah Boyce

And um, and then there's uh people who are saying, you know, I I've had a look at this, and I think it might be this and this, and it's a question, and it's like, sure, maybe it might be, why not?

And and uh I think having that confidence that to be honest, if you at the start you just need to write a test that validates either the new feature or the the bug that you're trying to fix, and then if if you got all the tests passing it it works, in my opinion, and then you just need someone to go through it with a fine-tooth comb and make sure that it it it it

is following all of the style guidelines and any other kind of ideas and stuff about it, but uh yeah.

Will Vincent

Well, so that experience there's well two things, and you can pick which one.

Um so maybe Django Not Space.

So, what is this new um program that you're actively involved with that we will have a link to that's sort of trying to, I think, mimic and have help others go through that journey you just described without doing it in the dark?

Sarah Boyce

Yes, exactly.

So there have been a few people who've been uh pushing for mentorship in in Django for for some time, and and Django is already involved in uh Google Summer of Code, and there are perhaps some other uh initiatives that Django is involved in.

But this idea of Django having its own uh mentorship program or idea around it or support space um has been something that a lot of people have wanted, and in the last Django Con US uh I wasn't there conference, there was a panel discussion around uh I think it was called the future state of Django or something like this,

and mentorship was discussed there again, and there were two people there who are organizers of Django Not Space.

They basically founded it pretty much after this discussion, and they are Dawn Wagers and Rachel Calhoun, and yeah, they just kind of decided that everyone's talking about it.

Why don't we just do something?

And so that's what they did, and they also acquired uh Sarah Abdamon, I think fairly early on, and they started having some ideas and progressing it, and then there was a point uh about six months ago now, probably, where uh myself and Tim Schilling kind of got involved and we have helped start with this first program.

Now, what is the Jangonaut space program?

So the concept is we take about six to eight Jangonauts, and that's the term we're using for the participants of the program, and they will be assigned a navigator.

There's a space theme with this quite heavily.

The navigator is someone who has um experience in the Django contributes code contributing space, so they are familiar with track and the review process and can give some kind of tips and tricks and guidance.

They don't need to know everything, no one knows everything, and they don't need to know all the nuts and bolts that somebody could ask anything on any ticket, and they would know the answer of that.

Um, but then we also have a role of a captain, and they are kind of our pastoral support, so they kind of give this um personal touch and community element uh of the program that we have in Django and hope to bring that to the participants.

So, and part of this is also to try and share the responsibilities out um as to what we hope would make a positive experience that it's not just down onto uh a couple of people and that we can hopefully have more ownership across a few people, and then that will make it a bit more sustainable.

Carlton Gibson

I and I think just from my experience of with Google Summer of Code, is we've it it was always very very hit and miss, in it always has been very hit.

We've had some wonderful successes, you know, absolutely wonderful successes.

Um, you know, the JSON fields um that Sage did, who's now working on Wagtail and the the Redis Cashback N, and you know, the list goes on and on of features that have come out of Django um uh Google Summer of Code.

But the mentoring's always been our sort of weak point in that we'd you know, we'd have a mentor, and then if somebody was active and they contributed, you know, that would work.

But then if people were struggling, we never really had that support network.

And I see that what you're doing in Django as as as a or Django Norther space is a really good, like, you know, there's a there's a there's a there's a um the Discord, there's support, there's check-ins, there's these different roles, this pastorial and the mentoring.

I just think it it's just a wonderful initiative.

I think everything about it is just you know really well considered and being implemented just wonderfully.

Thank you.

Sarah Boyce

We're trying so hard.

Will Vincent

Well, what is that strike?

It's that structure of marketplace, right?

Because again, like that that panel, which Carlton, I think we both were on that as well.

I mean, that's not a new discussion, and it's you need someone to say, oh right, like you can mentor, like, oh, you need help and and just do all the work to to put it together, um, because it's sort of invisible work in a way, but it's challenging and necessary, and otherwise that people just talk about it and don't do it.

Sarah Boyce

I think that's another thing that I've gained from being part of this, and I feel like that's something that each of us who are in the organizer space, but hopefully we're encouraging that from other people.

That at the start it was very much like, oh, we have this idea.

Who who do we need to get permission from to to do something here?

And and it can very easily be that you end up not doing anything at all because uh you perhaps you don't quite get the validation that you want.

And there's been, I think, a number of times where people have had really good ideas and then uh I I think they were hoping that it would might perhaps get adopted by by some authority.

And when I say some authority, the default is probably the DSF kind of thing.

And I think with this it's been a nice proof of concept that if you want to try something out, like you would a meetup, right?

If you if you want to do a Django meetup, you don't need to get approval to do this, you can just set it up.

And I think we can do this for for different initiatives in the community that you can start with something small and validate that that there is a a need for this or there is um some value that you're bringing here, and then uh grow it from there and and get more support uh as and when required.

And I think that has been a really validating experience that when you say, you know, what kind of like you are the Django community, the community is you, so you can do things.

If you want something to happen in the Django community, that that's something you can do.

So uh, and I think that's been very powerful.

Carlton Gibson

I think especially over the COVID years, the DSF, the DSF board doesn't have capacity to you know take on another thing, to take to be the driving force behind something.

They can they can put a rubber stamp on things if if that rubber stamp is necessary.

But um short of self-organizing working groups materializing, which this is kind of like a self-organizing working group that you've put together, the DSF just doesn't have the um kind of Aristotelian term impetus to get things moving.

Because there just you know, there just isn't that that power there.

Will Vincent

I mean that's this is the the strength and the weakness of of Django and open source communities is it's it's a democracy in a way.

Like we'd it'd be nice if someone just said yes or no to things instead of and I think on the code side it's not clear until you get into it like who do you ask?

Who who has permission?

And not that anyone has permission, but you know, there's maybe a half dozen people who, um, you know, Carlton being one of them, who can kind of push things in the right direction if they need to go.

So the default is, oh, there's this thing called the DSF.

Um and I recognize now, especially not being on the board, that they're when you're on the board, you're so busy doing stuff, you don't spend a lot of time communicating like what the DSF is.

Like, what do they do?

Will Vincent

What do they not do?

So this it is this higher power, but the reality is it's supposed it's a volunteer position.

It's supposed to be one hour a month.

It's not, but it's and it's really not about code itself at all.

It's really just if you come with a fully baked thing and you want funding or you want approval, they can do that, but they're not gonna provide that other support that you know people would like.

Um like your first ticket, right?

Can I work on this?

It's like, can I set up a mentoring program?

Like, sure you can.

Like just do it.

Yes.

Sarah Boyce

You just need some kind of auto-approved bot that's at the DSS.

Will Vincent

Well, I think I think it's for it.

I think it's a communication.

Will Vincent

Yeah, it's a communication thing.

I mean, this you know, and it's a big reason why we have this podcast is because you know, I'd never been to Django Con and suddenly I like almost everyone it seemed who I'd seen online was there and was, you know, approachable.

And it's like, oh wow, like I wish I'd known about that.

And then you know, you know, and that feeds into as well the newsletter.

So uh there's a Django news newsletter that Jeff Triplett and I run, and that you've um we can talk about what your contributions, but you know, Django itself doesn't have a newsletter.

Now, why doesn't it have a newsletter?

Someone has to do it, and I can attest it's a lot of work to do a newsletter.

Um, and it's just everyone on the board already has more than they can do.

And so, you know, maybe at some point it can be merged in, and if Django, in quotes, wants to take it on, they can, but you know, there was a need, we Jeff and I thought to have this.

Um and what one of my favorite things is that you then just approached us and said, hey, like there's all these updates happening.

And it's really been interesting because you know, talking to Carlton all the time, he's telling me how like excited he is about Django and how active issue you know track is, but unless you're looking at it, you don't know.

And so now this updates the Django section, it's like double-digit PRs a week, oftentimes, and new contributors.

Maybe so maybe to you, like what was how is that from your end to adding this new feature?

Because right now we we just give you permission and you basically do this do this section, which is amazing, which is what well, you know, you build that trust, right?

Like reviewing Triage team, like I met you at DjangoCon Europe.

I forget if what the timing was, but you know, at the end of the day, like we're not we're not dealing with lives here, you know.

It's like you can always revoke someone's permission too.

Sarah Boyce

So true.

Yeah, so um, and it's true, there's so much work that is going on with Django all the time.

And I I sometimes I wonder whether there's because there is like a narrative of a story that sometimes we adopt, and I've heard that and okay, so sometimes track is called the fire hose, for example, and I think there is so much more to Django in like a positive empowering space where different people are coming up and

contributing quite fantastic features, and also even the first-time contributors, it's it's not like there aren't that it's very a rare occurrence, it's every week that somebody

Will Vincent

That's what's really jumped out to me, like three or four sometimes new people.

Sarah Boyce

Absolutely.

And so if you want to do it, it's not that uh you would be one in a million.

You might be, I don't know.

But you but it's a it's an achievable thing.

You it takes I think it takes a bit of perseverance and grit, more than I think it takes, I don't know, ten years of Python experience or something like this.

You just need to uh have the uh willpower and some time that you can continue to to push through the the the rounds of review and make those changes, and then it will get accepted.

It's it's a process rather than a lone wolf genius figure or something like this.

Carlton Gibson

And it's c it's complex, but there's no secret handshake either.

It's totally you know, do the do the things to handle the review.

The first thing is understand the ticket, right?

Because the ticket won't it's not like there's any tickets which are obvious.

You have to get into them and think about them.

But as you say, if you do it, if you you know, it will get accepted.

There's no barrier beyond the difficulty of and the time and the commitment.

Will Vincent

Yeah.

But I wonder if we I mean uh you know, attribution and validation, as you said earlier, is is a problem in terms of like like it'd be great if we could have just like a badge on GitHub like you contributed, like your first, you know, not that we need to gamify it, but like, you know, contributed to Django or you know, and this is I'm just thinking out loud, something Django could do somehow to absent the DSF having to maintain a list or something, but you know, it should be something people an employer or people can see without you having to like have an about page

and link, yes, Carlton, to link to it somewhere.

Carlton Gibson

Well, yeah, I mean uh I mean I've thought about this loads.

I think one of the really exciting things about a mentorship program like um Django Nauts is that um it's possible to show people how they can look, you know, just put together a like this is what I did, and you know, they can put it on their blog or their CV or their and that but being told, hey, do you know what that discussion you had on track was a good discussion, and that PR that you did and that you got merged, that's a good thing.

And if you if you write that up as a you know, these hiring managers, oh, how have you contributed to some project?

Well, there, that story, which is publicly verifiable.

But youngsters, they don't know to maximize that, they don't know to shit talk about the things they've done.

Will Vincent

Well, some people don't have the I guess it's confidence to do that.

Like there's a couple people I mentor, and they're I'm I'm constantly like, you should just for yourself write up this thing you discovered because like I promise you you're gonna forget it in six months, or you know, and they they just um don't.

So that's why when you were saying, Sarah, you're like, I wanted that validation, like, yes, yes, like this is what Carlton and I are always saying.

Like, in some ways it's the easiest way to prove your chops is to contribute to Django.

It's like, well, you could probably write for our little app doing whatever if you can contribute to Django, because the standards are gonna be a lot higher.

But many people don't, you know, power through the barriers that you did of like, can I do this?

Should I do this?

The time.

Um but yeah, in some ways it's the easiest way to get hired, I would think.

Sarah Boyce

And I think it's part of the program.

What I hope from it is we are really trying to celebrate each of the achievements that uh jungronauts are are having.

And we are hopefully we're trying to be the voice for them until they learn to have their own voice because there is so much it's very it's all well and good to say, okay, you can make a blog post about this thing, but it's kind of like learning in public, and any piece of code that you wrote two years ago and you read it now and you go, Oh, that's awful.

And so every blog that is also probably very similar that you go, oh, I can't believe I I thought these things at that time, and then oh, I thought this was clever.

And I think having that kind of habit or those ideas that that this is gonna be a useful resource or something that is gonna benefit you is intimidating, especially when you feel like you don't have anything particularly interesting or new to say, or that you've just kind of validated that you you have only just learnt something that you feel like everybody already

knew for a long time now, and you're just publicizing that you're new to this, or something like this.

And um I think contributions to an open source library, there's a there's a pride in it because it shows that you're giving back to something, and a it shows that you are willing to put in some effort into things that we all benefit from, and it somehow gives you permission to to brag a bit about yourself because there's a little bit of of feel-good

ness about doing this, and Django is obviously a well-known library, and there is some status element of saying, Oh yes, I did this, and that's a very good thing to to point to.

Will Vincent

Well, but I think you're I'm a a little bit older than you are, like you're perfectly placed in your programming journey to do this, in that you have the expertise, but also remember and are kind of in that middle ground.

Like one of the issues I found less so in Django, but in other places, is most of the you know poo bahs in charge have lost all perspective for the beginner experience because they've been doing it 10, 20 years.

So it's it's like this abstract thing.

So it's not that they don't know, but it's just it's like, oh, I remember childhood.

Like, oh yeah, like you just like just

the child wimps.

Will Vincent

Like just make a make a PR.

But you know, when you again, like when you write something down, like in the moment you discover it, you have those frustrations in that point of view that you're not gonna have.

Same like your first um contribution to Django.

So you sort of need, in a way, like someone where you are, where you're just like, uh, you know, this is a problem and I'm gonna do something about it.

And then in five years, you'll be like, oh yeah, it is a problem.

Someone should do something about it.

But like you're gonna have different problems.

Because um sorry, so I think it's fantastic.

And I think that's why I always tell encourage people to write as they're learning, because that's the best time.

I mean, that's kind of for me, like for me, I the problem I have now is that I'm almost too familiar with things to write from that beginner's mind.

But like when you're a beginner, you're asking questions that you're like, oh, everyone knows this.

Like, no, they don't.

Like, and if they do, they won't Google for it and find it, you know.

So but Carlton, you still have empathy and compassion for people somehow.

Carlton Gibson

I try to, I try to.

Um that's because I do Tai Chi, and you can't do Tai Chi without a beginner's mind.

Will Vincent

So there you go.

There you go.

You have to practice you have to practice it.

It is it is a muscle.

Carlton Gibson

I remember like when I very first began vividly being stuck for like days because I had the wrong version of my programming language installed, and I didn't even know about versions, I didn't know how to get a different version of it installed, and I didn't know, you know, um, it was I was destroyed by it.

I didn't have a support network to ask by, or I remember not knowing anything about anything, about anything, and uh, you know, so I try to maintain uh as much as I can an awareness of you know what it's like coming to it from the outside.

Sarah Boyce

Yeah, and I think to be honest, we all continue to learn if we keep okay, you can choose not to.

You can you can definitely choose to like I'm comfortable at this thing now, and I'm going to only do this thing now, and and that's completely fine, you know.

Yeah, you you you you've earned your your stripes and you can you can stay there.

Um but there is infinite capacity for you to continue to learn, and you can push yourself to get back into that position where you feel stupid again.

And I feel stupid all the time, so it's not that hard to to feel it again.

Um, and it's also nice to see how far you've come at the same time, and I think even with um with this program, uh there's so many things that that I I hope for it because at the at the minute it's around uh getting getting people into Django and into that space and helping them identify with it that

they can be a a Django code contributor because it is kind of an identity problem in some cases that people somehow feel like it's it's too prestigious or it's it's it's there's a fancy thing around it.

Um and hopefully we get them feeling like this is something they want to be a part of, and that this is there's a team in this, and that they're working with real people here who really care about other people and really want to see you succeed, and that you can be one of those people who are also working on really interesting problems, but also working with some experien

ced, talented, wonderful people, and you can be this experienced, talented, wonderful person too, and and you probably already are, you know, and you will ev almost everybody has some experiences and some uh special skills that they can bring on board, and then with it, there's also there's still levels in in my head, there's still like a a journey from

going from like a first-time contributor to on the other end of the scale, some form of co-maintainer or fellow or whatever you want to call like the one on the other the other end of the scale, and there are still like almost milestones going through it.

So it's all well and good when you got your first contribution in, but there'll be a time where you are able to help other people get a contribution in, and that you feel comfortable reading someone else's code and and saying, Oh, I feel like this and this doesn't fit with this thing, or perhaps it would be better like that.

And there's other steps there that I think you go counter.

Carlton Gibson

Yeah, well, I just want to say because you're a member we haven't talked about, but you're a member of um Django's triage and review team, which is explicitly about having community members who are active on GitHub or active on track, helping with the the the massive task of triage and review and get pushing PRs and issues forward and being able having more than expertise than just say the two fellows can have, you know, being able to comment sensibly on a you know that's it's a really important role.

I mean, it's one I think we should in in the community if we if we could somehow um give it more um kudos, that would be um an important thing because actually it's it's in a way can be more important for helping driving Django forward than coding itself.

I mean, so you talk about your perhaps your experience there and as well.

Will Vincent

How did you get tapped tapped to join?

Sarah Boyce

Oh, it's from Mariush, so I need to give lots of kudos to Mariush.

He's been a very big advocate for me, and he's uh reached out to me on several occasions, and I was pretty much a nobody, and he's helped bring me here, and so I will always be very grateful to him.

But yeah, so Review and Triage team, what is it?

It's it's initially, I would say it's a validation of the work you've already done and kind of a a way that Django can give recognition to active contributors because there aren't that many tools that we have to recognize people, uh, and that's something we can develop, but this is one way to give that recognition.

And then what do we have?

So uh on the Django Discord there is a channel for uh contributors, I think it's called contributor discussions, and there's also contributors getting started, and both of these channels is a chat that you can go into and you could talk to some people who are actively working on Django.

So if you're a first-time contributor, you perhaps want to be in the getting started section and people will respond to you.

And I would say think about what you're asking because sometimes I would say the question is better on a ticket or better to be uh then later moved to the ticket because I think there's better history and documentation of if this was a valuable discussion.

And I I think there's the I think moving to Discord is pretty new and there's a lot of value in it because you get that um that validation.

So back when I was saying sometimes people are just there and they're going, I want to be able to can I assign myself to this ticket, right?

This is not a valuable comment because it is just a person is looking for some kind of um social validation, and you can get that validation on the Discord, and people can be like, Yeah, absolutely, and it doesn't need to uh you know, and I don't mean to say that in any form of criticism way.

Carlton Gibson

It's not gonna help solve the ticket 12 years later if the ticket's still open.

Sarah Boyce

Exactly.

That's that's what I mean, and um uh but but this kind of uh encouragement is still really useful, and I think it's quite humanizing to have other people who are on more of a live time chat who can be you're talking and they're talking back to you, and you can see that they're typing and all this kind of stuff rather than you write a comment somewhere, and then three days later you get an email that someone's replied, and then you check it, and all this kind

of stuff.

It's it feels like the the gods that be have replied to you.

I knew burning that chicken was worthwhile.

Sarah Boyce

And I I think it's a supportive group because even the people who have been contributing for quite some time, they don't always feel very confident in the things that they want to do, and they want to talk it through with some people and they want to check that oh what do you think this is a good idea and all this kind of stuff?

And there's a difference between doing that kind of chat rather than it's some kind of proposal that's on the Django developer's mailing list, which is hoping to get some kind of voting system on, or um so there's kind of like different types of communication in there, and I I think what I like about the Discord is you feel the or at least I feel the community element a bit better there, because you can

even get the very small interactions of the heart and the thumbs up emoji and all this kind of stuff where you're getting kind of validation in a subtle way, uh, which is not as um what's the word, like surgical or clinical or something as something that's difficult.

Will Vincent

It's it's probably also generational a bit, in that I mean, you know, Carlton and I are on the other side of 40, and like I prefer email.

Well, I prefer chats with people I already know, but Discord, maybe I just not I know that that's like what the kids use, and I you know, your articulation of it being an actual conversation and emojis, just like I would text with someone I know is much more encouraging and validating than a normal discussion.

Um, but I think so I think there's you know, Django doesn't have one canonical place where everyone goes, which is good and bad, right?

Because I agree that the official mailing list seems suit seems super intimidating, and then um, yeah, Discord is more humanizing.

I mean, I remember when I was on the board, the Discord, because the disc, you know, part of it is what can Django maintain?

Like the Discord, I believe, is not official.

Like they asked for permission and we said um, you know, we should have one, but you need to make clear it's not like r maintained by the DSF because we don't we don't have someone ownership if something goes awry, because those things can happen.

But yeah, I think we should probably have more like how does someone find out about the Discord, right?

Like, or people often aren't on the Discord and the mailing list.

There's very few people who are crossing between those.

Um I just thinking out loud here, but I think my po um you articulate it in a way that makes makes a lot of sense to me, and I don't know.

Maybe there isn't an answer, maybe it's just different people and you know, different realms working.

Sarah Boyce

Because for me, in terms of um I've always worked okay, in my professional career I've always had Slack.

Yeah, and it it feels quite similar to having a Slack, and so it feels like I have I have a team and that I I've got a team here and I feel like I'm part of something.

And I think without that being in the review and triage team would have felt just like a title that I've achieved or some badge of honor that I've achieved.

But now I I can see what people are doing in different ways because it's easy for me to see PRs that people are raising because I'm also writing about it each week.

But in terms of like, you know, people engaging in in different uh discussions and and things, I find it easier there than I I I find the mailing list intimidating personally, and and that might be a very personal thing.

Will Vincent

Um no, I think I you know, I think the problem is that yeah, the problem is that one email someone sends late at night may or may not have the tone they intend, and then it comes down like the voice of God, and it just completely stops someone in their tracks when the reality is they may not have intended that, or you know, there's like 19 other people in the room who can say, you know what, that person that's just kind of how they are, and we love them, but don't take that as gospel for how the rest of us fe

el about certain things, you know, like because this will sometimes happen with um great contributions to Django that the majority of people are excited about, and someone who's a big poo bar doesn't particularly love it, and they might say something and not realize how it comes across.

Um, so yeah, I think

Sarah Boyce

I also think that

Will Vincent

is that fair, Carlton, like right?

I mean, I've seen this.

Carlton Gibson

I was just gonna say I I think the the mailing list has had its day, to be honest.

I think um what we've got going on with the forum for the more asynchronous comments, which also does have emoji, and it's quite easy to follow.

And if somebody posts in the wrong channel, it's very easy to move them to the right channel, and it's well moderated, and Ken there is just an absolute romp of you know, um, there.

And then with the Discord for the more so I have to admit I hate synchronous, I hate chat, I hate live chat.

I hate when I was a junior it was all Skype and then it moved to Slack, and I couldn't just never get any work.

So I was always just have to have a conversation with boss saying and won't be on Skype or it won't be on Skype.

Will Vincent

I mean we do what we do to avoid that, Carlton, right?

Carlton Gibson

Like I mean, exactly

Will Vincent

so often they're like, oh, there's a Slack, and I'm like

Carlton Gibson

But I've got Discord set up just on my phone and I've managed to filter it so it's only the channels that I want to, and I check it a couple of times a day, and I've managed to okay, I I found a way that I can do Discord.

Will Vincent

So you can teach an old dog new tricks, yeah.

Carlton Gibson

But the forum really works for me, and I think the mailing list just I think it's you know, there's still very low traffic there, but I certainly won't will never start a thread on the mailing list again over the forum.

I you know, I did make that decision a while back, and I think the forum is the way forward.

It's a much nicer UI, it's a much nicer environment.

Emojis help, you know, replies, threaded replies.

Everything about it is just much better.

Will Vincent

I mean, same with members.

This is an you're you're a DSF member, I assume, Sarah, right?

Or are you?

Yeah, okay.

Will Vincent

Um, you know, the 200 or something of us that there are.

Uh, you know, there's communication issues because there's just like an email, and it sorry, I think mimics in some ways sometimes some of the less good things of the official forum or uh email channel.

But perhaps perhaps we should move that

Carlton Gibson

to the forum.

I wonder if it would be possible to have a um even on the fork because it I guess the point about the DSF members list is it is private to DSF members.

Um so is there a possibility for private a private channel or private?

Will Vincent

Yes, I I'm pretty sure they're I I'll look into that.

Carlton Gibson

But that might be a a good idea to improve it.

But I mean so the DSF membership is meant to be again that community sort of acknowledgement of your contribu contributions.

It's meant to be it is Jang, it's like so the PSF fellows are are like people who've contributed to the Python ecosystem.

And the Django Software Foundation individual member is that same, like you know, you've done yeah, you've done good stuff for Django, and I don't think we advertise that enough either.

Will Vincent

Well, Sarah, we're getting to the point where we always like to ask where you have your magic wand, you know, what what do you want to what do you want to change about Django with from where you sit?

Because I always find this interesting.

Code code, community, you know, like dictator, dictator for a day.

Sarah Boyce

I I quite like this theme of this uh communication element that we were talking about.

So I I do think we can really um make some improvements there.

I think that would be a a good improvement having it on the on the forum.

I I want to give kudos to Ken.

I I think this was I I I will eventually get to what my magic wand, but uh I I do agree that I I think uh it's the moderators and it's the ownership of those two of the forum and of the Discord is stronger than I think of the mailing list.

And and because of the work that certain people are doing, and it's great work in in both of those areas, people feel it it's rare that people ask a question or or say something and that it goes completely unanswered, and there's some confidence in that that that there are people there who are looking after it and are gonna be like, Yeah, good question, perhaps it's been asked before, look over here, or something like this, and they they kind of prune it, and and

there's a niceness in that that it it feels quite welcoming, in my opinion.

Um so yeah, having this uh way that we can communicate amongst the the DSF as a group a bit better would be really interesting because it has I have been I have tried a couple of times and I I've made some progress with some some some messages on the DSF mailing list, but uh it it isn't always as um perhaps um inv

iting as it could be and not as active as it perhaps could be.

And I think uh there is an element of and I understand if these are people who have already contributed, there's no kind of um what's the word requirement thank you that you need to do anymore, you've already done enough, and and I appreciate that, but there are still a lot of people who are um very passionate and excited and still active in this community

that I think could uh direct that in into different spaces, and I I don't think that uh the DSF membership is only full of people who are gone and burnt out with Django, and I appreciate the uh I appreciate the validation of giving me this, but I I I I've had enough.

Um so I think that would be really exciting because there's a lot of a lot of things and a lot of stuff that we can still do, and uh that that's exciting to me.

Carlton Gibson

Sometimes worry that we don't get the controls into the hands of the people who are active.

Sarah Boyce

Like it's hard, it is also hard because there is um uh I appreciate there's this element of trust with new people.

Yeah.

And how how do you define the point that it's sufficient, right?

That that that it's not this random person who's come along, they did two things, and perhaps uh you know that that that they are gonna go away immediately, or that perhaps they don't represent some of the the values that we care about with Django and and or this kind of thing.

And um I think that's hard uh to but once it's there, I think you should give um permission and uh stuff very willingly because I think a lot of people can do some really interesting things.

Carlton Gibson

Yeah, no, absolutely.

Will Vincent

Well, and the good news is there's lots to be done and not enough people to do it.

So I think we can and should be more aggressive and trying.

And again, it's just code, like can always change permissions and you know, um, but it's it's unbelievable.

It's not just code.

Will Vincent

I know, no, it's not just code, but I mean it's you know, but it's it's also it's it's a very self-regulating in that people can see what you're doing.

So it's it's I don't even know how you could be like a bad actor over time.

Like what would you gain?

Will Vincent

What what would be the point?

Like it's um yeah.

Well, we are on unfortunately up on time, Sarah, but so nice to have you on the podcast.

Sarah Boyce

Thank you for having me.

Will Vincent

And we'll have to have you back again soon.

I know you have new things in the work, so we can talk about them then.

But we'll have links to everything.

Um, is there any um what's the best way if people want follow up a discussion?

I guess is it email, is it Discord?

What's the best way?

Sarah Boyce

Uh you I think I prefer if you email me um and I will get back to you.

Uh so you guys you can share my email.

Uh you can message me on on Discord if you want.

Uh I find this process a little bit interesting because they have to friend request you first.

Uh, but otherwise you can do that.

That's fine.

Carlton Gibson

Sounds good.

I'm anti direct messages on all things.

I think direct messages are just a bad idea.

Will Vincent

Yeah.

Okay, we'll have links to the GitHub profile and other things where you can find her email and sounds good.

So thank you, everyone.

We are at jjangochhat.com, and we'll see everyone next time.

Bye bye.

Carlton Gibson

Take care.

Bye bye.