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.