← Back to Show Notes

Transcript: DjangoCon US 2019 - Jessica Deaton

hi and welcome to another episode of django chat i'm carlton gibson i'm here as ever with

will vincent hi carlton and today we're hello will and today we're joined by jessica deaton

hello jessica hi hi jessica's a um well massively involved in the django world she's been involved

with django girls django con us and she's on the dsf board um so we're going to talk to her about

kind of thing. So Jessica, how about we kick off? Can you tell us a bit about yourself and how you

got involved in Django and that kind of thing? Sure. So right now I am a software developer. I

live in Wilmington, North Carolina. I started my development career not as a typical computer

science major, but I was actually a film major and got started kind of doing hardware support

on the side just for fun. And then I was working at an elementary school. They asked me to be their

webmaster. I had no idea how to do anything regarding web development. So I taught myself

some basic HTML, CSS, a little bit of JavaScript, and discovered I liked that a lot more than I

liked doing hardware support. So I started looking for introductory software development jobs and

junior software developer jobs. And the University of Texas offers a six-month paid program where

they teach you how to code so i went through their boot camp and that's where i learned django

right they use django a lot of ut do they they do and in kind of an interesting ways they actually

have a mainframe back end and wrote their own um broker exchange to kind of convert all of these

strings into stuff that could be used on the web and they build django applications on top of that

So pretty different, different than most Django developers, I'd say.

Do they still have that program? Because I know a lot of people have come out of that, but I thought they maybe canceled that program or weren't doing it anymore.

They do still have that program. It used to be centrally funded and run by the university, but now it's basically separate departments have their own version of it that they do.

So they're kind of bringing in people, putting them through the same boot camp, but focusing on what their department really needs and trying to teach people more department-specific stuff.

But it's still Python, Django, and mostly mainframe backend.

So they're like embedding the troops.

Yeah.

The reporters with the troops.

Right.

Yeah.

In some ways, six months seems like a luxurious amount of time.

That's great.

I mean, you know, I say three months is sort of the standard.

Six months is, wow, if I had six months to just focus on anything, that'd be great.

Yeah, it was definitely an interesting experience.

And I had not really heard a lot about software boot camps before joining that program.

It was really just a fluke.

And I was almost like, is this too good to be true?

And I kind of, forgive me, but I posted on Reddit and was like, what is this program?

Is this some kind of trick?

And actually, a few people that had gone through it replied to me and they were like, no, this

is a really great, really great program.

We've learned a lot.

The community is great.

So it ended up being life changing for me.

Right. And you went from beginner there, like basically, I mean, you knew a bit of HTML,

you said, and CSS and stuff, but like beginner Python programmer too.

Yeah, absolutely.

Fully competent. And so did you go from there to another role?

So after the six months, you are placed in a department. You interview with a few departments,

but you ultimately kind of get placed somewhere. And then, so you start as kind of a junior

software developer and then you just move your way up the ranks based on what you contribute

to the department and how quickly you learn and so i spent four years at the international office

at ut and worked my way up to senior developer over that time yeah right okay so it's um like

any other commercial role at that point yeah super i have one question you said mainframe so

So how are they using authentication there?

Are they using the remote user authentication back end?

They are.

Well, sorry to jump in.

I believe that they are because I was going to say after my talk, Carlton, where we first met, a bunch of UT Austin people asked me specifically about remote user and sort of explained the system.

And I was like, yeah, that's way beyond what I know.

Sorry to jump in.

Yeah, we did an episode on authentication back ends.

And Will was like, well, what's this remote user one?

And I'm like, well, if you've got an enterprise environment with some other author, and of course, like some mainframe is the perfect example of that.

You've got your user accounts in the mainframe, but then you want to authenticate to your Django application, remote user.

Yep, that's exactly right.

Authentication backend.

Super.

So that's one example.

Massively geeking out.

So then, okay, so you're there four years, and then what happened?

Oh, so at that point, some other people who had gone through the program at UT and had been at

UT for several years, moved out to the East Coast to work for a startup that works in fintech.

And after a few of the people that I knew and loved from UT went out there and convinced me

to come to, I decided to try out the private sector. So I moved everything out to Wilmington,

North Carolina, where I had never been, and started working in fintech, which I knew nothing about.

And we operate on a Salesforce platform. So I also had to switch from Python to Apex, which is like a

Java light. And we weren't using Angular, we are sorry, we weren't using Django, we were using

Angular. So I had to basically learn an entirely new stack, all new web framework, all new back

in language um it was uh is interesting it's very different uh very stressful but um i'm glad that i

took a chance on learning it but you're building um angular apps on top of a rest api kind of thing

uh so we it's interesting so the salesforce that we're using is more um antiquated than

salesforce provides presently so it's more of a still we're building angular inside of visual

force pages and components so okay it's um it's interesting i haven't done a whole lot on the

front end in over a year i've primarily just been doing back-end integration api work for them

so the angular stuff is new we also do knockout and angular js and um it's it's we are in the

process of rebuilding and I'm not sure how much I should know okay but all shops are in that process

all shop we're always rebuilding and that's that's the fun of javascript right yeah okay super but

so you moved from um working on django full-time but you haven't left the django world right so

you're very much involved in django girls for instance yeah so I did um I did two or three

workshops for django girls in Austin um one of them one or two of them just as a coach and one

of them as an organizer um and that's kind of what got me involved with sarah gore and rebecca

kenshi who were already organizing for django con us and had worked with lacy when she was at ut

um and so they kind of invited me to participate in django con us so i started organizing for

DjangoCon US back in 2016. Okay, and you're still there? 2017 was my first year. And I just started

out on the program team, didn't know what I was doing. I thankfully had Kenneth Love and Tim Allen

to kind of guide me in the right direction. Of course, Jeff Triplett and Lacey Henschel are both

amazing mentors. So they kind of just threw me in and let me go. I really enjoyed the program team.

i did that again in 2018 and then in 2019 they've convinced me to chair the conference

so now i'm responsible for the whole thing right okay so that the buck really comes home now right

yeah yeah so i mean jeff and lacey have been amazing and they've still been there to mentor

me and and help me out a lot um and sarah gore is my co-chair and she is phenomenal so it's a good

team it's a good team it's exciting but um i'm just so nervous yeah right okay you'll do fine

you'll do fine can you tell me about this thing called defna because you know you hear about

django con you know about django you know about the django software foundation but then there's

this thing called defna can you explain what that is because you see it around so to my understanding

defna was formed as a non-profit derivative of the django software foundation primarily to run

jango con um so it stands for jango events of north america or something similar yeah jango

events foundation of north america right okay um jeff is the president um we have several organizers

that are actually on the board for defna i think almost i think all of the board members for defna

actually organize so right okay um yeah and i i kind of kick myself for not running to be on the

board for defna um so i made up for that by running for the board for the jenga software

foundation yeah i was about to say have you got i mean have you not got already enough to do

i i have plenty my plate is very very full these days um but yeah tell us about your

tell us about your role on the board the jenga software foundation board that's been an

interesting ride i i started off um i wanted to run for the board because i was really interested

in trying to produce more mentorship opportunities and try to better engage with the members.

I feel like when I was voted as a member, I didn't really know what that meant.

It was kind of like, this is a great honor for me, but now what do I do with this?

Is there something I should be doing with this title?

Is there something I should be doing as part of the community now that I've been recognized?

My name is on a Django project page, so should I be doing something?

And there was not really an answer for that.

It was kind of just like, no, congratulations.

And I was, I was happy about that, but I also felt like me personally, I wanted to do more,

but I had no idea what to do.

So I had several conversations with people in the Django community and, you know, some

of those were about Django core.

And I was kind of, I was, I don't know what's the word I want to use here.

It was interesting for me to learn that Django con us is such a diverse set of attendees and

speakers and that we really strive for diversity and inclusion in that arena, but that the core

members of Django who were contributing code were very much just men and mostly white men,

or maybe all white men at the time that I had this conversation. And that was something that I felt was

very conflicting with how I felt personally about the Django community. And it was something that I

wanted to change. So I had a really good conversation with Sasha and with Andrew Godwin

and Jeff Triplett at DjangoCon US in Spokane. And then I kind of just saw that's when I got

added as a member was after that conversation. So then I felt particularly compelled to figure

out what i could do um and yeah i i saw that we started an email thread to dissolve core and that

was really exciting to me and i just thought i wanted to be a bigger part of that and figure

out better ways that i could help bring the rest of django up to speed with where django con us was

yeah that's all super so um because i think there's a lot of people who are members of the

dsf or the members of the django community who are in exactly that same position where you know

you know, we all want to make the community better and we want to make the contributor base

more diverse. But how do we do that? Actionable steps for individual members? Ah, who knows?

That's difficult. Yeah. Yeah. And it's a very hard problem to solve. And I definitely have not

solved it and haven't done a whole lot to change it, unfortunately. I kind of, once I joined the

DSF, there was a need for a treasurer as Rebecca Conley was stepping down. And I was kind of de

de facto put into that position just because I was a US resident. I tried my hand at treasurer

for a few months, but between that and the conference and my job, it was just, I didn't

have any experience as a treasurer really. And I just felt like I was maybe doing more of a

disservice than a service. So I stepped back from that role. And now I'm just, I'm kind of watching

with great interest the project that jacob has suggested where he's now interviewing for people

to help him build this application to to help us induct members to the dsf um i'm really really

excited for that i think it's a great idea i really want to see how that goes and i hope that

we can do more projects like that in the future i think that's going to be amazing for this community

so yeah and he got mentoring oh sorry carl no go on i i think he well so i so that came up uh

frank wiles mentioned it right um before it happened and um i think there were over a

thousand people who um applied for it which i mean you know i'd like to be mentored by jacob

you know but that's that's amazing and that's great that so many people were aware of it and

saw the opportunity for what it is and i think you know figuring out the funding too um because

think it's a lot of people who would like to mentor um i think he's i think actually what

i think jacob's volunteering to do it and the person is being paid or something like that but

yeah but it's a great step that and i think there's a lot of those things where more formalized

mentorship i think on core django things yeah the thing that go on jessica oh i was just gonna say

yeah um we were a step we were all floored by the number of applications which i mean i don't know

why we were so shocked it's an amazing opportunity um but yeah we were we were very happy and

astounded and it was very generous of jacob to offer all of the money the dsf was going to provide

to whoever built that application to just go to his mentee um it's pretty amazing yeah i think well

i mean i know there was there was an announcement on the django community site but i mean at least

personally i feel like i don't always know where to turn for django news um and that's partly why

we do this podcast to try to to be one a curated source but i feel like there's um yeah sometimes

things get lost in the noise or you know there'll be things and the django site itself is so deep

that i don't i miss a lot plenty of stuff so i'm glad this one didn't that didn't happen to

and then filter it up also interesting that you think oh you know there's just the blog post

there's just the twitter feed there's just a few people in the community and maybe it doesn't get

much response and you think okay the community is quite small but then when something comes up

like this comes up and you get a thousand applicants you're like no it's actually much

bigger and much more active than you think it's just a lot of people aren't vocal for reason x

Yeah, that's a really good point. And I think that's something else that I hope that I can figure out a better way to address. But it's kind of back to being inducted as a member to the DSF and not really knowing what to do with that and not really knowing when I should or should not say something.

So if an email comes through and someone's proposing something like Jacob proposes, does my opinion of that matter? Do I say yes or no to that? Who wants to hear what I have to say and what's the best way for me to say that?

And I think that we can do a better job of helping people in the community, rather or not they're a DSF member or just somebody that attends our conference once a year or just somebody who quietly, privately uses Django in their own shop and maybe checks out our Twitter feed from time to time, know how they can participate and know that we do care about what they have to say and that they help shape this community.

And so I hope we can find some better ways to make people feel like they can vocalize their opinions about what we do in our community and how to make it better and more wide-reaching.

Yeah, I sometimes feel that the Google Groups interface is a little linear, a little off-putting.

I mean, honestly, it was totally shocking to me a year and a half ago when I first saw it.

And I was like, wait, Django seems modern, but this is 15 years old.

I mean, I'm now more used to it, but it's, yeah, lots of things to do.

And I think y'all actually brought up in one of your other podcasts about all the different places you might have to go to get information about Django or to participate in discussions about Django, whether it's the Discord or the Google group.

So, and I think, I think William, you said about how nice it would be to have one centralized

place for that to happen.

And I agree, maybe that's something we can, we can work towards.

But people have to propose those ideas and, and people have to be able to say, here's

a, here's a good solution that we can try to implement.

And right now I think it's hard to figure out how to deliver those ideas.

I'd be interested to see what happens with the Mozilla conversation because they're having

this exact um discussion right now there where they're going to drop irc for whatever reason

because it's it's not that particularly friendly and they're looking for something else and it has

to be hosted it's not something they want to build themselves and it has to be open to new members

and you know it'd be interesting to see what they conclude um and maybe we can jump on the back of

that or something like that it's a good idea i mean the problem i find with is often discoverability

which i mean stack overflow does does pretty well you know with discourse for example it's hard to

find it's hard to find stuff um i mean stack overflow is really good i think it you type in

a question or you know and looking for something saying oh there's already existing um answers to

it so there's no duplication but you know that yeah i think that and the curation because i

certainly thought a lot about it i get asked to do it a lot and um yeah it would be a nice thing

to do i mean certainly because there's plenty of people with knowledge out there who want to share

it and don't want to repeat themselves yeah what the platform is and then making it discoverable

um and then also there's a lot of disagreements um you know there's a certain level just very

subjective django stuff um which is interesting i mean i think we're we're showing that on the

podcast but i would say this sort of like the first half you can broadly agree and then it

becomes pretty subjective and interesting if you know what you're talking about but maybe less

directly beneficial like how do i solve this problem right now which is generally what the

kind of questions i get at least from from people which i get they're like this is broken i mean

just like today i wrote i had i have a post on um uh search i wrote a recent post on search and

someone in the comments was asking me a question about like oh my login's not working i was like

well the tutorial's not on login um but you know i get it they you know there's a lot of people

with questions out there um and a lot of people with answers so uh to the extent it can be easy

for those people to interact that would be that'd be nice and and you know i guess to go on that

thread ditto with mentorship i mean i've been asked i think probably a number of people who

teach for a living um to be someone's mentor and it's kind of a big ask and it usually needs to be

a two-way street but something that's formalized in public um with the way jacob's thing is i mean

that's that's such a great way to tap into the desire of people you know who know django who

want to help but not be overwhelmed and um so yeah that's really an inspiring thing to see that as

maybe the first of many around these django things that need to be done yeah definitely

one difficulty there is the time commitment for mentoring right it's yeah it's about being on the

dsf board being the treasurer organizing django con you've got a job and then what you've got to

find time for um mentoring as well well how much time is that and the same with contributing to

you know if you're going to solve tickets on django well how much time are you going to

give to that on top of all the other commitments you've got i don't know yeah we see people getting

burnt out quite regularly because they're not able to say where that limit is yeah yeah if it

if it was an easy problem to solve then it would be solved i guess so one thing i wanted to ask

you about was mentoring at the um at the sprints because at pycon um yeah pycon just now they um

they had mentored sprints um for introduction introducing new contributors to the prod to

projects the python projects and they had mentors arranged and they had groups and you could get

involved and I just I saw that when coming back from DjangoCon Europe where we had sprints and

I spent the entire two days running around helping people with tickets but I was spreading myself

really thin because it just wasn't we hadn't organized it properly and one thing I'd really

like to I think it's a good opportunity something we can do and I don't know if you've got thoughts

on Jessica is can we do mentoring at the sprints at DjangoCon events yeah and I think actually

last year we we kind of took a step in that direction Nick James who was one of the chairs

last year brought in somebody to do like an introduction to Git and how to make your first

pull request. And I think that went over really well. And I think it's a good idea. I think we've

had ideas for sprints too, about maybe bringing in people to help you workshop your resume or to

help you practice for tech interviews and helping people. I mean, Nick actually was the person who

helped me make my first PR to Sprint. So it definitely goes a long way for taking intimidation

out of it i was very intimidated attending sprints for the first time and thinking well

i mean the development that i've done has been so particular to the university of texas

and now these are these are big major projects like now i'm trying to sprint on on pyb and like

i don't uh i don't i barely even use python in my in my job now i don't use it at all now but um

it's very intimidating and we were a subversion shop so i'd never used git um and that was just

such assumed knowledge at the sprint. Everybody knew Git. Everybody had done pull requests.

So it was it was very intimidating. And I think maybe setting up sprints in a way that's more targeted to for new people and then more targeted at more experienced people would be a better way to include people.

It's just difficult when you're not really sure what the projects are going to be, who's going to be presenting something to Sprint on and how much time they've taken before coming to the conference to kind of sort out the different things they want people to work on into low hanging fruit or beginner friendly versus things that are a little more intermediate or require some real expertise.

So perhaps as well, there's room for thinking about the run up to the conference, to the sprint saying, have you got a potential project? Are you running a project? What tickets can you group together to get beginners involved in that kind of thing? Because again, there were people at DjangoCon Europe who were, I'm going to work on this, I'm going to work on that. But I don't know how organized they were in terms of bringing people on. They were very willing to, but there's a difference between willingness and making it happen.

Yeah, that's a good point. And I think, you know, we do at DjangoCon US, we usually do have someone in charge of sprints that's been Kojo for as many years as I've been involved. And Nick has been helping him with sprints.

But I think that having people that can be very dedicated to that process and maybe started off a little earlier than just calling for what people want to sprint on at the very last day of the conference or over lunch would be helpful to make it more inclusive for people that are beginners.

And it follows all the way through to the repo, because as you said, we've got a lot of male contributors, a lot of white contributors, but we're really struggling to bring people on board from the wider community. And it's not meant to be intimidating. There are lots of quite easy tickets. They still need time and love and energy, but they're not rocket science. They just need someone to work on them. And I think there's a real opportunity for people from the community to get involved, but it's not happening.

I mean, I think that initial setup though, Carlton, is part of the problem, which I hope to do before Django kind of video on just installing Django locally is, I mean, I was sitting in my, at PyCon, I was sharing a room with Michael Herman, who's very experienced and it, you know, it took him a couple hours to work out the bugs. So I think, so I hope to contribute and do that. But I think just that first step, just configuring it.

Yeah, getting this test suite to run.

Yeah, just getting to that. And actually, he submitted a pull request just for the Django docs site, making it dockerized, which I need to review. That's a great contribution to the point of, you know, people can know what they're going to work on. They come in ready to work as opposed to kind of what you're doing running around fixing bugs or like talks isn't working. That would feel less helpful than yeah, working on actual stuff.

Yeah, I think there's also, and I think you've spoken to this in some of your previous podcasts

as well, is the notion of a beginner has very different meanings to different people.

So beginner could mean that, you know, this is my first conference, I'm just starting

out and I'm trying to teach myself and I've wandered into sprints and there's some assumed

knowledge that I should have even as a beginner that I may not have.

and then I turn around and walk back out because it's just too much.

Or I'm a beginner who's been developing with Django for maybe a year

and I'm fairly inexperienced and rely heavily on senior developers

to kind of steer my code in the right direction.

Or I have somebody that facilitates deployments for me

so it's not something I need to worry about.

Or we have a security team that does authentication for us

so I'm really just building out the web pieces

and I don't worry about the rest of the stack.

So beginner is an interesting term in code development.

And that's something that also adds another layer of difficulty when you're trying to

cater to the wider community.

That's a word like simple and easy.

I try really hard not to use or write.

And I suggest others never use them either because it's completely subjective.

Sorry, I was saying, just do this.

Just do this.

Just clone the repo.

Well, just yesterday, I saw someone was doing, he's like, oh, you know, it's simple.

And I was like, that's not simple at all.

Like, it's, you know, same thing with beginner.

Everyone's a beginner at something.

Yeah, I had one idea, sort of one thought last year, that maybe we could somehow leverage the work that the Django Girls community were doing to say, well, look, you know, there's a further step you can take to contributing to Django.

But I think there's just too big a gap between the target audience for Django Girls, which perhaps people have never, you know, never looked at a website before at all, building one, I mean, to then contributing to Django.

It's just too big a gap, something in between we need to get people there.

Yeah. Well, actually on this topic of education, I'm wondering, Jessica, do you remember when you

were learning Django? Because that was your first web development. What were the hard parts for you?

Because I think a lot about this teaching and I have some thoughts, but I'm curious for you if

you recall kind of the places where it was kind of sticky or took a while for it to sort of sink

in how web development and specifically Django fits together. Yeah. Oh man, that's been seven

years now let me um i mean i i think i think one of the harder parts actually interestingly the

django itself was not necessarily the hardest part for me when learning um it did take me a

little bit to kind of understand how all of the different pieces work together and how the the

settings file and then the urls and your templates and your views and how all of those pieces kind

of fit together and worked in orchestra but um i i think the the harder part for me was really just

the difference between my local development and then actually deploying and then getting stuff

out into production on the web and like that whole process was very obfuscated to me and i was just

kind of like that's very magical and i don't really understand how it works so when i get

weird errors when i'm trying to um push my code or when i'm trying to migrate things or

um yeah all of that was was really black boxy and then right at the the end of my time at

the university of texas was when migrations was introduced we were a little bit behind in django

um and so trying to work with the migrations files and and that was oh oh my gosh that was so

frustrating it was just like okay well i'll just delete all the migrations files and try again

yeah no that's that's that's actually advanced techniques tips and tricks yeah i was doing that

i was doing that yesterday the table out i do that all the time and it feels wrong it's like oh

i must be doing this wrong and i must have no idea what i'm doing someone else could totally fix this

but for now i'm just gonna blow everything away and start over and that feels like such a like

an immature developer who isn't gonna take the time to really figure out what's breaking and

no that's pro techniques it's pro techniques yeah well yeah i think i think what you said i i find

that yeah how the pieces fit together that's a huge one for people because it is largely the

four different things the models of use urls and the templates and um and i don't know i always

think you know maybe there's a graphical way to show that or i think partly it's just repetition

but that's a big one deployment yeah deployment yeah i migrated locally why isn't it working why

it migrate in production like that's another and then deployment is so varied in django because

it's there isn't like a default deployment pattern i would say the way there are in some other

frameworks and then i think with django and most web frameworks the logic piece i think when you

hit intermediate level that's kind of where it's confusing because like for django like where do

you put the logic you can put it in the views but then you'll hear people say well really you should

put the models that means you need to understand what a manager is like oh geez and then you can

do it you know generic class-based you can do a class-based you can do a function-based um

and some level i feel like the heart of intermediate advanced django for me at least is

is is around that logic and how you do it is widely there's no clear patterns i mean people

will still argue for you know function class-based and then you know get it working versus optimism

kind of the next step but at least for me like i mean that's still what i what i sort of the parts

of Django that I think about a lot and struggle with are that logic piece less so the maybe the

structural stuff that you mentioned you know when you're first learning out um settings files and

and yeah just how it all fits together on the board yeah I think also just I mean and this

continues to be a struggle for me even after seven years of of development is like just getting your

environment ready and starting is it's so annoying yeah no you know virtual environments I I well

what i have to do too with in different versions of if i ever don't use docker now like i if i'm

you know python 3.7 versus 3.6 i yeah yesterday i did this twice i was nuking something it is a

crazy thing about python i mean if you because if you use javascript it's like oh it just works like

no big deal you try having multiple versions of node installed on your path and see what happens

there as well it's not it's not that javascript is so simple it's that you haven't got this crusty

computer where you've been building the javascript applications for the last five years and all of a

sudden you've got all these different versions installed in these different places and project

x only works with version 6 and this one works with version 10 and why is why did we go from 6

to 10 so quickly what happened there like yeah well path variables if i could change something

about modern computing i would just blow that up i understand why it exists but seriously the first

time you come across path variables still to this day i just hold my breath and go oh damn whenever

i have to deal with path variables don't don't just prepend something new to them yeah just you

just it's just like it's just like you have 40 40 you know exports long it's just like oh just hold

hold my breath and it works yeah playing with dot files oh my god yeah anyways you know i still feel

that way right i mean some people enjoy fiddling with that stuff but um anyways this was a topic

at pycon about you know how do we make python accessible and what are the challenges and um

One of them is it's, you know, it's hard to package Python programs, but also just installing

it is a real pain.

And a lot of the educators were speaking about different approaches they take because there

are some web-based versions that students can use.

But yeah, it's a potential killer problem for Python.

I guess, oh, sorry, Jessica, go on.

No, I was just agreeing.

Can I cut back to what Will said about where you put the logic?

because like i've worked in multiple languages over the years and multiple environments on

multiple platforms and i don't think it's just django i think it's every platform that you

struggle to know where to put the business logic such that it's as clear as can be and as

maintainable as can be and you know how i'm sure that happens in salesforce as well right you're

using this language and you might want to put it in place a or place b i don't know what do you

that's definitely true and everybody has an opinion about it and it doesn't make it any easier that

depending

on what team you might be working on, or if you change jobs, you are likely going to go into a

shop that's doing it differently and will either defend what they're doing to the death or not have

the time to refactor it. So you're constantly having to learn to deal with whatever decision

this shop or this team made, you know, maybe years ago. So it's like you can never really

learn the right way. You always just have to learn whatever way you're being paid to do it.

Well, and there isn't really a right way is the, you know, the thing I realized, which is a little bit frustrating.

I mean, it'd be nice if, you know, I've had this idea and I should do something about it of, you know, pick five people who know their way around Django and build a simple CRUD app with Auth and just build it and then defend the approach that they took because they would all do it differently.

I could probably guess the areas they would do it differently, but there isn't.

Yeah, it's less right and more like, oh, I trust what they did and I see why they chose what they chose and then I agree with it or I don't.

But yeah, I think all of us, I would rather just not have to make those decisions, but

those are decisions that have to be made.

Yeah, the amount of time that I've spent in a room with several other developers trying

to argue the merits of putting stuff one place or coding it this way or setting it up this

way.

I mean, for all of the time spent in those meetings, you know, litigating our decisions

or our opinions, we probably could have built four or five more products and all been fabulously

wealthy by now.

But right.

But yeah, I think it does start.

And I mean, at least and again, when I'm trying to explain Django to people, I sort of start with it all starts with the models and you sort out and you can draw that on a whiteboard.

But then it's yeah, then it's the logic.

Then it's really just the business logic and everything else just sort of flows down the URLs and templates and stuff kind of flows from there.

But the business logic.

Now, interestingly, at the University of Texas, when we were using the mainframe backend, we weren't using models at all.

So the first two or three years that I was developing at UT, I had never made a model whatsoever.

We just wrote our own in-house broker that would take the data coming from the mainframe and make it one gigantic string.

And then we would parse the string on the front end in Django and then use that to build out our site.

That sounds amazing.

How would you parse it on the front end with Django?

Can you explain that a little more?

Well, in Python, we would just take the string and then we would kind of, it was almost like we would pass in kind of pointers.

It almost was like a dictionary, but a stringified dictionary.

So you could kind of say like, this is the variable and this is the value for that variable.

And then you would just parse that out and pass it to your template with the Django templating language.

That was it.

Wow, interesting.

Very interesting way of handling data.

So the first time we were using models, I was like, oh, wow, this is very different than basically doing everything with strings.

OK, but, you know, it's kind of what we do with, you know, if you call to a REST API now, you call the GitHub API, you get JSON back, you turn it into a native data structure, you pull out what you need.

But it's kind of cool having to write that that kind of serialization layer.

Yep. You think it's cool. Yeah. No, I do. I do. I'm geeking out again.

Yeah, and serializations, that's the, you know, that's the sort of leap when you, for APIs from Django, that's what people go like, wait, what's the challenge here? It's like, oh, what's a serializer? What's a deserializer? That's the, I would say that's the leap with APIs from Django itself.

Okay, cool. Jessica, I wanted to cut back if I could, because you've gone all the way from coaching, using Django to coaching Django girls all the way to being on the DSF board via contributing to DjangoCon and all the rest of it. And so I guess you're as good a person as anybody to say whether people can get involved, I guess, but how to get involved and, you know, to point out that that is actually accessible.

Yeah. When I first started out with trying to be a part of the broader Django community, as far as Django Girls, I was kind of just right place, right time, had some friends that were already doing it. But it's actually very easy to get involved if you are listening, right?

So we, as part of DjangoCon US, we put out Facebook posts, we put out Twitter, or tweets all the time, inviting people to organize like, hey, do you want to organize DjangoCon? Shoot us an email. And that's really all there is to it.

I think people feel like you kind of have to know somebody or be invited to participate.

And that is, unfortunately, my story, which doesn't sound as accessible as I want to make it out to sound.

But we have basically a brand new organizing team this year.

We had, I think, 15, 10 or 15 brand new people to organizing had not organized a conference before or had not been involved with DjangoCon at all.

and all they did was reply to all they did was send us an email or reply to a tweet just saying

they were interested and then we onboarded them we got them in as quick as we could and tried to

help them figure out what they could work on and what their interests were and how much time they

wanted to dedicate and that was really all so there's not some big formal process and no one

has to vouch for you and no one has to sign a blood a blood oath or a contract you can really

just email us and we're happy to have the help the more help the better and it was kind of the

same with the dsf i had several people say hey you have some ideas you should you should apply

to to be on the board and i just filled out a google form and that was it so and there you are

next thing you're in and the the key point you said there was about the the time that people

have so it's not like they have to commit 20 hours a week or they can you know they they can if

they've only got a small amount of time that's still helpful and they can still contribute and

still be part of the team yeah absolutely we have people that um we have people that join the

organizing team and don't actually do anything until we get on site for the conference we put

out a call for volunteers to help us out on site right before the conference we have the program

team who are heavily involved from the time we get up and running usually like around february or

march all the way through the conference they're working their tails off the whole time um but then

we have people that are on some of our other teams like visas where you just kind of reply to emails

here and there um we have you know kojo is our orientation person and a lot of his work comes

right close to the conference um we have people that do swag so basically if you have a design

that you want to do if not we have a design team that will build a design out for you and you just

have to order t-shirts for us so um we really have uh something for everyone if you're interested

and want to get involved and however much time you have we can point you in the right direction

so someone who's listening who wants to get involved what would you say what would be the one

place or the one thing they should sign up for what would be that first step because we've listed

all sorts of ways you can get involved but what would be the the first place you know to sign

newsletter rss feed what would you say to that jessica oh my gosh that is such a great question

I can say a couple, but what's the, you know, there always should be like an action, right?

It's like, okay, we've hyped this up and it's like, okay, if I'm listening now, what?

Yeah.

I feel like it really, I think it depends on how you want to get involved.

If, if, if you want to get involved by participating in DjangoCon US and helping us, you know,

pick a program that will encourage a wider, a wider group of people to attend Django,

then just send the organizers an email saying you want to get involved and let us help mentor you

through that process and get you where you feel like you can provide the most and feel the most

supported. That is our goal. If you have bigger, broader ideas for the Django community at large,

email the DSF board. I mean, we get tons of emails, but we're always looking for one to come

in that's just like hey let's try this great idea what's the canonical email address is it board at

jangoproject.com dsf dashboard at jango project right okay dsf okay we'll link to it in the show

notes okay i think that's right now that you've asked me i might be wrong but i'm pretty sure

that's right yeah and i mean honestly the the way that i kind of got started in the community

and the way that i've kind of risen up in the community was really just having conversations

with people. DjangoCon has really been a life-changing experience for me, and not just

because I got involved as an organizer, but mostly because I was attending the conference and just

talking to people that were involved. There were people that were contributing code, people that

had been organizing the conference for a long time, people that were just there to give talks,

and really just having those conversations with them opened my eyes a lot and allowed me to kind

of give my thoughts. I mean, that conversation that I had with Sasha and Andrew and Jeff was

really just me saying, wow, I'm kind of shocked that Django Core doesn't reflect what I see at

DjangoCon. And that's a little distressing. And I wish that weren't the case. And I think from

that conversation, we've seen some active change to try to break up Core and get people, a more

diverse set of people involved. And so just having those conversations can be just as powerful as

dedicating your time to try to run a conference or be a board member yeah so just even like even

like if people don't feel that they can contribute to organizing the conference or they don't have

ideas for the dsf just coming to a django con or a django con europe and experience the community

because frankly it's amazing yeah it is and that's why i i don't develop in django anymore

but I still dedicate all of my free time outside of work to Django just because I love this

community and I love what we're trying to do. I think we still have a lot of room for improvement

but the things that I've seen in this community are exceptional compared to what I've seen in

other tech communities and I just want us to continue to grow that and the way that we do

that is by having people feel psychologically safe and empowered to give their opinions and

their thoughts. And doing that in person at DjangoCon or doing that in a tweet on Twitter

or doing that in an email, all of those are fine ways to do it as long as we're hearing from people.

Super. Well, thank you so much for coming on and sharing your story. I'm sure it'll

resonate with a lot of people. Jessica, thank you for coming on the show. It's been awesome having

you. Thank you so much, guys, for having me. I appreciate that you gave me the platform to talk

about some of this stuff. I really enjoy the podcast. I appreciate that you're doing it.