← Back to Show Notes

Transcript: Python Core Developer - Mariatta Wijaya

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 at button-down.com forward slash Carlton,

or follow the link in the show notes now.

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

I'm Carlton Gibson, joined as ever by Will Vinson. Hello, Will.

Hi, Carlton.

Hello, Will. Today, we've got with us, amongst other things, PyLady, Python Core team member, F-string lover, and fellow Python podcaster, Marietta Wijaya.

Hi, Marietta. Thank you for coming on.

Thank you. Hi, everybody. Hi, Carlton and Will.

Marietta, I want to kick off. Out of those things I just listed off, the big sort of scary one for us, or the big impressive one there, is Python Core team member.

What on earth is a Python Core team, and how do you get to be a member of that?

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 CPython repository, the Python programming language, I get a merge button there.

That's the privilege of the Python core team member. Basically, you're considered a maintainer of Python programming language.

So you're the person to talk to if we want to sneak our PR in, right?

Yeah, well, how do I say this?

No.

Yes, a Python core team member as a maintainer,

we get to review pull requests

and actually decide to merge it for you.

But 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 CPython.

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 CPython code base.

But my interest area is documentation as well as community outreach.

For me, as a maintainer and as a core developer,

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're 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 and voices

closer to the core team.

So that's a little bit of what I'm trying to do.

I don't think I've been successful.

what you don't not successful in in bridging the gap you think i don't think we've been i don't

know i i don't think it's a done process yet and i don't think we'll be finished um anytime soon

but i'm still trying no okay i mean we have similar in jack 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.

Yeah.

Can I ask just a maybe basic question,

which is how many core team members are there?

And how do you communicate?

Is it all online?

Do you ever meet in person?

Is it like a monthly thing?

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?

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 day.

I tried to look it up and I wasn't sure exactly where to see.

It's a private repo.

Oh, okay.

You know what?

I have just written a script the other day.

It's about 130, 140 code developers today.

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 discussion forum.

It's 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 discuss.

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.

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 um 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 triagers there um so it's more of chatting platform but it's private the 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 course i know i get them confused all

the time too so don't don't worry yeah so we we chat privately but then we always bring it

to public space so that even at the wider community members can still participate and

share their input before it becomes final so i was going to say about the discuss i some like

so we have the same software for the django forum and it and i but every time i and i'm

you know comfortable in the django forum every time i step over to the python forum it always

feels like um nemo looking over the edge of the reef you know it's like into the big blue it always

feels quite scary on the especially in the peps discussions yeah i think that that might be the

scary part because this the peps are basically most of the time is 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 8.

That's the only PEP I ever know for maybe a decade.

The style guides of, you know, Python code.

So I thought when I first started participating and I saw people are talking about PEP 3, whatever.

And I thought, what are you, are you creating another style guide documentation?

That was one of the big aspects of me learning about core Python,

like understanding what the pep process is.

And it's mostly new 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 AppString or whatever,

saying these are the pros of it or there are some cons,

but the benefits outweigh the costs.

You have to really explain why this feature is needed.

And the whole community needs to be really convinced that, yes, we want this feature.

So that's the PEP process.

And that's the majority of what Python core team members are participating and doing.

Yeah.

Is that too rambling?

We have a similar.

No, no, no.

That's perfect.

We have a similar thing in Django.

Django enhancement, for example.

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 um 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 peps are a good thing right yeah well

to that i'm now i'm interested can i ask why if you don't go through depth

then how do people get these big features in well that's that there's the there's the rubbish

so small features happen and then people like but we haven't had big features there's a lot

Not, you know, Django rolls every release.

There's some nice new features coming each time.

But for a while now, it's been like kind of stable.

And so there was recently a depth pass to add background task worker in.

And that's progressing and that needed a depth and that was a big feature.

But we haven't had many of those since, say, the async depth, which was, you know, half a dozen years ago, probably.

And so we really face at the moment 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.

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 additionally, it helps things to be decided more objectively

because the steering council will make decisions

based on this big documentation you prepared, the PEP, the proposal,

where you outline everything.

They will not be reading through every single nitpicky discussion forum

that's happened.

But you will have to summarize your thoughts into this documentation,

this technical documentation.

And because the steering council will be deciding just on this,

I felt it's 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's no reasoning

or you can't pinpoint to specific documentation saying we 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 that's great thanks

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 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 um existed so that the steering council really decides

most on the final decider of the pep the the major major features um we also as i think i

mentioned before we have triagers triage members they also have like ability in the in the report

to label things close things even um and we have a lot of triagers as well and since since the

introduction of the triage team members you know github gave it have this new feature recent on

only recently i think maybe in the five years also um we have a lot of new core developers who went

through being a triager first and then eventually they got promoted to python core team member so

that's that's a path to become core developer i wanted to ask you mariatica i saw you um toot on

mastodon a while back that you talked about them a triage of being promoted there and you said

something like, there'd been 20 men promoted since the last woman was promoted.

So I wanted to ask you about that, and about diversity in the core team, and 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.

Yeah, I think now we, since I posted that too,

we probably have two more men promoted to Python core team.

So the number is even bigger.

You're asking what we can do.

I don't know.

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 i think it's going to need like a more coordinated effort instead of just

one or two person trying you know um and it's it's the same issue in the workplace as well

I think it's not just about 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 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.

It's 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 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 takes a lot of

free time

because right now open source

contribution is all

associated with volunteer work.

I think very few people

most

open source contributions are

volunteer and free.

Um, 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 aren't

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 um and i i don't know and i i think it's not just about

the external barriers like some barriers maybe maybe if 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

yeah 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 well maybe if we are not burdened we don't have to be burdened

with figuring out child care arrangement we will have that free time um maybe if if the community

isn't too toxic like if it's actually welcoming um if people are sharing

inappropriate jokes in front of women we will stay longer like i think it's not just

like it's it's 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 caused women not wanting

or not being able to contribute for a long term to get to that stage.

and i i just don't know how to fix it i've been trying yeah 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

right but you need that you need the 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 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.

One thing I've noticed in the Django community, and I'm curious if this aligns in Python,

is that many, if not most, of the contributors have a high degree of independence. So they run

their own consultancy, or they work at a small startup. It's 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. 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 that 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 two-parter.

Is that mix similar in Python?

And 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.

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, that's an interesting perspective.

I use Django, but I haven't contributed much.

i think i have one tiny documentation pr to django um but i feel it's a little bit different

um demographic if i can even say demographic um 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't bill my clients

for my time spent at open source in open source um 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 um i think some of the people who work in red hat and microsoft

and meta um 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 path i guess being a student

you um 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 co-developer.

Okay.

As long as you are willing and you're willing to spend time, you can get there.

But yeah, I think most of the people I interacted with in the core team, most of them are employed

at a larger corporation.

There are a few who have their own consulting like myself.

I know there are a few others like that.

This episode of Django Chats 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 bundow.com forward slash Carlton

or follow the link in the show notes now.

Well, I think part of it is that Django's 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 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 in employee time

in any way. And so it's an interesting thing, right? I guess if they want to, a lot of places

might think that Python is Django, it's one and the same, and they want to just put their money

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 that's interesting but it's a very different

dynamic and i i asked that question in part because um jeff triplet 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

And for him, seeing the Python dynamics, it's felt like a different world

in that you have a lot of people who work at large corporations

who the corporations are supporting them spending time on open source

in a way that I don't know anyone in Django has that.

That's very interesting, and I would trust you.

I don't know for sure.

I would trust you if you say they probably have their own fork

and they maintain it internally.

because i mean i know they do we've had 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 um and i i feel pretty

confident saying that many super large companies that's what they end up doing that's interesting

that they rather spend those energy or whatever resources for their own private um yeah we had

Carl Mayer, who I think is a Python core developer, he's talked about it.

He came on the podcast and talked about it.

Anyway, so it's just an interesting dynamic, you know, because Django, we're like the little kid brother at the big Python adult table, right?

And there's so many similarities on the one hand, and yet there are these cultural things like this one, for example, of who's doing the work that are very, very different.

I mean, this reminds me of when Meta was, they have a fork of Python, like for Cinder, and they came to Python Language Summit wanting to merge it to CPython, I think.

But at least 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 are they trying to merge that to Django?

I don't know.

But I know, yeah, I mean, recently Meta hosted us for Python Core Sprint,

which is an annual event where Python Core developers get to meet and sprint for the entire week.

So they hosted us.

I know, yeah, there are a few.

If anyone's listening and wants to host Django, we'll take it.

We've talked about Django sprints.

Yeah.

That's, yeah, I'm also interested.

I mean, and part of it is because when you're on the inside of the PSF in 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 I can speak a little more freely.

But it makes sense, but it's frustrating when people assume that there's these similarities when it's quite different.

Yeah, I don't know what to say about it.

Thank you for sharing this.

Now that I know, I feel, I don't know what to feel.

It's good to know about these different dynamics.

And are they just, okay, maybe just gossiping.

Like, is it because...

Oh, gossiping's fine.

I like gossiping.

I mean, so specifically, like, so PyCon, right?

So PyCon, so we've had previous executive directors of the PSF on this show.

you know, PyCon is a big moneymaker. You 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,

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

chairing it. So I guess the specific question would be what's involved in chairing a PyCon?

So PyCon US, so the PSF hires a few full-time employees.

So PSF has paid staff to organize PyCon US, people like Olivia Salls.

Like, she does a lot behind the scene.

And as the conference chair, I really more of the liaison, if I can say,

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 um

gift donation i don't know what it's called but i received 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

chairing for two years and for that whole time I received twenty thousand dollars USD from the PSF

so i 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 that's what i get um 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 the design of it like the the website um the graphic designs um I actually

try to review every comment or every um every page that goes out before they get approved

um every page on pycon.us.org i read it proofread it click the links just making sure it's good

um 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 I made some changes to PyCon US.

Maybe, I don't know if people notice, but it is different.

It's different.

Yeah.

Yes.

Yeah, everything's in my head.

But then I said, I want to do this.

They said, okay.

Just start doing it.

Um, I also write blog posts for PyCon 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 signed up for conference here, it's definitely

not one of the, you know, must do or requirement, 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 PyCon US because I know it's a really valuable experience and I

don't want people to miss out on it. So I talk a lot to people and say, there's a 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 um 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 received um almost 1000 proposals

to PyCon US, like talk proposals, like 900-something, 980 or something.

That's never happened before, even before the pandemic.

We probably received 500 max.

So I think last year was 700 or so.

You can ask how many accepted talks are there.

I think only 120.

Wow.

Yeah.

so it's quite competitive right it is but the if you talk to any other program chairs

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 i 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

hmm i don't know but i you know i think from the core team perspective

you might be right that django is not as it's it's 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 before custom

user models yes did we even have migration back then no no migrations i i remember that

i remember that pain

yeah yeah i i used django for a long time so i i used django to make a living so that i can

contribute well let me ask you about that then so what how i don't know what to how 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

I have been. I think there are actually a few things that Python took inspiration from Django.

Actually, the steering console model that we have, the Python steering console governance model,

was largely inspired by the Django community governance model. If you read PEP 8015, I think

that when Nathaniel J. Smith proposed this proposal,

like one of the things he said,

like this was inspired by Django community

and we want to take the learnings

and incorporate to Python.

So that is how Django has helped the steering council.

We help the formation of the steering council nowadays

and which is a model that we actually,

I think it's still working.

We have six steering council terms already, I think.

Yeah, so we are paying attention.

And I think the Python developer in residence model,

which is a paid staff role in the PSF to be cut as a core developer,

that was also inspired by Django Fellow's 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 mentor and onboard new contributors.

I wish we have it for Python, but I don't know how.

So I'm watching the Django.NET space and see like how we can one day incorporate it to Python.

Yeah. I think it's been revolutionary for Django. I mean, in terms of just a new wave of people and enthusiasm and shining a light on what Django core people and fellows are doing, because 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 would wager that, and 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 an 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 DjangoNauts 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-nots 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 many great things about the DjangoNaut program is bringing

in new people who are shining lights and doing the work and helping some of us who are still

kind of like Atlas holding up our little sections of the area, help us do more, right? So some

volunteers from DjangoNauts 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 yet, you know, that kind of thing

should happen more across the board.

This is something the fellows in the community

is talking about. How do we

have more public attribution for our

contributors?

Yeah, I absolutely...

So yeah, I get fired up about Django not. It's like

It's, yeah, we just had a core group of people who came together and made it happen.

And I think importantly, some of them have, you know, 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 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 of 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 that program.

I think that's good.

i and i i agree with you like there needs to be more visibility of of the work we all do and and

i 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 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 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 i i like what

you all are doing in jungle so you're speaking of podcasts and things we like you're doing i

want to talk about your podcast because you've started a new um it's the pie cats right pie cats

by podcats so we have a new pod we have a cod it's actually almost a year old um and it's not

Just myself is actually initially started by a few people like Chuk Ching and Georgie Kerr and Teresa.

I think they started having this vision of like, let's have this podcast 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 shy,

maybe they are not on social media or whatever,

but it 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 that they are doing,

their contribution, impactful contribution

to the Python community?

And I'm actually the last member of the team.

like they they ask if i want to help out i said yeah okay let's i care i do care a lot about it

and i've been helping out as well so now it's four of us it's called by podcast hidden figures

of python um where we interviewed lots of people um 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

um ireland dublin we have mona from the philippines um who like mona is a high school

teenagers who who does python and she teach other teenagers either high schoolers python like it's

it's um incredible i was playing video games when i was an age so like it's really

Yeah, yeah, I've had 15, that's good going.

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 we are trying to do,

like just making sure you know

about the diverse community members

who are doing great work.

So this, anyway, we have lots of episodes out already.

um you can visit by podcast.life 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 podcast yes it's rss feed so yeah just put the url there

super you talked about highlighting things like the same with the um the janganauts 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 cool 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 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 it's priming the pump from that from

that perspective 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 um you know person of color in in america

you know as someone who looks foreign and have foreign name has 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 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 and it so yeah i i'm continuing to do it because i know it benefits me

but it also can benefit lots of people um yeah and it's not it's not just about the

diversity hiring as as well it's like i've given talks on um 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 the the hiring dynamic with companies just radically shifted overnight

instead of it was oh or 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 true that everybody

doesn't have but if you can find the time if you can do it then it does open doors exactly and I

yeah I totally can relate to your experience totally agree yeah well I know we're coming up

a little on time but I 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. How do you like to do it, right? Because

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, right? So there's one camp of people who uses the user model as is, 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 uh if you have like a greenfield django application okay i think not and this might be

because i i just went through this recently for now i might want to

to have a custom user which is option two that you mentioned custom user and extend it 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 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 bases i haven't seen people do it so maybe if i see a good pattern of

it i will be open but that i think it's less common but maybe it's just people maybe it's

just people at django cons and that i talked to you were like oh yeah i just do it that way yeah

just just from normally i'm a fan of abc 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 i'm using the custom user model path

okay i think most people are yeah go ahead carlton so 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 take that to start i 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 they get rid of the environment

variables the dot m file right uh i gotta look at the vm the virtual environments brett brett

brett cannon did this but it's it saves me a step teaching people virtual environment folders will

now be gets ignored by automatically so get a little dot get ignore file inside them yeah well

because i know brett was asking a while i guess a couple years ago now you know how to is there

a standard on what people call their virtual environment folder, right? Because there's

some people like to do .vev, some people like to do vev, some people like to do myenv. It seems

like one of these things that, do we need to express our individuality through the name of

our virtual environment folder? 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 i don't know well so i'm a weird person when i see new feature new releases

i look at what's getting deprecated right okay what's your favorite deprecation

what are you glad to see the back of i like that yeah no well because new new features means

because of the reason you know python maintains you know backward compatibility for like

two 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 deprecation first

um there is an interesting new thing called um i think bab 702 it adds warnings not deprecated

which can be used by static type checker to denote that it is being deprecated.

So it's interesting.

But I think there are quite a number of things being removed

or new deprecation warnings being raised.

And I think people should know for now,

When Python starts to say we're deprecating,

when we start raising deprecation warning in Python 3.13,

it means in 3.15, it could be removed in two years.

So if you are using certain things that start 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 3.15 in three 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 um i think the jit 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 that's what 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 this

new in django be like let's talk about what was taken out i've just scrolled down on the page

it makes me feel old http server deprecate the cgi request handler so this code was outdated

unmaintained and rarely used it has a high potential for both security and functionality

bugs i do i do i like this cgi was like you know yeah my bread and butter my teeth it was

i feel i'm gonna let a tear ship drop for that one but it's probably good to go 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 head out yeah cmd limes is pronounced command limes is a new consulting

command that makes more sense it's a new consulting company that is actually is founded by three women

in python and django who you might know uh my myself uh so cmd stand for chuck marietta and

dawn 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 community um 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 um we haven't done that yet but maybe this is it

um yeah um 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 right and there's a website

that we're going to link to down below yeah cmd limes the next time we have you on there's a

whole discussion about consultancy that you know carlton will get fired up about um but you can

let us know in a you know a year or two down the line how it's all going because carlton cut his

teeth as a consultant for many many years 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 doing it the right way you're starting with a

reputation right carlton was just a 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

i don't know i'm not sure i'd 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 i i think reputation is one thing for sure i 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 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 you'll

people find out about it well thank you for letting me talk about it it's been really good

thank you yeah thank you for having me yeah really appreciate this opportunity to appear in Django

chat 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 I've 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 thank you thank you so we are at jango chat.com

and we'll have show notes with links to everything and new episodes coming soon bye bye everyone

this episode of jango chat is brought to you by the stack report a monthly longer form piece on

application development operations and the process and business of making software you can support

the show and subscribe at buttonedown.com forward slash Carlton or follow the link in the show notes now.