Django Chat

Python Core Developer - Mariatta Wijaya

Episode Summary

Mariatta is a Python Core Team member, Python podcaster, and former PyCon Chair. We discuss her work with Python over the years, using Django in her day job, and her new consultancy, CMD Limes.

Episode Notes

Sponsor

Episode Transcription

Carlton Gibson 0:00
This episode of Django Chat is brought to you by The Stack Report, a monthly longer form piece on the application development operations and the process and business of making software. You can support the show and subscribe atbuttondown.com forward slash Carlton, or follow the link in the show notes.

Hi. Welcome to another episode of Django Chat, a podcast on the Django web framework. I'm Carlton Gibson. Joined as ever by Will Vincent. Hello. Will.

Will Vincent 0:26
Hi, Carlton.

Carlton Gibson 0:27
Hello, Will .Um, today we've got with us. Amongst other things, Pilar, Python core team member. F string lover and Velo fellow Python podcaster, podcaster, Mariatta Wijaya, Hi, Mariatta. Thank you for coming on.

Mariatta Wijaya 0:38
Thank you. Hi everybody. Hi Carlton. And Will.

Carlton Gibson 0:41
I want to kick off that we of those things I just listed off the big, sort of scary one for for us, or the big, impressive one there is Python core team member. What is, what on earth is a Python core team and how do you get to be a member of that?

Mariatta Wijaya 0:54
All right, it's actually not that scary. But really, what it means is that Python core team member you get, if you go to the GitHub for C Python repository, the Python programming language, I get the Merge button there. That's, that's the privilege of the Python core team member. Basically, you're considered a maintainer of Python programming language.

Carlton Gibson 1:20
So you're the person to talk to if we want to sneak our PR in, right?

Mariatta Wijaya 1:24
Yeah. Well, how do I say this? No, you Yes, a Python core team member, as a maintainer, we get to review pull requests and actually decide to merge, merge it for you. But that's that's actually just one of the things we can do. To me personally, I've been more involved in the workflow and documentation of C Python, so I think I'm actually one of the few people who rarely commit to Python code most other Python code developers, they do write a lot of code inside see Python code base, but my interest area is documentation as well as community outreach. For me as as a maintainer and as a core developer, there is an in addition to actually writing code to Python, which we have a lot of other people doing that, I don't need to be another coder to myself, I feel what we we lacking is community outreach, like I like to use my position in the community to like, try to advocate for the wider user community, and especially for the underrepresented group members in the community. How can I give them voice? Because a lot of people don't have direct access to other Python core developers. I try, at least, I don't know if I've been successful, I try to pay attention to what's happening in the wider world and see how I can help bring people's concerns, concerns and voices closer to the core team. So that's, that's a little bit of what I've I'm trying to I don't think I've been successful.

Carlton Gibson 3:33
What you don't know successful in, in bridging the gap. You think,

Mariatta Wijaya 3:38
I don't think we've been I don't know. I don't think it's a done process yet, and I don't think we'll be finished anytime soon, but I'm still trying.

Carlton Gibson 3:51
No Okay. I mean, we have similar in the Django community. There's the sort of the framework bit itself, but it's sometimes quite removed from the user base, and it's what removed from the wider community sometimes, and it's something we struggle with too.

Will Vincent 4:07
Yeah. Can I ask just a maybe basic question, which is, how many, like, how many core team members are there? And what is, do you how do you communicate? Is it all in line? Do you ever meet in person? Is it like a monthly thing? I mean, so for Django, the nonprofit board that runs Django monthly meets online and then has other duties. So I'm just curious, how does Python core do it?

Mariatta Wijaya 4:31
Oh, okay, yes, we have maybe right now, about 100 let me look it up, just to be certain, I just had the number the other I tried

Will Vincent 4:43
to look it up, and it was, I wasn't sure exactly where to say,

Mariatta Wijaya 4:47
private repo.

Will Vincent 4:50
Okay, you

Mariatta Wijaya 4:52
know what? I have just written a script the other day. It's about 131 40 code developers to. Day, and the way we communicate is actually most of them are public through we used to communicate through mailing list, but in the last maybe five, six years, we started using this course. So discuss.python.org is an open like open discussion forum is completely public. Actually, everybody, if you're interested in engaging, that is the place to go discuss.python.org. We will be discussing a lot of things. Actually, we discuss about peps new features are discussed through this course. So as a member of community, if you're interested in participating in Python core development, a lot of people think it's just about you go to the repo, you pick an issue, you create a PR, but that's just a small aspect of it. A lot of the activities you do is actually discussing the issue, talking, instead of writing code, not talking, I guess, writing your thoughts into comments on issues and pull requests and this cause. So it's not enough to just, I'm going to pick an issue. If I couldn't find an issue, I'm not contributing. Like, that's that's not how it works with Python, and I think that's also not how it works with any other open source projects. You gotta engage and participate in all of these discussions. So this course is where most of us are communicating. We also have a private discord, Discord, the chatting platform, Discord. We also have a private Discord server that is open only for core developers, though, we also invite, we also invite a few, like people who are being mentored more closely, like who are already on the path of becoming a core developer. We also have our triage there, so it's more of chatting platform, but it's private. The idea is just sometimes you just want to get quick answer, right? We chat, any decisions we made there will be reposted first, publicly on this cast, this course, this

Will Vincent 7:44
course. I know I get them confused all the time too, so don't, don't worry. Yeah,

Mariatta Wijaya 7:48
so we chat privately, but then we always bring it to public space so that even the wider community members can still participate and share their input before it becomes final. So

Carlton Gibson 8:05
I was gonna say about the discuss. I some like, so we have the same software for the Django forum and but every time I'm comfortable in the Django form, every time I step over to the Python for it always feels like Nemo looking over the edge of the reef. You know, it's like into the big blue it which feels quite scary on the it's not switching the discussions. Yeah,

Mariatta Wijaya 8:26
I think that that might be the scary part, because this the peps are basically most of the time, it's brand new things you never heard before in Python. These are, I think even for me, when I first joined, I had no idea what a PEP is. I thought a PEP is Pep eight. That's the only pep I ever know for maybe a decade, the style guide of, you know, Python code. So I thought when I first started participating, and I thought, people are talking about pep three, whatever. And I thought, What are you? Are you creating another style guide? Documentation? That was one of the big aspect of me learning about core Python, like understanding what the pep process is, and it's mostly nuke features you haven't seen. It's a process of how the Python community decide which big new feature we want to accept so that it's not just based on, you know, whims. It's not based on, well, Guido just wants to add something, you know, it's actually discussed with the whole community, people would write up a proposal like, let's add let's add f string or whatever, saying these are the pros of it, or there are some cons, but the benefits outweighs the cost. Like. You have to really, really explain why this feature is needed, and the whole community needs to be really confused that, yes, we want this feature so, so that's the pep process, and that's that's the majority of what Python core team members are participating and doing. Yeah, is that two ramblings?

Carlton Gibson 10:32
We have a similar No, no, no, that's perfect. We have a similar thing in Django. Could Django enhancement Professor Dennis. And the trouble is, no one ever wants to write one. And so it's understandable, because it's hard to write and it's and then you have to, you get people nitpicking on every line, and you get criticisms, and it's a hard process to go through, but it seems, at least from my perspective, it seems like it's a necessary thing, right? If you want to add a new feature, you have to explain the new feature. So from your perspective, how debt peps are a good thing, right?

Mariatta Wijaya 11:05
Yeah, well, so that's now I'm interested. Can I ask why? If you don't go through depth, then how do people get these big features in?

Carlton Gibson 11:20
Well, that's that. There's the there's the rubbish things don't have. So, so small features happen and then people like but we haven't had big features. There's a lot, you know, Django roles every releases. There's some nice new features coming each time. But for a while now, it's been like, kind of stable. And so the there was recently a debt passed to add background task worker in, and that's progressing, and that needed a depth, and that's a big feature, but we haven't had many of those since, say, the async dip, which was, you know, half a dozen years ago, probably. And so we really face at the moment, this, this, this difficulty between, like, the need to explain the features, and then the difficult, the sort of perceived barrier to entry of doing that. And as someone who's in the Python world, very closely, I was wondering on your take like,

Mariatta Wijaya 12:09
I think you just have to start doing it and make it a habit. And I really do think the pep process is really useful, if not, it really helps you articulate your thoughts, and it helps, in addition, it helps things to be decided more objectively, because people you know, the steering Council, will make decision based on this big documentation you prepare, the pep The proposal, where you outline everything like they will not be reading through every single nitpicky discussion forum that's happened. But if you you will have to summarize, you know, your thoughts into this documentation, this technical documentation, and because the steering Council will be deciding just on this, I felt is an objective way to really, first of all, document your work, and an objective way to make decisions, instead of randomly reading docs and just say, Well, yes, I think, I guess, let's, let's do this. Like, why you do this? There is no reasoning, or you can't pinpoint to specific documentation saying we are including this feature because Marietta says, like, I don't know, with the pep process, with the pep documentation, you get to really review your ideas, your proposal, I feel more objectively. Okay,

Carlton Gibson 13:50
that's great. Thanks.

Will Vincent 13:51
So there, so there's 140 or so core members, and then there's the steering Council of five people who are the deciders. Right? Is that That's the hierarchy of how decisions are made. Yes,

Mariatta Wijaya 14:03
so I think core, core team members that we can decide on pull requests on our own, like just like before, even before the steering Council existed. So the steering Council really decides most on the final decider of the pep the major, major features. We also, as I think I mentioned before, we have three others triage members. They also have like ability in the in the report to label things, close things even. And we have a lot of triage as well. And since, since the introduction of the triage team members, you know, GitHub gave it have this new feature, listen on only recently, I think maybe in the five years also, I. Um, we have a lot of new core developers who went through being a triage first, and then eventually they got promoted to Python core team members. So that's, that's a path to become core developer.

Carlton Gibson 15:16
I wanted to ask you, Mariska, I saw you two ton mastered on a while back that you talked about them triage of being promoted, then you said something like that, there had been 20 men promoted since the last woman was promoted. And I think so. I wanted to ask you about that, and about diversity in the core team and and how we might, I mean, how, what can we do to improve it? Because as great as the Python community is, and as great as the Django community is with shared values that we have there, like we still struggle to get women into those key technical roles. I think,

Mariatta Wijaya 15:52
yeah, I think now we, since I posted that too, we probably have two more men promoted to Python core team. So it's the number is even bigger. You're asking what we can do. I don't know. I've been I've been thinking. I've been thinking about it for years. I i think it's I think I know what needs to happen. I don't know how to make it happen. Like, I think it's going to need, like, a more coordinated effort, instead of just one or two person trying, you know? And it's, it's the same issue in the workplace as well, right? It? I think it's not just about, why are, why are there no women applying for jobs, but it's also the same question is, Why are women leaving the job the tech industry? Why aren't women staying enough and like, Why are women starting to contribute and then they don't stay long enough to become a Python core team? I think that's the big question. It's not that there are no women. It's not that there are no women in the world. Is that there are no women who can write Python code. It's also not that women are not interested in writing and contributing to Python or open source, I think there are other things like, Why can't? Why can't they continue to contribute? Because contributing to open source, and specifically to Python, takes a lot of commitment. It's not 30 minutes a day, it's not even an hour a day, it's it takes a lot of free time, because right now, open source contribution is all is associated with volunteer work. I think very few people most open source contributions are volunteer and free. So why can't Why are there a lot of more men who have the ability and privilege to be contributing to open source to the point that they get to be promoted, whereas women are doing the same. Like, what other barriers are there? And how can we how can we break these barriers? How can make it we make it easier so and I don't know, I think it's not just about the external burials, like some barriers. Maybe, maybe if women can get paid the same as men, maybe if we don't have. Maybe if we don't have to work twice as hard in order to be treated the same, we'll have the free time. Maybe if we don't have to be caring for our children, I mean not caring like I think that came out good. Maybe if we are not burdened, we don't have to be burdened with figuring of childcare arrangement, we will have that free time, maybe if the community isn't too toxic, Like if it's actually welcoming, if people are sharing, you, inappropriate jokes in front of women, we will stay longer like, I think it's not just like, it's the those external barriers like workplace life, but also. Us as a community. How can we make this group more welcoming to everyone, not just to a certain group of people? And there's just a lot of things that cost women not wanting or not being able to contribute for a long term, to get to that stage. And I just don't know how to fix it. I've been trying. I tried at least by showing at least. I thought, if I show you, know, present myself out there, if people can see that, hey, these are if people say you're so inspiring, I want to be like you. That's I thought maybe that's good enough, people will actually start trying. But maybe that's not actually good enough,

Carlton Gibson 21:04
right? That you need the ins. You need the inspiration. That's one thing that's but you also need the community to be welcoming. You talked about the internal to the community. So that's where things like the Code of Conduct are so important. And you know, yeah, still somehow not given. And then the economics, right?

Mariatta Wijaya 21:26
Yeah, yeah. And I guess maybe as as the community, you know, you think of what you can do. I know no one person can do all of this. Maybe I can. I can be the one from within the core team to try to see ways how the core team can be more welcoming. But I can't be the one giving women job. I can't be raising salary. So maybe whoever have that power will do it.

Will Vincent 22:05
One thing I've noticed in the Django community, and I I'm curious if this alliance in Python is that many, if not, most, of the contributors are are either in or have a high degree of independence, so they run their own consultancy, or they work at a small startup. It's not, not very many, if any, people at big tech who are doing contributions to Django. I mean, there's a number of people at places like Zapier or something, you know. So that's a bigger company, but it's a little more consulting. I'm curious if that aligns in Python, because one of the things, as you said, is it, it takes a lot of time to do this, so you either need to have somehow the privilege to do it, or your employer needs to be on board with it. And I think even if you're at pick a fang Corporation, they're not really going to want you to spend a couple hours a week on open source. So I guess that's a, that's a two parter is, is that mix similar in Python? And how do, yeah, how do we overcome that? Right? Because the big salaries are at these companies, but they're the companies that don't pay their employees to work on stuff. So you end up at conferences. It's, again, it's mainly from what I see, a lot of consultancies or small business owners who are doing the boatload of the work on Django, yeah.

Mariatta Wijaya 23:27
Well, that's an interesting perspective. I use Django, but I haven't contributed much. I think I have one tiny documentation to Django, but I feel it's a little bit different demographic, if I can even say demographic, I now let me think, well, so first of all, I am also self employed consulting. So I don't It's a tricky thing, like I don't get I can build my clients for my time spent at open source, in open source, but I know there are actually quite a number of Python core developers who are employed at larger corporations, and they do like, just like they do, just Python. I think some of the people who work in Red Hat and Microsoft and and meta, I think they have a few full time employees like the whole faster C Python team. I think they are all core team members employed by Microsoft. So I see a few, actually, we have a few people who are still in college or in school, who became. Python core developers, recently, in the last few years. So you, you really, so that's another part. I guess, being a student, you, you have the time, so don't so maybe I'll say this, don't think you need to be a CEO or CTO or whatever, to become a Python core developers. Okay, as long as you are willing and you're willing to spend time, you can, you can get them, but yeah, I think most of the people I interacted with in the core team, most of them are employed at a lot of corporations. There are a few who have their own consulting like myself. I know there are a few others like that.

Carlton Gibson 25:51
This episode of Django chat is brought to you by the stack report, my monthly longer form piece on Application Development, Operations and the process and business of making software. It's my chance to go deeper on the topics that let you build a successful career in software. I'm telling you what I think, after two decades in the business, maybe there's some hot takes. You can support the show and subscribe at button forward, slash carthon, or follow the link in the show notes. Now,

Will Vincent 26:13
well, I think part of it is that Django is not or a big company wants to you know, if they're using Python, they want to have a say in what's happening, right? Whereas Django. I mean, for example, meta uses Django for Instagram, a version of it, they used Django for threads. There is no one that I'm aware of from meta involved in Django. Meta does not contribute to Django, and that, you know is also the case in most of the other large corporations, even though we know they're using Django, so they're just not there or contributing financially or an employee time in any way. And so it's an interesting thing, right? I guess you know, if they want to a lot of a lot of places might think that Python is Django. It's one in the same and they want to just put put their money and resources in one place. I think maybe it's that large companies often have their own fork of Django when they get to a certain size, and so feel like, I don't know, they don't have to support it, but they're still probably using core Python, yeah, but it's a very different dynamic. And I asked that question in part because Jeff Triplett, who we all know, was on the PSF for a long time, and you know, he's a small business owner, very involved with Django, and then for him, seeing the Python dynamics, it's felt like a different world, and that you have a lot of people who work at large corporations. Who the corporations are, you know, supporting them, spending time on open source that in a way that I don't know. Anyone in Django has that

Mariatta Wijaya 27:50
that's very interesting. And I I would trust you. I don't know about for sure. I would trust you if you say they probably have their own fork, and they maintain it internally. Because,

Will Vincent 28:04
I mean, I know they do. I mean, I know I know Instagram does. I know Instagram does for sure. And threads I believe use, use their their version of it. And I, I feel pretty confident saying that many super large companies, that's what they end up doing

Mariatta Wijaya 28:21
that's interesting, that they rather spend those energy, or whatever resources for their own private

Will Vincent 28:29
Yeah, girl mayor, who, I think, you know, he's talked about it. He came on the podcast and talked about it, and anyway, so just, it's just an interesting dynamic, you know, because Django, right? We sit, we're like the little kid brother at the big python, yeah, adult table, yeah, right. And, and there's so many similarities, on the one hand, and yet, there are these cultural things, like, like this one, for example, of who's doing the work that are very, very different.

Mariatta Wijaya 28:55
I mean, this reminds me of when mera was they have a fork of Python, like for Cinder, and they, they came to Python language summit wanting to merge it to to see Python, I think. But at least they, they take that step to talk to core team member about their fork. So it's interesting they don't do that for Django, like, why aren't they trying to merge that to Django? I don't know, but I know we are. I mean, recently, meta hosted us for Python core sprint, which is an annual event where Python core developers get to meet and and spring for the entire week. So they hosted us. They, I know, yeah, there are, yeah. If

Will Vincent 29:48
anyone's listening and wants to host Django, we'll take it.

Mariatta Wijaya 29:54
Yeah. I That's this, yeah. I'm also interested, I mean, and

Will Vincent 30:02
part of it is because when you're on the when you're on the inside of the PSF and Python, right, there's all these budget constraints. And yet, someone on the outside may think, oh, Django, you know, is equal, right? Whereas Python has an executive director, it has a dozen or so team members, it has millions of dollars of donations, and Django has a budget of about $200,000 total, and volunteers that run everything. So there's, you know, so I, you know, Carlton was a fellow for five years. I was on the board. Neither of us are in those roles now, but so it can speak a little more freely, but it makes sense, but it's frustrating when people assume that there's these similarities, when, yeah, quite different. Yeah,

Mariatta Wijaya 30:47
I don't, I don't know what to say about it like I thank you for sharing this now that I know I feel I don't know what to feel like. It's good to know about these different dynamics, and are they just okay? Maybe just gossiping. Like, is it because,

Will Vincent 31:07
oh, gossiping is fine. I like gossiping. I mean, so specifically, like, like, so PyCon, right? You so PyCon. So we've had previous executive directors of the PSF on this show. You know, PyCon is a big moneymaker. You've were just recently chair, and you've done many things. So we just came from DjangoCon us. So there's DjangoCon us, DjangoCon Europe, there's now DjangoCon Africa. They are entirely volunteer run, like 100% which is kind of crazy, you know, not the size of a PyCon, but still hundreds and hundreds of people and all these things. So all of that is a way to ask you, what was your experience like as a PyCon chair? Because I've been to PyCon. I think I went to the 2019 one in Cleveland, and it was, you know, just orders of magnitude bigger than a DjangoCon, right? So I can't even imagine organizing that, let alone sharing it. So I guess the specific question would be, what's involved in sharing a PyCon? So,

Mariatta Wijaya 32:00
PyCon us, so the PSF hires a few full time employees. So PSF has paid staff to organize PyCon us, people like Olivia Salz, like she, she does a lot behind the scene and as the conference chair, I really more of more of the liaison, if I can say, like be the face between the PSF and the wider community. So and my role was not paid, although I do want to share for transparency, I did receive some kind of gift, donation. I don't know what it's called, but stipend or something, I received for my three years serving as So, one year as PyCon us chair coach, one year as PyCon us co chair, so as the co chair I learned from the previous conference chair, and then as and then I run. I did the sharing for two years, and for that whole time, I received $20,000 USD from the PSF. So I I think people think everything is volunteer. I want to share this for transparency, and this is something you will be able to check. Maybe when PSF files their taxes, you get to see a line, probably. So that's what I get. But what it involves is just planning the whole thing, helping to help plan the conference, alongside the PSF staff, but I also give a lot of oversee the design of it, like the website, the graphic designs. I actually try to review every comment or every every page that goes out before they get approved, every page on pycon.us.org, I read it, proofread it, click the things, just making sure it's good. Also give suggestions of improving the conference. Like as as you know, the insider of it, I have that privilege, like I get to say, I want PyCon us to do this. I want to see this at Pycon us. I actually get to not just wish it, but execute it. So make some changes to Pyke on us. Maybe, I don't know if people notice, but it is different. It's different, yeah, yes, yeah, not, yeah, everything's my head. But then I said, I want to do this. They said, Okay. I just start doing it. I also write blog posts for Python us, and I, one of the things that I care a lot about is just doing outreach. I think, for me, I don't think, I don't know if, if the other if they do a lot of effort on that before, maybe they did, but it when I sign up for conference here is definitely not one of the you know, must do or requirements, but the outreach effort was something I I do a lot that I try to make sure people know about all of these travel grants. About travel grants to attend Python us, because I know it's it's a really valuable experience, and I don't want people to miss out on it. So I talk a lot to people say that travel grant Don't miss out the deadline. There are speaking opportunities. I encourage lots of people to just apply and speak, because it can elevate your career, like do a lot of, yeah, all of this outreach effort was something that I just decided I wanted to do, and I think in some ways, maybe somewhat successful. I don't know. All I know is that this year we receive almost 1000 proposals to PyCon. Us like talk proposals like 900 something, 980 or something that's never happened before, even before the pandemic, like we probably received 500 max. So I think last year was 700

Carlton Gibson 36:43
you can ask, how many accepted talks are?

Mariatta Wijaya 36:48
I think only 120. Yeah, that's right.

Carlton Gibson 36:58
So it's quite competitive, right?

Mariatta Wijaya 36:59
It is, but the if you talk to any other program, chance you might know we love it when we have lots of good talks to select from. So it's a good problem for conference organizers. So it means you really get to build a really strong program. Well,

Will Vincent 37:21
I wonder if I can ask. So this is a Django podcast talk about Django. So you're as a Python representative. How do you see Django and the web fitting into what Python is doing and focused on these days, right? Because, obviously, data science was huge now it's all machine learning, AI, however you term it like, how would you describe sort of the mind share of the Python community right now?

Mariatta Wijaya 37:50
I don't know, but I think from the core team perspective, you're might be right that Django is not as it's a third party to Python. It's not even connected well enough. How do I say this? But I use Django for work, and actually, I've, I've used, I've been using Django since Django 1.4 so that's my earliest Django. So I actually

Will Vincent 38:30
before custom user models. Yes,

Mariatta Wijaya 38:33
did we even have migration back then?

Carlton Gibson 38:35
No, no migrations.

Mariatta Wijaya 38:38
I remember that. I remember that pain? Yeah, yeah. I used Django for a long time. So I I use Django to make a living so that I can contribute. Well, let

Will Vincent 38:53
me ask you about that then. So what? How? I don't know what. What do you what do you think Django is doing right? What do you think Django is doing wrong? You know, as someone who's using it professionally, but isn't as embedded on the internal stuff as maybe Carlton and I have been, I

Mariatta Wijaya 39:09
think that are actually a few things that Python took inspiration from Django, the actually the steering Council model that we have, the Python steering Council governance model, was largely inspired by the Django community governance model. If you read 8015, I think that when, when attorney Smith proposed this proposal, like one of the thing he said, like this was inspired by Django community, and we want to make, take the livings and incorporate to Python. So that's that is how Django has helped the steering council with help the formation of the steering Council nowadays. And which is the model that we actually I think it's still working. We have six steering councils terms already, I think, yeah, so we are paying attention. And I think the the Python developer in residence model, which is a paid staff role in the PSF to be as a core developer. That was also inspired by Django Fellows program like, I know they probably talked to you, Carlton before they have this role set up earlier. So yeah, we take inspiration. The other thing I wish we could take inspiration from, and I don't know how to yet, I really love what the Django notes program is doing, like onboarding, having the captains, having people contributing through this, you know, three months program. I think it's such a great way to to mentor and onboard new contributors. I wish we have it for Python, but I don't, I don't know how. So I'm watching, I'm watching the Django not space and see like, how we can one day incorporate it to Python. So,

Will Vincent 41:27
yeah, I I think it's been revolutionary for Django. I mean in terms of just a new wave of of people and enthusiasm and and shining a light on what Django core people and fellows are doing because I don't I assume it's a little bit similar with Python, but I'm biased, because I talk to Carlton all the time, but most people I get, I would wager that I'll put a number on it, like 95 99% of Django users have no idea that the fellows exist. And then of those 1% that know about them, I bet this even smaller subset could actually tell you what they do in terms of day to day. So there's this information problem, right? I mean, and so one of the things that Django knots have done is there's double digit PRs merged into Django every week, right? There's this idea that Django is boring and stale and nothing happens, and yet, stuff is happening all the time, but some of the Django knots are now putting that into the Django news newsletter. I think in these technical communities, we spend so much time doing the doing and talking and implementing code that when it comes time to marketing and showing appreciation for people who've done the work that gets kind of left behind. And so I think one of the, one of the many great things about the Django knot program is bringing in new people who are shining lights and doing the work and helping some of us who are still, you know, kind of like, like Atlas, holding up our little sections of of the area, you know, help us do more, right? So some volunteers from Django knots now have this whole section on the Django news newsletter on updates to Django, which is there in track, or it's there on GitHub, but nobody's looking at it, right? So just someone taking the time and committing to putting it into a more consumable form is such a great thing and and yet, you know, that kind of thing should happen more across the board, like this is something the fellows in the community is talking about, how do we have more public attribution for our contributors? Yeah,

Mariatta Wijaya 43:32
yeah. I absolutely. So, yeah, I get fired

Will Vincent 43:34
up about Django, not it's like Django knots, it's, yeah, we just had a core group of people who came together and made it happen. And I think, I think, importantly, some of them have, you know, one, Sarah Boyce turned into a Django fellow, like this idea, like you said, the commitment of open source. I think this is one of the problems. And Carlton has, has talks on this, the commitment is too much. It's too much to expect hours and hours a week if it's not part of your day job at, you know, Microsoft, and then also it should be built in that you do it for a couple years, and then you go to something else where you can contribute, but you're not just like off the reservation, right? Because that's also how it's kind of have been. It's all or nothing, and yet, I mean, look at Carlton and me. Neither of us technically has a role in Django, and yet we're still doing peripheral things. Yeah, so I don't know where the question is on that, but I just got fired up with you mentioning

Mariatta Wijaya 44:29
that's good I and I agree with you, like there needs to be more visibility of of the work we all do and and I think it's the same issue with the C Python, I think we all like assume, at least the core team, maybe they assume that, well, everything is open, everything's on GitHub. If you want to know, just on GitHub. Yeah, no, it's not enough. You need to make sure information reach people and they don't go to. GitHub. So we need to spread news. I so I really like the newsletters that you all have. The Django news is really a good way, because people, people read blogs. They don't read GitHub issues. They read blogs. They have RSS, they have podcasts. Thank you, right, that's, that's the format that people consume, and we need to just provide all of this to the community. So yeah, I like what you all are doing in Django. So

Carlton Gibson 45:34
speaking of podcasts and things we like you're doing, I want to talk about your podcast, because you've started a new one, the pie cats, right? Pie cats,

Mariatta Wijaya 45:44
pie pod cats. So we have a new pot. We have a cot. It's actually almost a year old. And it's not just myself. It's actually initially started by a few people like Chuck chilting and Georgie Kerr and Theresa, like, I think they started having this vision of, like, let's, let's have this podcast to to have more diverse voices, just to make sure, you know, the Python community hear more about all of these great people. Because maybe they are, maybe they are shy, maybe they are not on social media or whatever. But doesn't mean they don't do great work. And what can we do to make sure we all learn about all of these great things they are doing their contribution, impactful contribution, to the Python community and and I'm actually the last member of the team like they, they asked if I want to help out. I said, Yeah, okay, let's I can I do care a lot about it. I've been helping out as well. So now it's four of us. It's called bipodcast, Hidden Figures of Python, where we interviewed lots of people in the community. So far, we interviewed mostly women, but we have plans to include even more people in the next season. So in this season, we interviewed people from as far as Ireland, Dublin, we have Mona from the Philippines, who, like Mona, is a high school teenagers who, who does Python, and she teach other teenagers, I don't high schoolers Python, like it's incredible. I was playing video games when I was so, like, it's really, that's these are the kind of people, like most, I don't know, if you talk to Python core team, they don't know about this, and that's what I'm we are trying to do, like just making sure you know about the diverse community members who are doing great work. So this anyway, um, we have lots of episodes out already. You can visit bypodcast. Dot live, and we are available on we have RSS feed so you can listen it on Spotify, Apple podcast, YouTube podcast, I don't know, wherever you get your podcasts, it's RSS feed. So, yeah, just put the URL there.

Carlton Gibson 48:44
Super you talked about highlighting things like the same with the the Django notes that we were just talking about that it strikes me that what there's two aspects of, one is showing that like you being, you know, in the court in the Python core team, and being a visible member of the community, to highlight members of the community. It helps bring others in. It's not just, oh, it's not just a load of white men. It's, it's, it's more diverse than than it otherwise would look. But as well, it gives you know, particularly with the janganauts, they get out of it. They get something concrete that they can point to and said, I did this. And then it perhaps gives them a chance to get that that opportunity, or that job or that thing that that gives them the chance to earn the salary, that then gives them the time to contribute back. And, you know, it's, it's priming the pump from that perspective,

Mariatta Wijaya 49:32
absolutely, and that's, that's also one of the reasons I, I continue to contribute to open source and Python, just I know as a woman, as you know, person of color in America, you know, as someone who looks foreign and have foreign name, have foreign accent, like I know I am when my resume. Comes. It's probably not going to be the first one people see, right? Let's, let's admit it. It's true. But being able to say, Hey, I spoke at conferences, I contribute to open source, blah, blah, blah, that adds up making me having a higher chance of getting hired. And I do find that, you know, my career really have improved a lot after, you know, after becoming a Python core dev So, and I want for more people to have this the same opportunity. I um it so, yeah, I am continuing to do it because I know it benefits me, but it also can benefit lots of people.

Carlton Gibson 50:52
Yeah, and it's not, it's not just about diversity hiring as as well. It's like, I've given talks on why you contribute, why contribute to open source? And it was exactly the same for me in a white man, etc, like when I started contributing to rest framework, the hiring dynamic with companies just radically shifted overnight. Instead of it was, Oh, can you do this? Are you any good? It was, oh, yeah, you're maintaining the package we're using, and the conversation is radically different, and that that's available to everybody. Now, I obviously, you know, I perhaps have advantages that aren't, that everybody doesn't have, but if you can find the time, if you can do it, then it does open doors Exactly.

Mariatta Wijaya 51:36
And I, yeah, I totally can relate to your experience. Totally agree. Yeah. Well,

Will Vincent 51:45
I know we're coming up a little on time, but I have to ask you a Django question. This is near and dear to Carlton in my heart, which is so user authentication, user models. Do you how do you like to do it? Right? Because there's, I just gave a talk on this. I don't mean to put you on the spot, but I know you must have an answer. Must have an answer, right? So there's one camp of people who uses the user model as is use, and maybe uses a user profile model. There's another camp that likes to use a custom user model and put all the attributes on there. And then I would say there's a third camp that just goes abstract base user and just writes it all from scratch, because they're hardcore, and they have a way that works, because they know how to do. My question to you is, what is your what is your preferred method of handling a user if you have, like, a greenfield Django application? Okay,

Mariatta Wijaya 52:35
I think not. And this might be because I, I just went through this recently. For now, I might want to have a custom user, which is option two that you mentioned, custom user and extended and have like additional things, but still like related to the user, the built in. User, I regarding, I need to learn more about this idea of abstract user, typically, I'm a big fan of the ABC module of Python. There were times that I wished instead of mixing, we used the ABC abstract base class module. So I the reason I didn't say I'm going to use abstract user model is because I haven't seen it, at least in my code basis, I haven't seen people do it. So maybe if I see a good pattern of it, I will be open, but that

Will Vincent 53:44
I think it's less common. But maybe it's just people, maybe it's just people at Django cons and that I talk to or like, oh, yeah, I just do it that way.

Mariatta Wijaya 53:52
Yeah, just, just from normally, I'm a fan of ABC in things. So maybe if I see more of this example that you are doing, I will be learning and and trying for now, yeah, I'm using the custom user model path,

Will Vincent 54:14
okay, I think most people are, yeah. Go ahead. Carlton did

Carlton Gibson 54:17
python 3.13 has just been released, like yesterday or today as we're recording this now, what's your favorite feature in recent pythons? I'll

Will Vincent 54:25
take that to start. I'm excited about the fact that Git ignore files are now now automatically. What is it? Oh, I gotta look it up. They they get rid of the environment variables, the dot m file, right? The Virtual Brett, Brett, Brett cannon did this, but it's it saves me a step teaching people virtual

Carlton Gibson 54:44
environment folders will now be get ignored by automatically. So get a little dot get ignore file inside them.

Will Vincent 54:50
Yeah, well, because I know Brett was asking a while, I guess, a couple years ago. Now you know, how do Is there a standard on what people call you? Their virtual environment folder, right? Because there's some people like to do dot, vev. Some people like to do vev. Some people like to do, you know, my mVV, it seems like one of these things that does, do you do we need to be? Do we need to express our individuality through the name of our virtual environment folder? Like? It seems like it could be like a standard. I don't think it's fully decided, but, you know, Carlton's laughing. This is one of those things, right? It's frustrating, right? Because, especially for me, like, dealing with beginners, they ask me these questions, and there's like, buckets of like, oh, this really is important. Like, how you handle your user model, but like, what do I name my virtual environment thing? It's like, it really doesn't matter. Like, what do I name my Django project? Right? You know, start project. What do I call it? Like, it's hard to I wish I could just, like, put a flag on things and be like, this doesn't matter. You just have to make a decision. And this really matters. Don't mess this up, right? Because, yeah, naming your virtual environment or naming your your project really don't matter, but it all seems like one big, massive confusion when you see open source packages doing it all differently. Yeah. Anyways,

Mariatta Wijaya 56:13
well, so I'm a weird person. When I see new feature, new releases, I look at what's getting deprecated,

Carlton Gibson 56:25
right? Okay, what's your favorite deprecation? What are you glad to see the back of

Will Vincent 56:32
I like that? Yeah. No.

Mariatta Wijaya 56:33
Well, because new, new features means because of the reason you know, Python maintains, you know, backward compatibility for like, two years at least, right? New features don't affect me in, you know, at work as much, but things get removed that will break my code. So that's why I look at the application first. There is an interesting new thing called, I think, Pep 702, it adds warning start deprecated, in which can be used by static type checker to denote that is being deprecated. So it's interesting, but I think that there are quite a number of things being removed, or new new deprecation warnings being raised. And I think people should know for now, when Python starts to say we're deprecating we we, when we start raising the application warning in Python, 313, it means in 315, it could be removed in two years. So if you are using certain things that starts emitting these warnings, don't wait two years to remove it. Start now and start upgrading your code. Start changing so that when it's really, really gone in 315, in two years, you're not scrambling. So my advice is, go look at what's new in Python 13. Look at all the new features. Lots of great new features, like, I think the j, i t flag is there now the free threading. I know lots of people are super excited about it, but also look at the new deprecations and start adjusting your code and upgrade. Please upgrade your Python.

Will Vincent 58:37
That's my that's my favorite. Like Jedi answer to that question I've ever heard. I need to steal that. Like, when someone's like, what did you like? What did you like this new in Django be like, let's

Carlton Gibson 58:44
talk about what was I've just scrolled down the page. This makes me feel old. HTTP server. Deprecate the CGI Request Handler so this code was outdated, unmented, and rarely used. It has a high potential for both security and functionality bugs CGI was like, you know, yeah, I feel I'm gonna let a tear ship drop for that one. But it's probably good to go.

Will Vincent 59:13
Well, we could keep talking and talking. Is there anything we haven't mentioned that you wanted to bring up? I know you have your consultancy, CMD, limes or over to you. Is there anything you want to mention or discuss before we

Mariatta Wijaya 59:26
get out? Yeah. CMD, limes is pronounced. Command. Limes is a new consulting command line makes more sense. Consulting company that is actually is founded by three women in Python and Django who you might know my myself. So CMD, stand for Chuck Marietta and Don so CMD. And we like this name because when pronounced like command, it's, it's, it's to show that we are leaders in the Python committee. It to show like, this is the branding of us. But we just, we just created it. We haven't had the time to actually, like, have a coming out party, you know, we haven't formally launched, have a big announcement saying, Hey everybody, here's our company. We haven't done that yet, but maybe this is it, yeah, but you can check us out. Basically, what we do is we're Python and Django consulting company. We have, as you might have known, we have people experience a lot in Python and Django and infrastructure and DevOps kind of thing. We are open for work, all

Will Vincent 1:00:50
right? And there's a website that we're going to link to down below, yeah, cmdlimes. The next time we have you on, there's a whole discussion about consultancy that, you know, Carlton will get fired up about, but you can let us know in the, you know, a year or two down the line how it's all going, because Carlton cut his teeth as a consultant for

Mariatta Wijaya 1:01:07
I feel like I need to learn from you all, because I'm, I'm new at this, and that's why, like, we haven't, we haven't successfully launched, it feels like there's a lot to learn. So that's why. But you're

Will Vincent 1:01:20
doing it the right way. You're starting with a reputation, right? Carlton was just a fulfill, you know, philosophy PhD, who was doing it, and then he got involved with open source, and then he became, you know, the Carlton Gibson that we all know.

Carlton Gibson 1:01:36
I describe it all like that, but yeah, I, I started with my suit. I started with my suitcase under my arm, and went around and knocked on doors.

Mariatta Wijaya 1:01:45
I think the reputation is one thing for sure. I know, I know we have that, you know, that bit, but I think we need to do more marketing, and, you know, more marketing, probably advertising.

Will Vincent 1:02:02
Well, this, this counts, this counts, right? It's a it's an excuse for the rest of the fun discussions, right? We'll just put that in there. Yeah, find out about it. Well, thank

Mariatta Wijaya 1:02:10
you for letting me talk about

Carlton Gibson 1:02:14
it's been really good. Thank you. Yeah,

Mariatta Wijaya 1:02:16
thank you for having me. Yeah. Really appreciate this opportunity to appear in Django chat,

Will Vincent 1:02:21
yeah, when we we said at the beginning, I don't, I think we weren't recording yet that, although both of us know of you, certainly this is the first time had a conversation. So that's one of the wonderful things about the podcast, is, you know people we look up to and admire, we get to to meet and have a discussion with and and share that discussion with other people. So yeah, thank you for taking the time.

Mariatta Wijaya 1:02:43
Thank you. Thank you.

Will Vincent 1:02:44
So we are at djangochat.com and we'll have show notes with links to everything and new episodes coming soon. Bye, bye, everyone.

Carlton Gibson 1:02:53
Bye bye.

This episode of Django chat is brought to you by the stack report, a monthly longer form piece on the Application Development, Operations and the process and business of making software. You can support the show and subscribe@buttondown.com forward, slash Carlton, or follow the link in the show notes now you.