← Back to Show Notes

Transcript: DjangoCon US 2019 - Jessica Deaton

Carlton Gibson

Hi, and welcome to another episode of Django Chat.

I'm Carlton Gibson.

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.

So we're going to talk to her about all this 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.

Jessica Deaton

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

Carlton Gibson

Right.

They use Django a lot at UT, do they?

Jessica Deaton

They do and kind of in interesting ways.

They actually have a mainframe backend 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.

Will Vincent

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.

Jessica Deaton

They do still have that program.

Um it used to be centrally funded and run by um 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.

Carlton Gibson

So they're like embedding the troops.

Yeah.

The reporters with the troops, right?

Will Vincent

Yeah.

Well, 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 I mean, wow, if I had six months to just focus on anything, that'd be great.

Jessica Deaton

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 um 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's great.

So ended up being life-changing for me.

Carlton Gibson

Right.

And from and you went from beginner there, like basically, you I mean you you knew a bit of HTML, you said, but and CSS and stuff, but like beginner Python programmer to fully competent.

Carlton Gibson

And so did you go from there to uh another role or

Jessica Deaton

uh 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 um 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.

Carlton Gibson

Yeah, right.

Okay, so it's um like any other commercial role at that point.

Yeah.

Super.

I have one question.

Carlton Gibson

You said mainframe.

So does so the how are they using um authentication there?

Are they using remote user, the remote user authentication back end?

Will Vincent

They are.

I think well, I'm sorry to jump in.

I think they I believe that they are because I was gonna 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, I've that's way beyond what I know.

Um sorry, sorry to jump in.

But yeah, I'm

Carlton Gibson

I'm Yeah, we did an episode, we did an episode on authentication backends, and Will's 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 auth your user accounts in the mainframe, but then you want to authenticate to your Django application, remote you remote user.

Yep, that's exactly what it's like.

Super.

Will Vincent

So that's one example.

Carlton Gibson

Massively geeking out of that.

Will Vincent

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

Jessica Deaton

Oh, um, so at that point, um, some other people who had gone through the program at UT and had been at UT for several years um moved out to the East Coast to work for a startup that works in FinTech.

And after a few of the people that I um knew and loved from UT went out there and convinced me to come too, I decided to try out the private sector.

So um 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 uh operate on a Salesforce platform.

So I also had to switch from Python to Apex, which is like a Java Lite.

Um, and we weren't using Angular, we're 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 backend 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.

Carlton Gibson

But you're building um Angular apps on top of a REST API kind of thing there.

Jessica Deaton

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 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 backend integration API work for them.

So the Angular stuff is new.

We also do knockout and Angular JS, and um it's a it's we are in the process of rebuilding it.

I'm not sure how much I

should do.

Carlton Gibson

No, but okay, but all shops are in that process.

All shops.

We're always rebuilding.

Carlton Gibson

I mean that's that's the fun of JavaScript, right?

Yeah.

Okay, super.

Carlton Gibson

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

Jessica Deaton

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 are already organizing for DjangoCon US and had worked with Lacey when she was at UT.

Um and so they kind of invited me to participate in DjangoCon US.

So I started organizing for DjangoCon US back in 2016.

Okay, you still have

Jessica Deaton

2017 was my first year.

Um, 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 Um Hinschel are both amazing mentors.

So um they kind of just threw me in and let me go.

Um, 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.

Carlton Gibson

Okay, so that the the the the buck really comes home now, right?

Jessica Deaton

Yeah, 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.

Carlton Gibson

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 DjangoCon, 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.

Jessica Deaton

So, to my understanding, DEFNA was formed as a a nonprofit derivative of the Django Software Foundation, primarily to run DjangoCon.

Carlton Gibson

Um it stands for Django Events of North America or something similar.

Jessica Deaton

Yeah, Django 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 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 Django Software Foundation.

Carlton Gibson

Yeah, I was about to say, have you got I mean, have you not got already enough to do?

Jessica Deaton

I d I have plenty.

My plate is very, very full these days.

Carlton Gibson

Tell us about your tell us about your role on the board, the Django Software Foundation board.

Jessica Deaton

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.

Um, 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 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?

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

Um and there was not really an answer for that.

It was kind of just like, no, congratulations.

Um, 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.

Um, 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 um I was uh I don't know what's the word I want to use here.

It was interesting for me to learn that DjangoCon 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.

Um, and that was something that I felt was um very conflicting with how I felt personally about the Django community.

And it was something that I wanted to change.

So I I had a really good conversation with uh Sasha and with uh Andrew Godwin and and Jeff Triplett at DjangoCon US in Smokan.

Um 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 DjangoCon US was.

Carlton Gibson

Yeah, that's all super.

Jessica Deaton

So um

Carlton Gibson

because I think there's a lot of people who are members of the DSF or but 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 um the contributor base more diverse, but how do we do that?

Actionable steps for individual members are ah who knows?

That's difficult.

Jessica Deaton

Yeah, yeah, and it's it's a very hard problem to solve.

And and I I definitely 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 Connolly was stepping down, and I was kind of de facto put into that position just because I was a US resident.

So um I 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.

Um, 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 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 gonna be amazing for this community.

So yeah.

Carlton Gibson

And he got more mentoring.

Will Vincent

Sorry, Carl.

Carlton Gibson

No, go on with it.

Will Vincent

I I I think he well, so I so that came up.

Uh Frank Wiles mentioned it right um before it 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 to um because I think it's a lot of people who would like to mentor.

Um I th I think he's not I think actually what Jake 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.

The and that I think is a lot of those things where more formalized mentorship, I think, on core Django things.

Carlton Gibson

Yeah, I the thing that go on, Jessica.

Jessica Deaton

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 gonna provide to whoever built that application to just go to his mentee.

Um it's pretty amazing.

Will Vincent

Yeah.

I think we'll 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, 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 uh, you know, there'll be things and the Django site itself is so deep that I don't I miss like plenty of stuff.

So I'm glad this one didn't that didn't happen too, and then it filtered up.

Carlton Gibson

Also interesting that you think, oh, you know, there's the 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 or Y, is it?

Jessica Deaton

Yeah, that's a really good point.

And and I think that's something else that um that I I hope that I can figure out a better way to address it, but it kind of back to to being inducted as a member to the DSF and not really knowing what to do with that, um, 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, do I does my opinion of that matter?

Do I say yes or no to that?

Like who wants who wants to hear what I have to say and and what's the best way for me to say that?

And and I think that we can do a better job of helping people in the community, whether 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 um their opinions about what we do in our community and how to make it better and more wide-reaching.

Carlton Gibson

Yeah, I sometimes feel that the Google groups interface is a little um linear.

Sometimes a little off-putting.

Will Vincent

I 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 you know, this is 15 years old.

Uh I mean, I I'm now more used to it, but it's um yeah.

Yeah, lots of things to do.

Jessica Deaton

And I think y'all actually brought up in um 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 or um so and 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.

Um, 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.

Carlton Gibson

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

Will Vincent

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, at 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 uh duplication.

But you know, that I 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, it's just very subjective Django stuff.

Um, which is interesting.

I mean, I think we're we're showing that on the podcast, but I th I would say there's 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 of like how do I solve this problem right now?

Which is generally what um 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 a I have a post on um uh search.

I 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 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 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 and public, um, the 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.

Carlton Gibson

One difficulty there is the time commitment for mentoring, right?

It's yeah, it's that'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 gonna solve tickets on Django, well, how much time are you gonna give 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.

Jessica Deaton

If it if it was an easy problem to solve, then it would be solved.

Carlton Gibson

I guess so.

One thing I wanted to ask you about was mentoring at the um at the sprints because at Jan PyCon um yeah, PyCon just now, they um they had mentored sprints um for introduction, introduct introducing new contributors to the project to projects, to Python projects, and they had mentors arranged and they had groups and you could get involved.

And um, I just I saw that when coming back from DjangoCon Europe where we had sprints and I spent the entire two days running around and 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 is a good opportunity, something we can do.

And I don't know if you've got thoughts on Jessica, is can we do min mentoring at the sprints at DjangoCon events?

Jessica Deaton

Yeah, and I think actually last year we we kind of took a step in that direction.

Um, 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.

Um and 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.

Um, and 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 from 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 I'm trying to sprint on on Pibe.

And like I don't, um, 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 um more targeted to for new people and then more targeted at more experienced people would be a better way to include people.

Um, it's just difficult when you're not really sure what the projects are gonna be, who's gonna 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.

Carlton Gibson

So perhaps as well, there's um there's room for thinking about the the run-up to this to the conference, to the sprints, saying, Yeah, are you have you got a potential project?

Are you running a project?

What tickets can you group together to get big beginners involved in that kind of thing?

Because again, there were people at DjangoCon Europe who were, I'm gonna work on this, I'm gonna work on that, but I I I don't know how organized they were in terms of bringing people on.

They were, you know, very willing to, but there's a difference between willingness and making it happen.

Jessica Deaton

Yeah, that's a good point.

And I 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 um having people that can be very dedicated to that process and maybe start it off a little earlier than just calling for 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.

Carlton Gibson

And and it follows all the way through to the um to the repo because as you said, we've got a lot of male contributors, a lot of white contributors, but we're 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.

You know, they they're not 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.

Will Vincent

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

So I think um so I I hope to contribute and do that.

But I think just that first step, just configuring it.

Carlton Gibson

Yeah, getting this test suite to run.

Yeah.

Will Vincent

Yeah, just just getting to that.

Um and actually um he he submitted a um a pull request just for the Django docs site, um making it Dockerized, um, which I need to review.

That's a great uh contribution.

To the point of you know, people can know what they're gonna work on and 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.

Jessica Deaton

Yeah, I think there's also um and I I think you you've spoken to this in some of your um previous podcasts as well, is the notion of a beginner has very different meanings to different people.

Yeah.

Jessica Deaton

So a beginner could mean that, you know, this is my first conference.

I'm 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.

Um, so it's 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.

Will Vincent

That's a word like 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.

And so you're

Carlton Gibson

saying, oh, just just do this, just do this, just just clone the replay.

Will Vincent

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

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

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

Everyone's a beginner at something.

Carlton Gibson

Yeah, I had one idea, um, sort of one thought last year that maybe we could somehow leverage um the work that the Django girls community were doing to say, well, look, you know, there's a a further step you can take to contributing to Django, but I think there's there's just too big a gap between the target audience for Django girls, which perhaps people have never you know done never looked at a website before at all to uh building one in me, um to then contributing to Django.

It's just too big a gap.

Something in between we need to get people there.

Will Vincent

Yeah.

Well, actually, on this topic of education, I'm wondering, um, Jessica, do you remember when you were learning Django, what because that was your first web development, what were what were like the hard parts for you?

Because I think a lot about this teaching, and I have some thoughts, but I'm 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.

Jessica Deaton

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 settings file and then the URLs and your templates and your views and on 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 univers 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.

Carlton Gibson

Like, yeah, no, that that's that's that's actually advanced techniques, tips and tricks.

Will Vincent

I do that all the time.

Jessica Deaton

And it's and it feels wrong.

It's like, oh, that 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,

Will Vincent

that's pro techniques.

It's pro techniques.

Yeah.

Will Vincent

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 have used the URLs and the templates.

And um and I don't yeah, I always think you know, maybe there's a graphical way to show that, or I think partly it's just repetition.

Um, but that's a big one.

Deployment, yeah, deployment, yeah.

I migrated locally.

Why isn't it working?

Will Vincent

Why isn't it migrating 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 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 in the models, and 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 it class-based, you can do it function-based.

Um and some level, I feel like the heart of intermediate advanced Django for me at least is is a r 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.

Jessica Deaton

Yeah, I I think also just I mean, and this continues to be a struggle for me even after seven years of of development, is how like just getting your environment ready and starting is

so annoying.

Will Vincent

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

Carlton Gibson

You you try having multiple versions of node installed on your path and see what happens there as well.

Like it's not it's not that JavaScript is all simple, it's that you haven't got this crusty um computer where you've been building the 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 six and this one works with version 10.

And why is why did we go from six to ten so quickly?

What happened there?

Like uh

well, path variables.

Will Vincent

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 you don't you just prepend something new to the

Will Vincent

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.

Will Vincent

Anyways, uh, 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 and what are the challenges?

And um one of them is it's you know it's hard to package Python uh programs, but also just installing it is a real pain.

Um and a lot of the educators were speaking about different approaches they take because there are some web-based versions um that students can use, but yeah, it's a potential killer problem for Python.

Carlton Gibson

Yeah, I think it's I guess I oh sorry, Jessica, go on to it.

Jessica Deaton

No, I was just agreeing.

Carlton Gibson

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 think then?

Jessica Deaton

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

Will Vincent

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

I mean, it'd be nice if, you know, you I 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 and build a 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, yeah,

Jessica Deaton

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, uh, we probably could have built four or five more products and all been fabulously wealthy by now.

But right.

Will Vincent

But yeah, I think it does start.

It's I mean, at least, and again, when I'm trying to explain Django to people, I sort of start with it's all starts with the models and you sort out, you know, 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.

Jessica Deaton

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

Uh so I 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 uh 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.

Carlton Gibson

That sounds amazing.

Will Vincent

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

Can you explain that a little more?

Jessica Deaton

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

It almost was like a 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 template language.

That was it.

Wow, interesting.

Very interesting way of handling data.

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

Carlton Gibson

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

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

Yep.

Will Vincent

You you think it's cool.

Yeah.

No, I do, I do.

Carlton Gibson

I'm geeking out again.

Will Vincent

Um series and serializations, that's the you know, that's the the sort of leap when you for APIs from Django, that's that's what people go, like, wait, what's what's 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.

Carlton Gibson

Okay, cool.

Jessica, I wanted to cut back if I could, because you've gone all the way from um coaching you using Django to coaching Django girls all the way to being on the DSF board um via contributing to um Django Con and all the rest of it.

And so I guess you're as good a person as anybody to to say whether people can get involved, and I guess the answer is of course I can, but how to get involved and you know to to point out that that is actually accessible.

Jessica Deaton

Yeah, um I when I when I first started out with with trying to be a part of the broader Djangity as far as Django girls, I was kind of just right place, right time, had some friends that were already doing it.

But I it's actually very easy to get involved if you if you are listening, right?

So we as part of Django Con US, we put out Facebook posts, we put out Twitter um or tweets all the time, inviting people to organize.

Like, hey, do you want to organize Django Con?

Shoot us an email.

Um, and and that's really all there is to it.

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

Uh and and that is unfortunately my story, which doesn't sound as accessible as I want to make it out to sound, but uh we have basically a a brand new organizing team this year.

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

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

Um, 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.

Carlton Gibson

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.

See, 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.

Jessica Deaton

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.

Um, 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 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.

Will Vincent

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 f the first place, you know, to sign newsletter or RSS feed?

What would you say to that, Jessica?

Jessica Deaton

Oh my gosh, that is such a great question.

Will Vincent

We can say a couple, but what what what's the what's the act?

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?

Jessica Deaton

Yeah, I 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 and get you where you feel like you can provide the most and feel the most supported.

Um, that is our goal.

If you have bigger, broader ideas for the Django community at large, email 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.

Carlton Gibson

What's the canonical email address?

Is it board at Django Project.com or

Jessica Deaton

uh DSF dashboard at Django Project.

Right.

Okay, DSF.

Will Vincent

Okay, well, DSF dashboard in the show notes.

Jessica Deaton

Okay.

I think that's right.

Jessica Deaton

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.

Carlton Gibson

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 like or a Django Con Europe and experience the community because frankly it's amazing.

Yeah.

Jessica Deaton

It is.

And that's why I I don't develop in Django anymore.

Um, 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 uh 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 all of those are fine ways to do it as long as we're hearing from people.

Super.

Will Vincent

Well, thank you so much for coming on and sharing your story.

Um, I'm sure it'll resonate with a lot of people.

Carlton Gibson

Jessica, thank you for coming on um the show.

It's been awesome having you.

Jessica Deaton

Thank you so much, guys, for having me.

I appreciate that you gave me the platform to talk about some of this stuff.

Um, I really enjoy the podcast.

I appreciate that you're doing it.