Django Chat

DjangoCon US 2019 - Jessica Deaton

Episode Summary

Jessica Deaton is a conference co-chair for DjangoCon US 2019 and a board member of the Django Software Foundation. We discuss how her involvement grew in the Django community and how others can become more involved too.

Episode Notes

SHAMELESS PLUGS

Episode Transcription

Carlton Gibson  0:06  

Hi, and welcome to another episode of Django Chat. I'm Carlton Gibson. He was ever Will Vincent Carlton and today we're joined by Jessica Deaton. Hello, Jessica. Hi. Hi, Jessica is a well massively evolved 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 you about all kinds of things. 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?

 

Jessica Deaton  0:32  

Sure. Um, 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 bootcamp. And that's where I learned Django, right. They use Django a lot of UT do they do and kind of an interesting ways they actually have a mainframe back end and wrote their own broker exchange to kind of convert all of these strings into stuff that can be used on the web, and they build Django applications on top of that, so pretty cool, different

 

Will Vincent  1:47  

different than most Django developers, I'd say do they do they still have that program because I know a lot of people have come out of that, but I thought they may be canceled that program or weren't doing it anymore.

 

Jessica Deaton  1:57  

They do still have that program. 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 back end.

 

Carlton Gibson  2:24  

So that like embedding the troops, yeah, the report is with the truth.

 

Will Vincent  2:29  

Yeah, so in some ways, six months seems like a luxurious amount of time. That's great. I mean, you know, I said three months is sort of the standard six months his mouth, I had six months to just focus on anything, that'd be great.

 

Jessica Deaton  2:40  

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 ended up being life changing for me. Right? And from you went from beginner that like basically you knew a bit of HTML you said but CSS and stuff but like beginner Python programmer to

 

Carlton Gibson  3:19  

Yeah, absolutely competent. And so did you go from there to a another role or

 

Jessica Deaton  3:25  

so after the six months you are placed in an apartment, you interview with a few departments, but you ultimately kind of get placed somewhere. And then so you started 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  3:53  

Yeah, right. Okay. So it's like any other commercial roll at that point. Yeah, super. Like you have one guy Some said mainframe so. So how are they using authentication? Are they using remote use the reactivate indication back end?

 

Will Vincent  4:07  

They are well let me Sorry to jump into 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, that's way beyond what I know. So far, so good. But yeah, I

 

Carlton Gibson  4:24  

did an episode, we did an episode on authentication backends. And Will's like, well, what's this remote user on? 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 your user accounts in the mainframe, but then you want to authenticate to your Django application. Remote you remote user.

 

Jessica Deaton  4:41  

Yep, that's

 

Carlton Gibson  4:44  

super. So So that's an example massively geeking out.

 

Will Vincent  4:51  

So then, okay, see there for years and then and and then what happened?

 

Jessica Deaton  4:57  

Oh, um, 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 love 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 end language. It was a is interesting. It's very different. very stressful, but I'm glad that I took a chance on learning it

 

Carlton Gibson  5:58  

you building Angular apps on top of a REST API kind of thing.

 

Jessica Deaton  6:05  

So we, it's interesting. So the Salesforce that we're using is more 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, 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 j. s. And it's, we're in the process of rebuilding. I'm not sure how

 

Carlton Gibson  6:44  

much I should know But 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, so but but you say you move from 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  6:59  

Yeah. So I did. I did two or three workshops for Django girls in Austin, one of them, one or two of them just as a coach and one of them as an organizer. And that's kind of what got me involved with Sarah gore and Rebecca kenchi, who were already organizing for Django con us and had worked with Lacey when she was at UT. And so they kind of invited me to participate in Django con us so I started organizing for Django con us back in 2016 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 triplet 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.

 

Carlton Gibson  8:09  

Right? Okay, the bug really comes home now right? Yeah,

 

Jessica Deaton  8:13  

yeah. So I mean, Jeff and Lacey has been amazing and they've still been there to mentor me and and helped me out a lot. 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 I'm I'm just so nervous.

 

Carlton Gibson  8:31  

Yeah, right. Okay. you'll do fine you do fine. Can you tell me about this thing called Death now because you know you hear about Django corn you know about Django you know about the Django Software Foundation but then there's a sinkhole definitely can you explain what that is? Yeah, see around

 

Jessica Deaton  8:43  

so to my understanding definite was formed as a nonprofit derivative of the Django Software Foundation, primarily to run Django con.

 

Carlton Gibson  8:53  

Please so stands for Django events of North America or something similar.

 

Jessica Deaton  8:57  

Yeah, Django events foundation of North America. Jeff is the president. We have several organizers that are actually on the board for I think almost, I think all of the board members for definite actually organized. So yeah. And I, I kind of kicked myself for not running to be on the board for desna. So I made up for that by running for the board for the Tinker Software Foundation.

 

Carlton Gibson  9:22  

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

 

Jessica Deaton  9:26  

I have plenty. My Plate is very, very full these days. today. Yeah,

 

Carlton Gibson  9:31  

that's about you. Tell us about your role on the board, the Django Software Foundation Board.

 

Jessica Deaton  9:35  

That's been an interesting ride. I started off. 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 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, 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 Jango who were contributing code, we're very much just men. 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 triplet at Django con 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. And yeah, 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.

 

Carlton Gibson  11:54  

That's all super

 

Jessica Deaton  11:55  

so

 

Carlton Gibson  11:56  

because I think there's a lot of people who are members of the DSM four Members of the Django community are in exactly that same position where, you know, we all want to make the community better and we want to make them the contributor base more diverse, but how do we do that actionable steps for individual members? Ah, who knows? That's difficult.

 

Jessica Deaton  12:14  

Yeah. Yeah. And it's, it's a very hard problem to solve. 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. 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 service. So I stepped back from that role. And now I'm just I'm kind of watching with great interest, the A 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. 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, and he got a mentoring. Oh,

 

Will Vincent  13:25  

oh, sorry, girl. No, I, I think he will. So I so that came up. Frank Wiles mentioned it right. before it happened. And I think there are over 1000 people who 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 guidance a lot of people who would like to mentor I think he's, I think actually what Jay I think Jacobs volunteering to do it and the person is being paid or something like that. But yeah, but is a great step that I think has a lot of those things where more formalized mentorship, I think, on core Django things. Yeah, the thing though. Cool, Jessica.

 

Jessica Deaton  14:08  

Oh, I was just gonna say, yeah, we were set. 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. 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. Pretty amazing.

 

Will Vincent  14:32  

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. And that's partly why we do this podcast to try to be one, a curated source, but I feel like there's Yeah, sometimes things get lost in the noise or, you know, there'll be things in 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 to and that filtered up also interesting that you think You know, there's just the blog post is just the Twitter feed, there's just a few people in the community and maybe it doesn't get much response and you think the community is quite small. But then when something comes up like this comes up and you get 1000 applicants, you're like, no, it's actually much bigger and much more active. You think it's just a lot of people aren't vocal for reason. XYZ.

 

Jessica Deaton  15:18  

Yeah, that's a really good point. And I think that's something else that, that I, I hope that I can figure out a better way to address but it kind of back to, 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, 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 what's the best way for me to say that and, and I think that we can do a better job of of helping people in the community whether or not they're a DSF member or just somebody that attends our conference once a year. 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 their opinions about what we do in our community and how to make it better and more wide reaching. Yeah,

 

Carlton Gibson  16:22  

sometimes feel that the Google Groups interface is a little

 

linear, sometimes it's a little off putting.

 

Will Vincent  16:30  

I mean, honestly, it was totally shocking to me a year and a half ago when I first saw it. I was like, we Jenga seems modern. But this is, you know, this is 15 years old. I mean, I am now more used to it, but it's um, yeah. Yeah, lots of things to do.

 

Jessica Deaton  16:46  

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 rather, it's the decision Quarter the Google group or 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.

 

Carlton Gibson  17:25  

I'd be interested to see what happens with the Mozilla conversation because they're having this exact discussion right now there where they've got 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. It has to be open to new members. And, you know, it'd be interesting to see what they conclude. And maybe we can jump on the back of that or something like that.

 

Will Vincent  17:48  

It's a good idea. I mean, the problem I find with is often discoverability, which I mean, StackOverflow Does, does pretty well, you know, a discourse, for example, it's hard to find, it's hard to find stuff. I mean, StackOverflow is Really good. I think if you typed in a question or you know, been looking for something saying, oh, there's already existing answers to us, there's no duplication. But, you know, the I think that in the curation, because I certainly thought a lot about it, I get asked to do it a lot. And yeah, it'd 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. And then also, there's a lot of disagreements, you know, there's a certain level just very subjective Django stuff, 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 probably 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 have a post on search. I read a recent post on search and someone in the comments was asking me a question about like, oh my logins not working. I was like, well, the tutorials not on login. But you know, I get it they, you know, there's a lot of people with questions out there. And a lot of people with answers, so, to the extent it can be easy for those people to interact. That'll be, that'd be nice. And you know, I guess to go on that thread ditto with mentorship. I mean, I've been asked, I think by a number of people who teach for a living to be someone's mentor, and it's kind of a big ask and it usually used to be a two way street, but something that's formalized and public that with the way Jacobs thing is I mean, that's that's such a great way to tap into the desire of people who know Django who want to help but not be overwhelmed. And so yeah, that's really inspiring thing to see that as maybe the first of many around these Django things that need to be done.

 

Jessica Deaton  19:45  

Yeah, definitely.

 

Carlton Gibson  19:46  

One difficulty there is the time commitment for mentoring right? It's

 

Will Vincent  19:49  

Yeah, it's not

 

Carlton Gibson  19:51  

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 mentoring as well. Well, how much Time is that and the same with contributing to you know if you can 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. Which see people getting burnt out quite regularly. Because they're not able to say where that limit is.

 

Jessica Deaton  20:15  

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

 

Carlton Gibson  20:21  

I guess. So. One thing I wanted to ask you about was mentoring at the sprints, because it's Python. Yeah, Python just now they have mentored sprints for introduction, introduced, introducing new contributors to the two projects, the Python projects, and they had mentors arranged in their groups, and you could get involved and I just, I saw that when coming back from Django con 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 more mentoring that the Sprint's at Django con events?

 

Jessica Deaton  21:02  

Yeah. And I think actually, last year we we kind of took a step in that direction. Nick James, who is one of the chairs last year brought in somebody to do like an introduction to get 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 Sprint's to about maybe bringing in people to help you workshop your resume or to help you practice for tech interviews. 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 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 pi V and like, I don't, I don't I barely even use Python and My job now I don't use it at all now, but it's very intimidating and we were subversion shops so I'd never used get. And that was just such assumed knowledge at the sprint everybody knew get 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, 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 as there's room for thinking about the run up to the to the conference to the sprint saying Yeah, are you have you got a potential project? Are you running a project? I can't what tickets Can you group together to get the beginners involved in that kind of thing, because, again, there were people at Django con Europe who were, I'm gonna work on this, I'm gonna work on that, but I don't know how organized they were in terms of bringing people on they were, you know, very willing to that there's a difference between willingness and making it happen. Yeah, that's a good point. And I and I think you know, we do a Django con us we usually do have someone in charge of Sprint's that's been Kojo for as many years as I've been involved, and Nick has been helping him with Sprint's, 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 first. 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 follows all the way through to the to the repo because as you said, we've got a lot of male contributors, a lot of white contributors. But when 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'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. 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 Python, I was sharing a room with Michael Harmon, who's

 

Will Vincent  24:26  

very experienced in 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, yeah, just just getting to that. And actually, he submitted a pull request just for the Django doc site, making a doc arised 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.

 

Jessica Deaton  25:00  

Yeah, I think there's also, and I think you you've spoken to this in some of your previous podcasts, as well as the notion of a beginner has very different meanings to different. Yeah. So 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. 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 like simple and easy. I try really hard not to use a right. And I suggest others never use them either because it's completely subjective. And so saying, just just do this, just do this.

 

Carlton Gibson  26:15  

Just Just clone the repo. Just yesterday, I saw

 

Will Vincent  26:17  

someone was doing he's like, Oh, you know that simple. And it's not simple at all. Like it's, you know, same thing with beginner. Everyone's a beginner at something.

 

Carlton Gibson  26:24  

Yeah, I had one idea. So 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, there's just too big a gap between the target audience for Django girls, which perhaps people who've never, you know, never looked at a website before at all to a building wanted me to then contributing to Django is just too big a gap. something in between, we need to get people there.

 

Will Vincent  26:53  

Yeah. Well, actually, on this topic of education, I'm wondering, 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  27:18  

Yeah. Oh, man, that's been seven years. Now. Let me um, I mean, I think, I think one of the harder parts. Actually, interestingly, the Django itself was not necessarily the hardest part for me when learning. 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 I think the harder part for me it was really just the difference between my local development and then actually deploying it. 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 push my code or when I'm trying to migrate things, or Yeah, all of that was was really black boxy and then right at the, the end of my time at University at the University of Texas was when migrations was introduced, we were a little bit behind in Django And so trying to work with the migrations files and and that was, oh my gosh, that was so frustrating. I was just like, Okay, well, I'll just delete all the migrations files and try again.

 

Carlton Gibson  28:44  

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

 

Will Vincent  28:49  

Doing that yes. Table. Oh, I forgot all the time.

 

Jessica Deaton  28:52  

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 image shore developer who isn't gonna take the time to really figure out what's breaking and grow technique.

 

Will Vincent  29:13  

techniques. Yeah. Well, I think I think what you said I, I find that, yes, 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 in the templates. And and I always think, you know, maybe there's a graphical way to show that or I think partly is just repetition. But that's a big one. deployment. Yeah. deployment. Yeah, I migrated locally, why isn't it working? Why isn't 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 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? Well, you can put it in the views, but Then you'll hear people say, well really you should put in the models. That means you need to understand what a manager is, like, Oh, geez. And then you can do, you know, generic class based you can do a class base, you can do function based. And some level I feel like at the heart of intermediate advanced Django, for me, at least is, is a is around that logic. And how you do it is widely. There's no clear patterns. I mean, people will still argue for function class base, and then, you know, get it working versus optimism, kind of the next step, but at least for me, I mean, that's still what I what I sort of the parts of Jenga that I think about a lot and struggle with are that logic piece less so the maybe the structural stuff the you mentioned, you know, when you're first learning out, settings, files, and and yeah, just how it all fits together on the board.

 

Jessica Deaton  30:46  

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

 

Will Vincent  31:01  

Yeah, now you know virtual environments, I will I have to do two different versions of if I ever don't use Docker Now, like I found out, you know, Python 3.7 or 3.6. I, yeah. Yesterday I did this twice, I was nuking something. It is a crazy thing about Python. I mean, if because if you use JavaScript, it's like, oh, it just works like

 

Carlton Gibson  31:18  

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. It's all simple. It's that you haven't got this crusty computer where you've been building the JavaScript applications for last five years. And all of a sudden, you've got all these different versions installed in these different places and didn't Project X only works with version six. And this one works with version 10. And why is why did we go from six to 10? so quickly, what happened there?

 

Will Vincent  31:44  

Like, yeah, all path variables. If I could change something about modern computing, I would just blow that up. I understand why they exist. But seriously, the first time you come across pathways still to this day, I just hold my breath and go Damn, whenever I have to deal with path variables.

 

Carlton Gibson  31:59  

Thank you. Just prepend something new to this.

 

Will Vincent  32:01  

Yeah, just you just get, like 4040. You know, exports long just like oh, just hold hold my breath and it works. Yeah, playing with dot files. Oh my god. Yeah, it was, yeah, I still feel that way. Right. And some people enjoy fiddling with that stuff. But anyway, this was a topic at pi con about, you know, how do we make Python accessible? And what are the challenges? And 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.

 

Carlton Gibson  32:42  

Yeah, I guess, I guess. Sorry, Jessica.

 

Jessica Deaton  32:44  

I was just agree.

 

Carlton Gibson  32:48  

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 the 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, using this language and you might want to put in place a to place B, I don't know, what do you think

 

Jessica Deaton  33:14  

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  33:49  

Well, and there and there isn't really a right way is that, you know, the thing I've realized, which is a little bit frustrating, I mean, it'd be nice if you know you I've had this idea and I should do something about it. 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. And I've time

 

Jessica Deaton  34:25  

that I've spent in a room with several other developers trying to argue the merits of putting stuff in 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 things. We probably could have built four or five more products and all been fabulously wealthy by now, but

 

Will Vincent  34:47  

right, but yeah, I think it does start it. 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 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  35:06  

Now interestingly, at the University of Texas, when we were using the mainframe, mainframe back end, we weren't using models at all. 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 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 our sights.

 

Will Vincent  35:38  

Sounds amazing. How would you parse it on the front end with Django? Can you explain that a little more?

 

Jessica Deaton  35:44  

Well, I'm 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 string of fight a 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, 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.

 

Carlton Gibson  36:22  

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 JSON API, you get JSON back you turn it into a native data structure you pull out now that way

 

you do.

 

It's kind of cool having to write that that kind of civilization there.

 

Yep. You know, it's cool. Yeah.

 

No, I do. I do like

 

Will Vincent  36:40  

geeking out again. Yeah, no one cares and serialisations. That's the you know, that's the sort of leap when you for API's from Genco that's, that's what people go like, wait, what's what's, what's the challenge here? It's like, what's the serializer? What's the d? serializer? That's the, I would say that's the leap with API's from Django itself. Okay, cool.

 

Carlton Gibson  36:57  

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

 

Jessica Deaton  37:24  

Yeah, um, when I when I first started out with 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 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, or tweets all the time, inviting people to organize like, hey, do you want to organize Django con? shoot us an email And and that's really all there is to it. I think people feel like you 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 we had, I think 1510 or 15 brand new people to organizing had not organized a conference before or had not been involved with Django con 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 on boarded them. We got them in as quick as we could and try 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 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 be on the board. And I just filled out a Google form. And that was it.

 

Carlton Gibson  39:12  

So and there you are. The key point you said there was about the time that people have to it's not like they have to commit 20 hours a week, or they can, you know, 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  39:28  

Yeah, absolutely. We have people that

 

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 in it 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. 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. We have, you know, Kojo is our orientation person, and a lot of his work comes right close to the conference. 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 we really have something for everyone. If you're interested in want to get involved, and however much time you have, we can point you in the right direction.

 

Will Vincent  40:29  

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 first place you know to sign newsletter? RSS feed? What would you say to that? Jessica?

 

Jessica Deaton  40:45  

Oh, my gosh, that is such a great question. You

 

Will Vincent  40:48  

can say a couple but what what? You know, they always should be like an action, right? It's like, okay, we've typed this up. It's like, Okay, if I'm listening, now what?

 

Jessica Deaton  40:56  

Yeah, I feel like it really, I think it depends on how you want to get involved, if, if you want to get involved by participating in Django con us and helping us, you know, pick a program that will encourage a wider, 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, email, the DSF board, I mean, we get tons of emails, but we're always looking for one to come in. It's just like, hey, let's try this great idea.

 

Carlton Gibson  41:44  

That's the canonical email address. Is it board Django project calm?

 

Jessica Deaton  41:48  

DSF dashboard at Django project,

 

Will Vincent  41:51  

shift. Okay, well, this is the link to it in the show notes. Okay. I think

 

Jessica Deaton  41:55  

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. Jango Khan 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 Django con. 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 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  43:10  

Yeah. So just even like, even if people don't feel that they can contribute to organizing the conference, or they don't have ideas for the days of just coming to a Django con, or a Django con Europe and experience the community, because rightly, it's amazing.

 

Jessica Deaton  43:25  

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

 

Will Vincent  44:09  

Well, thank you so much for coming on and sharing your story. I'm sure it will resonate a lot of people.

 

Carlton Gibson  44:15  

Jessica, thank you for coming on the show. It's been awesome having you.

 

Jessica Deaton  44:18  

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