From Kenya to London - Velda Kiara

This video features Velda Kiara at DjangoChat 2026 .

From Kenya to London - Velda Kiara
1:17:42
Published February 21, 2026
1,794 views

Velda is a software engineer at RevSys based in London and an extremely active member of the Python and Django communities. She is a PSF Fellow, former Djangonaut, co-maintainer of django-debug-toolbar, regular conference speaker, and Microsoft MVP.

🔗 Links

📦 Projects

📚 Books

🎥 YouTube

https://www.youtube.com/@djangochat

Sponsor

This episode was brought to you by Buttondown, the easiest way to start, send, and grow your email newsletter. New customers can save 50% off their first year with Buttondown using the coupon code DJANGO.

Summary

Velda Kiara describes building a career around Django through open-source contributions, community volunteering, conference participation, and relationships formed at Django events. She explains how moving from Kenya to London brought practical and social challenges, while support from people in the Python and Django communities helped her settle in and join Django London’s meetup organizers. She outlines her Django performance work, emphasizing that optimization depends on concrete requirements and trade-offs involving queries, prefetching, caching, indexing, serialization, and system design rather than blanket claims that Django cannot scale. She also argues that attending conferences, introducing yourself clearly, and having visible open-source work can lead to opportunities more effectively than cold job applications, and begins discussing AI as an aid for experienced engineers rather than a substitute for understanding and judgment.

Key takeaways

  • Open-source contributions and community volunteering can lead to leadership roles, speaking opportunities, and employment.
  • Moving countries involves both practical adjustments and rebuilding a social network, and local community connections can make that process easier.
  • Django performance should be judged against concrete requirements, with attention to query behavior, caching, indexing, serialization, and trade-offs.
  • System-design knowledge helps engineers choose tools based on the problem and its capacity requirements rather than attachment to a particular framework.
  • Conference participation and a clear explanation of what you do can create useful connections beyond sending cold job applications.
  • AI can accelerate experienced engineers’ work, but relying on it without understanding or absorbing the results risks outsourcing essential engineering judgment.

Summarised automatically from the transcript.

Transcript

15,553 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:00

Speaker 1: Welcome to another episode of Django Chat. I'm Will Vincent, joined by Carlton Gibson. Hey Carlton.

0:05

Speaker 2: Hello, Will.

0:06

Speaker 1: And we're very pleased to have Velde Chiara join us from London. Welcome.

0:11

Speaker 3: Hi, it's so have I'm so happy to be here. I'm so excited. I've been constantly following this podcast for one of the longest times in my life, even when I started Django. And now I get to hang out with the Kook K.

0:24

Speaker 2: So yeah. Well we've still I don't know why we haven't had you on earlier.

0:28

Speaker 1: Because you've been Around the Django ecosystem for quite a while now. So for those who don't know, just as quick background, you're a software engineer at Revsys, Microsoft MVP, you've worked with DEFNA, which which runs DjangoCon US, you've worked on the with Django Knots on the updates for the Django News newsletter. You did a fellowship with the Python Software Foundation. Uh let me look at my notes. I'm sure I'm forgetting something, but you're just kinda and and you speak regularly at conferences. We're gonna talk about that. Um so let me start with how do you how do you do all that? Because I feel tired just listing all that out.

1:03

Speaker 3: I know. Like when I'm doing it, it doesn't sound as much, but when somebody else starts saying it, I'm like, ooh, that's a lot. That's a lot. But yeah, it's like all of them are kind of like related. So it doesn't seem like it's a lot of work because if I'm doing j I did Django Not Space because I wanted to contribute to Django And then I got to be a maintainer for Jengo Deboktober through the program because I was an active contributor and I got along well with the maintainers. And yeah, it's like open source and open source is fun, right? And then the Django Events Foundation of America got involved because I attended my first Django Con US and I loved it and I wanted to be present and I wanted to be involved with making it better to like make other people 's experiences better as well

1:49

Speaker 3: and that kinda like happened as well. So they were they were They had an open to they had a call for open positions that you could like apply for and I was like, ooh, that sounds good. And I was like, I hadn't served on a board before, so I didn't know how that's going to be like, but I was like I mean it's it's Django, it's Django Con, so it's not going to be difficult. And that's how I got in.

2:10

Speaker 1: That's how they snuck you in.

2:12

Speaker 3: Yeah, and

2:13

Speaker 2: not difficult and then a lot of work, right?

2:16

Speaker 3: It will I did do some interviews and I had to like justify why exactly I think I'm the right person for the job and I think Yeah, also like listing out things that I have done and commitments that I had before and how that led me to where I am, meaning I also did have like some leadership skills as well, which also helped me through the application if I would say. So yeah, it's like Consistently they're all connected. And then I also got to to be a Python Software Fellowship fellow. Yeah, PSF Python Software Fellows.

2:47

Speaker 1: Yeah, Foundation Fellows. A lot of Fs there.

2:49

Speaker 3: Sometimes I get confused like Is it Foundation? Is it fellow? Which is it? But yeah, I got in both. Yeah. So

2:55

Speaker 1: I try

2:55

Speaker 3: that in both too.

2:57

Speaker 1: Yeah. Sorry, I was gonna say I try really hard not to just acronym everything because I know it's easy for us to do and when I was learning how to code I was so frustrated that all these acronyms and everyone's like oh you know blah blah blah blah A B C D E F

3:09

Speaker 3: Yeah, no, I get that.

3:11

Speaker 1: But now that we get it, it's like another step. We're like, oh what is what is that thing even called? You know, sort of you sort of forget.

3:18

Speaker 3: Yeah. And then that also became like based on the contributions I had done also like technically and also community-wise. I got to be involved with like the Microsoft Most Valuable Professional Program in a way. So all of these things are all connected. The good thing is that it's one thing that's like all these things. So yeah.

3:39

Speaker 1: Yeah.

3:40

Speaker 3: And I love the jingle community. It's like the most in it's like the most like I get to have a lot of fun. Like I get to meet you. I get to meet Carlton and I and have conversations and I'm like What? Well I love it.

3:55

Speaker 1: Yeah. Well I think that's the the thing that you said is y there there are these openings, but it is it's a lot of work. It's also um You do get interviewed, you get a lot of responsibility. And part of the open source thing is like it's like how much can you handle? And so people are very op open and welcoming, but there is a lot that happens behind the scenes for events, for the code, for everything else. So

4:17

Speaker 3: Yeah.

4:18

Speaker 2: But but volunteering really is a way to get sort of get deeper into the community, right?

4:24

Speaker 3: Yeah. And you have to enjoy it too because uh other than having like a lot of work, you get to engage a lot more with like people. So you also get to like develop like really good social skills and also get time out of like, hey, like I've been interacting with people for a while now it's time for timeout, but I'm gonna be back.

4:48

Speaker 1: Yeah. Well people I think people are good about recognizing though that uh you know not burnout, but like you don't wanna Burnout people. But yeah, if you say I'm just gonna take a little step back, I think everyone who's been in the community for a minute can appreciate that.

5:05

Speaker 3: Yeah, and I mean it's it's all good. Like we all appreciate every amount of effort, whether you can do it for a day or like a week, it's all for the benefit of the community. And I think that's That's how the community grows. That's how I get to be here. That's how I get to even talk to you right now. So yeah, I'm excited.

5:22

Speaker 2: Okay. You're in London now, right?

5:25

Speaker 3: I am It is well, first of all, I got to like I had to get used to like having weird days where sometimes it's like longer days and we have like nighttime at 10 PM and then I'm like, oh, and now like darkness comes in at three PM and two PM and considering like like I'm from like Kenya and Kenya is like we get equal sides of the day and night. So it's like the sun's up when the sun's up, the sun sets and the sun sets, right? And so everything is like uh really balanced and we also have like really good weather. So when I came here it's like negative something degrees and they're like, oh, it feels like negative eight, but it's actually negative two, and I'm like, why?

6:10

Speaker 2: No, I neither of those are good.

6:13

Speaker 3: Exactly the way nothing's helping. So I had to like get used to like different clothing, having warmer clothes and getting to also meet other people here as well and getting to interact with like other people who are also moving. So I think London is like the seed spot of like most of the people are also like moving in and other people are moving out But it's always like like it's so inclusive as well. It's like there are a lot of people who are also moving. There are a lot of people who are also navigating. And yeah, you get you just find other people who are doing the same and then you start bonding over things that are different.

6:47

Speaker 2: Yeah, yeah. Okay.

6:48

Speaker 3: Yeah. But I remember um uh right now it's going to be like uh a year in February 17th, so I'm gonna be celebrating a whole new year here. I'm excited. I'll probably get a cake or something. But yeah, I wanna I wanna celebrate the change in weather and the change in life and everything. And I mean some of the uh Some of the things that really shocked me is like and something that actually I had to figure out was the whole assembling of furniture That was the most weird thing that I've ever done. Like normally, so when I order a bookshelf like back home, I'm always like, I get I get it delivered because it's It's already built so it's just like, okay, here's your bookshelf, navigate out to get it to your room or your house and then that's it.

7:36

Speaker 3: I'm not assembling anything I order your bookshelf here and I almost cried assembling it because it's like different pieces and it's like a weird color and it's like I had to figure out which nails go where, what does what, and I was like I can't do this anymore.

7:53

Speaker 1: It's like adult Lego, but you don't want to do it.

7:56

Speaker 3: Exactly. And I was like, why? And actually when the delivery person was handing it to me, I was like Are you I don't think exact are you sure it's the right one because I ordered a complete one

8:09

Speaker 1: Yeah.

8:09

Speaker 3: So it's like one of those things I'm like, well, now now I can assemble bookshelves and I look forward to assembling things. And I'm like, mm.

8:17

Speaker 2: It's a useful skill, you know, and you move in and you need to get up and do stuff

8:21

Speaker 3: Yeah. And it's like, you know, it's like figuring it out like life all over again because I need to figure out what food do people eat, what do people like buy, like what should I be wary of like what are things that I should not touch in terms of also like food, which restaurants do people go to. It's like figuring out all these things all at the same time and still being able to do work and Life things and I'm like, oh yeah. I was like I I didn't I didn't subscribe to this level of adult thing, but here we are

8:54

Speaker 2: It's hard work moving country, right? Because you take yourself away from your whole social group, your whole social network, your family network. It's like you're there on your own or with one or two people, and it's like, yeah, okay.

9:05

Speaker 3: Yeah. And I remember we had this conversation also at like uh a Jinganaut space, was it dinner or hangout? Uh at Jingle Carney West when you went there. Yeah, and I was like So I know you've lived in Spain and I know you've lived in the UK and you didn't even ask me how I knew that, but I was like, yeah, I need to talk to people. who 've also like done move like moved countries before and I was like, this is the person to talk to. And weirdly enough, I also have like the option of like trying to figure out other countries other than the UK, maybe figure out Spain. But then when you look at the different opportunities there are and how easy would be to like get from one job to another, the UK myth made so absolute sense. And you were like, yeah, I mean, you're young, you got this

9:51

Speaker 3: I remember you specifically said that you were like, you're young, you have grid, you still have energy, go do it. And I was like

9:59

Speaker 2: , You still have energy, just keep it there. Still have energy. It's like you know J flow chart. Should I do something? Yes or no? Have you got the energy?

10:08

Speaker 3: Yeah.

10:09

Speaker 1: Yeah.

10:09

Speaker 3: Yeah, and I was like, Carmelton said I need to move and I'm like I'm just gonna ask him for recommendation or stuff that I find difficult. I'm like, well at least I know he's lived there, so yeah.

10:19

Speaker 2: Yeah. I mean just from the I mean, uh we live in Spain, obviously. Um and Spain like just but coming to the from t to Europe or the UK from outside, it's like, well The UK still has a higher GDP per capita, it still has more economic activity, there's still more commerce there than there are in Spain. You know, the the richer countries generally are to the north. Um and there's you know the cost of that is the really early afternoons this time of year, right?

10:50

Speaker 3: Yeah, before it starts getting dark in like a few hours.

10:56

Speaker 1: I'm excited for I'm getting deja vu when I moved to San Francisco, which same country but three thousand plus miles away. And I recall the first year was sort of overwhelming and exciting and and then I think probably the first, the second year was my favorite part because It was like everyone's new, but I knew people and it was like this sort of Goldilocks moment.

11:16

Speaker 3: Yeah.

11:16

Speaker 1: And then at least for me by year three, because it's like a transient international place people had already started leaving and um I suppose it's the same with any place, right? You sort of ride that curve of like, oh my God, oh things are great and then like, yeah, it's okay. Um, like the, you know, when you get old, like Carlton and me, the thing about transient places is like, you know, people come and go and it gets a little less exciting. You're like, oh man, they're gonna Come and say a long way of saying I think the next year will be even better for you. Um and I'll be curious what it's like in, you know, years three, five You know, because you'll see you'll see those newcomers and be like, oh, I remember that like first year energy.

11:54

Speaker 3: Yeah. Yeah. I think what really helped is that I also like got in touch with uh Chook and Adam Johnson who are also like in the Python and Jingle communities and they were really helpful. Like I was like, yo, if y'all weren't in my life right now, I don't know what I'll be doing. Because it's like Chick was showing me around and she was also telling me like the good spots to like also shop for like thermal clothes and Adam took me like knife shopping because apparently there's just exclusive shops like like sell knives because they're not like readily available ever because of stabbings that happen frequently. So even when you're getting a knife you actually need to like have an ID or have an idea and like have to have like a permit of like carrying the knife from the place you are in to like

12:39

Speaker 3: your house.

12:40

Speaker 1: Like it's a lot and I was like, that but I'll just say that's not like the US.

12:45

Speaker 3: Oh I I don't know, but I actually got frustrated when I was looking for them and everybody's like, No, we're not selling knives, not selling knives. I'm like cooking knives then? Maybe that is more specific But yeah, like they've been really helpful in also like or helping me understand how the city works, the transportation system and how to get from point A to point B faster route options and all that. So yeah, the community does work. Even in life

13:12

Speaker 2: Yeah. And you've be have you been going to the uh Django London event? I always they always on the socials with it, I'm always like, Oh, I would go, but I'm, you know, that 's what

13:22

Speaker 3: Jingle Landon is still thriving. We actually have a meetup this Thursday. So yeah, I also got involved, courtesy of Adam. And I'm also like involved with organizing. So in case any of you are around, we could figure out a way to get you to speak to our meetup people as well. So open invite come through. Maybe next week might be fun.

13:45

Speaker 1: Yeah, I think there's gonna be a little time lag on uh when this episode comes out, unfortunately. But it's an ongoing thing, yeah.

13:52

Speaker 3: Yeah. It's a monthly meetup, so it's definitely going to be there every every month. We do it once at least every month. So maybe you can come in in the summer when we have good weather.

14:04

Speaker 1: Well s so talks speaking, I wanted to ask you about a recent talk you gave. I think was it Pi Cascades around Django optimizations and performance?

14:14

Speaker 3: Yeah.

14:15

Speaker 1: Um so we'll put a link to that. I I thought that was great. That was a really great overview. And um let me put it to you. What's your talk? What was the kind of impetus for this talk and um you know kind of the highlights? Because everyone says, oh, Django performance, but then doesn't really know where to go. And you laid it out really well.

14:32

Speaker 3: So that's exactly why I I did that talk. So I had like different conversations with people and they were like, Yeah, but don't use Jenga because you know it's it has performance issues when you start scaling in like different places and I'm like Like have you used it though? So mo my question is have you used it? What issues do you have? Because I mean, even Facebook users like uh Django in a way and I'm like in is it Facebook or is it Instagram? Like

14:59

Speaker 1: Instagram. I mean it's fast enough for Instagram. So

15:01

Speaker 3: Yeah, and I'm like, and we're all camping in Instagram. You shouldn't out. Like we're not seeing the reels and videos and we're not liking all those things. And it's built on Django so I'm like I mean if they're using it there have a they have a lot of users so what's the problem So most of the times when I hear like um opinions like this, I'm always curious, okay, why are you saying that? Like what use case do you have? Because I'm like I know there's definitely different use cases that might not work and that's understandable, but just saying it because of just saying it didn't make sense to me. So I went and did a whole talk on it on Pie Cascades. That was like last year time, like now, actually. So it's really neat that it's also coming out right now when you're asking me this question. And so

15:46

Speaker 3: I wanted to dig into how you could also like increase performance and how that would look like on your app And not just for people who are scaling, but people who just want optimal performance year round. And so when I looked at that, I was like, okay, what are the things that we could actually talk about other than the common things like So leg related, prefetch related, caching and indexing, right? And then also when it comes to indexing, they're like different trade-offs right you can't index every single column like that doesn't make sense right and plus it's also creating like a different data structure which means it's also like getting using up more space than you need So all these things, and I'm like, nothing does something perfectly all around, right?

16:33

Speaker 3: That's that's something I came to accept in the in the software space. Like everything does something really well, but not everything. And that's why we also have like different libraries and different packages. And I'm like, yeah, it works, but to a point. So you just have to figure out what your point is And then work on that. And that's how I actually approach the talk as well. And I talk about a lot of like um A shorting as well. I talk about serialization, which also ties out to like a marshalling that I had on my newsletter last week.

17:10

Speaker 1: Yes. Yes.

17:12

Speaker 2: Yeah, yeah, yeah. I like I love the newsletter, little interlude here on on your newsletter. It's super. It's

17:18

Speaker 3: Yeah.

17:18

Speaker 2: You write that every week, no?

17:20

Speaker 3: No, it's every fortnight. I used to write it every week, but then I was like, I don't have enough stories to tell. And like what's good about my newsletter is it's called the story you tell of by tales. So I'm like, I love telling stories. I love telling people about what's going on, what's fun to do. And this time I had to do it differently because I was doing a course in system design and they mentioned something about marshalling and I was like, oh, that seems interesting, but I don't know what that really means. So I had to like put a pin on it. And then that same week I had a meeting with like Jeff and Frank and they also mentioned Marshall. And I was like, This is a sign. This is a sign. And so On the newsletter I had to like define what marshalling is in the concept of in system design

18:06

Speaker 3: and also in Django. So in terms of system design, it's basically trying to uh change data into a format that's easily transmissible in like run times and different processes. But now in Django it I wouldn't call it specifically marshalling, but I'd call it like serialization, what Django Rest framework does really well. But then it's also like transmits like data right to the to the API and from the API because that's what serialization is, like changing the Python object to JSON and deserialization back. So it's like It's kind of the same thing, but the only thing that's different is that system design is more like diverse. I would say is

18:51

Speaker 3: much more larger in terms of scale, but when it comes to Django, it's very specific to the Python objects. And so in this case, serializers actually act as marshals. And that was like It's like I was like, it's just serializations. Like I wanted to say like clarified serialization, but I've not done system design enough to to actually say that for certain. But yeah, it's like one of those things that you look at and you're like, oh, so I've been doing this this whole time and I didn't know what that was Exactly. It's like, oh. And then also when I started getting into system design, I really wanted to understand like how do people get like the calculations of how many seconds this results you how many seconds you're getting the results

19:36

Speaker 3: how like how everything ties up and how do we actually define how many servers do we need, how many like data do data storage do we need? And I was like I was curious about that and that's how I ended up in the system design course and that led me to marshalling and now writing it on my newsletter. So yeah, it's like a lot of interesting things that I come across of and sometimes like in the newsletter I just like like highlight things that I have done during the week. So it might be like a crazy story or maybe how difficult I had assembling a shell. for a quick laugh and then or maybe like things or maybe if I visited somewhere and I think it's like a good recommendation for people. So yeah. The

20:17

Speaker 2: secret of longevity is to go every fortnight, every two weeks.

20:23

Speaker 1: And take the take the summer off if you need to, you know

20:26

Speaker 3: And I saw that and I was like, wow, y'all are taking vacation. I was like, I wanna do that in my life. Like I wanna take vacation and not do a lot of things.

20:35

Speaker 1: No, it's called the sab in in the United States on LinkedIn it's called sabbatical You don't say like, you know, retired or semi-retired or, you know, taking a year, a fun a was it fun employment. You gotta say sabbatical. That's like the MBA version. Sounds vaguely academic, but

20:50

Speaker 3: I mean it does sound fancy. It's like, yeah, I'm rich enough that I can take time off and I'll work.

20:57

Speaker 1: Yeah.

20:58

Speaker 2: I would play

20:58

Speaker 1: all those Go carrot then.

21:00

Speaker 2: Well, I was I would say that all of that um system design and capability uh capacity planning stuff that's gonna serve you a massive stead because it doesn't matter what language or framework you're using, like there are some sort of kind of engineering basics which if you haven't got it's you you're kind of guessing whereas if you have got them you can do the calculations up front. That's really useful. It's really useful learning to have, I think.

21:22

Speaker 3: Yeah. And I was like, I mean, I want to be in the same level of engineering all of you are at, and you you already have like a lot more years so I'm trying to compensate by gett learning a lot more at a faster rate so I could also like catch up.

21:37

Speaker 1: Yeah no well I I'm thinking there's that phrase, you know, you could do you could have ten years experience or one year of experience ten times. And I think doing what you're doing of like going the upper level of saying, oh, like there is this pattern. I can name it. I can see it in Django. That's how you get 10 years' experience instead of right. It's it is very easy. I certainly have succumbed to this of just like being so focused on the task at hand. You never get the bigger picture. Whereas I don't know, Carlton, I would say now I feel like the only thing I have is some degree of a bigger picture and the confidence to like be able to dive in. Because I can't possibly remember everything. But I'm like, oh I kind of know how this thing fits together or I know how I would go tackle it if I needed to. Whereas when I was starting out, it was just everything felt new and overwhelming.

22:23

Speaker 2: I think the I think experience gives you like you come to a problem, it's a fresh problem, but you're um immediately cutting it up into some ways that it might work. And it may not you you have to implement it and see, but

22:37

Speaker 3: Yeah.

22:39

Speaker 2: Exp experience gives you that ability to kind of start planning it before you even finish reading the problem statement. Like it's you know gently. Um so I don't know. But yeah, that will sound super

22:51

Speaker 3: Yeah. And I think one of the things that I get to like appreciate once you start like looking at things in from a system perspective is that nothing is ever tied to a specific technology. That's why I said once you find your point, then you start working from the point that you had. It's not like I am attached to this tool. It's like, no, which tool does does it actually work best with? And it like detaches you from like all the tools or everything that needs to be like any tool that you need to use to build it out and just like looking at the problem and being like, this are the calculations that we have, this is the amount of space that we would need. These are the list of things that we would like to accomplish and this is like the output of what we expect the system to to be or to do.

23:36

Speaker 3: And that really helps also when you're working in Django because then you know why this is needed and it's not just building it out b for the sake of building it out.

23:45

Speaker 2: And and swinging back to your qu your talk about performance and, you know, people saying Django doesn't go fast enough, when you've actually got a service level requirement that says, oh, we need you know, ten thousand requests a a minute or whatever, it's like well Django will satisfy that quite easily on quite a small box. So why are you worried about going faster?

24:03

Speaker 3: Yeah. I think the point where like there is a client we were working with and we had like issues with cashing a lot, so we consistently had to like bust out of caching and I'm like I thought caching works. I thought it would work on every new skin. I'm like, what is going on? And I was getting frustrated because Jeff was giving me that ticket because it's like, I mean, you did it first, so you gotta see it through. So it's like I have to make sure that it works and it it's one of the reasons why I think it would break is because we were loading up like 30,000 results in one page and inside the 30,000 results are like 15,000 each. So I'm like I mean it can only work to a point. So we had to consistently like

24:49

Speaker 3: figure out how if the user wants results immediately because I mean it's a user and they need to get what they want. They need to get what they paid for. So had to figure out, okay, so we're not gonna cash this for a while or we're going to be basting out of cash in case there are changes. And it's like Mmm, working with different clients is both interesting and challenging, but you always get the most bizarre feature requests and I'm always like, wow. Well, I'm interested to see how I figure that out.

25:19

Speaker 2: Okay. And how do you find the context switching there working with lots of different clients

25:24

Speaker 3: Honestly, for me personally, I feel like it's it's the best because I get to work with like a lot of things that I don't think I would have worked with if I only did one product or one project. And I really do appreciate that because I also get to work on open source. I get to contribute to like Django Health Trick. I get to work with other people's libraries as well and contribute to them. And I also get to build different projects every couple of months. Maybe this month or the next few months I'm going to be working on e-commerce and I'm I need to figure out okay how do payments work in other places, in other locations? What what are we expecting And in other situations, like right now we're working with like a payment payment I want to say payment platform service, but yeah, it's like something in line with payment.

26:12

Speaker 3: And so every project is different. Every need is different and every request is always different. And that's what I look forward to because there's always something new to learn. And I feel like That just excites me. I'm like, okay, let's see how we do this one. Okay, let's see how this one goes. So it's like, ooh, I'm like I d I don't get bored is what I Say. So it's it's constantly new things, new issues, new projects. And I like that and I appreciate that.

26:39

Speaker 2: Yeah, and it's a good if you've got the energy and you've got the enthusiasm, it's a really good environment in which to, you know, do the ten thousand hours, right? It's

26:47

Speaker 3: Yeah. Yeah. And I also get to like work with a really good team of like people who've been in Chango and I'm like sometimes we're like in meetings and they say something I'm like I don't know what that is. How do you do that? And it's like also like getting like some of that experience from them when they're like listing things and they're like, oh, you could use this package. And I'm like I didn't even know that package existed. I don't know what it does.

27:12

Speaker 2: Yeah, it's good to have that support. If you if you ask him nicely, Frank will teach you Pearl

27:16

Speaker 3: as well.

27:22

Speaker 1: I think it's fair to say too, there's there's consultancies and there's consultancies and Repsys is, you know, one of the better ones. Uh and also the clients You know, you're not just doing crud auth real estate websites or something all day long, which, you know, I get it, but Consultancy is a wide spectrum So

27:38

Speaker 4: Yeah.

27:39

Speaker 3: I mean I I I had the chance to work with one of the best people who are also actively involved in the community. So they also appreciate like community efforts and they're like, Yeah, they fully support it. And I'm like I don't know, it's it's like an ideal place for a jingle person to work at. And it was really difficult to also like figure out like what projects or what um when I was choosing this career. Well, actually I chose it and then I realized that oh I needed to specialize and there are not so many options because Most of the options that I was getting were like JavaScript based. And I'm not saying JavaScript is bad, but that's not what I wanted to do. I wanted to write Python every day. And so if I want to try Python, I started working with Django and I was like It would be really cool if I got involved with a company that does that.

28:26

Speaker 3: And that really reduces the choices that you have because most of these companies don't also hire every single time. And I'm always like Wow, how do I get into this job? Like how how am I going to manage getting a job? And so uh I actually met the team at uh DjangoCon US, my very first DjangoCon in 2023 It was in Durham. And I actually didn't know that people had like Jeff or Frank had a company. I was just like talking to everybody who would like listen to me and be like Hey, I'm doing a lot of open source C just in case you have something, let me know. I'd be happy to do it and stuff like that. And

29:01

Speaker 1: was that at um sorry to interrupt, was that at the um The like night before uh thing at like the pizza and beer place. Is that I think 'cause I think I think uh I was uh I don't know if that was the first time I met you, but I definitely we met we met there, like in person. Um is that the first time you met Jeff and Frank

29:18

Speaker 3: Yeah, the first time I was also meeting you was was actually the first time I was meeting you.

29:22

Speaker 1: Okay, 'cause Jeff and I had gotten margaritas like before and then we walked over and um okay, interesting, tying all the circles together. Yeah. Wow. Well I mean God, like For me it's like a blip and then for you to go from that to where you are now, that's that's kind of crazy. That's so fast.

29:40

Speaker 3: I mean I was like It's because like I try to do as much as I can, even with like the little I have or the more that I have because I'm always like, I don't know if I'm ever going to get this chance. So I'm like I'm gonna use it to the best that I can, meet a lot of people. And also like meeting you for the first time, I was like, why is an author talking to me? Like aren't you like beyond me? Like are you?

30:02

Speaker 1: See Carlton, this is what I need from you, Carlton. Come on, a little more deference

30:06

Speaker 3: So yeah, like I was like you're actually

30:10

Speaker 1: one of you brought the brought the book and I was like, oh god.

30:17

Speaker 3: here and listening to me and getting me to ask you questions and get to answer me and not have like I I wanna say pride but yeah and be like so down to earth and I'm like Wow.

30:28

Speaker 1: As I've said, that was when Carlton agreed to do this podcast, that's how I felt and still feel. So, you know, it all just filters around. Um

30:37

Speaker 2: I think I think what the story you've just told there, Velder, is a really good example. People are like, How do I break into the Django community? How do I get a job in in Django? Well, there are a lot of companies out there that are using Django that don't label themselves as Django shops, but you know, to turn up at the conference and actually, you know, make sure you introduce yourself to everybody, you know, make sure you're really out there and just say, hey, I'm doing this. I'm volunteering and look at me. This is my profile. This is what I'm doing.

31:00

Speaker 3: Yeah.

31:01

Speaker 2: How it's gonna work, and it's gonna work a lot better than sending out, you know, cold approaches on LinkedIn or I got, you know, some mass mensongist spam the other day. You know, like

31:10

Speaker 3: Yeah.

31:11

Speaker 2: It's gotta have zero response, right? To get out there and actually put yourself in the community.

31:16

Speaker 3: Yeah.

31:17

Speaker 2: That's how you get into it.

31:19

Speaker 3: Yeah. And I mean the reason why I actually resulted to that is because I realized like most of the applications I was getting like to the last stages and they'd be like, Oh, because of your location it's gonna be like difficult to like and I'm like But despite my location, you can do I can you can see I can do the job so what's going on. And so I was like, wow, if the job is not going to come to me, I have to go to where the jobs are. And that's That's the baseline I had for going to Jingle Con US. I was like, I don't know if anything is gonna pan out, but I just wanna go have fun, meet people, interact, and maybe eventually someday in my lifetime I'll eventually say that I got this. So Yeah, and it worked out great. And most of the times I'm always like, I cannot believe that I was just talking and it wasn't like an official talk.

32:08

Speaker 3: It was just like chats. We were having like I think dinner or was it drinks and like I I just mentioned like hey I'm looking for something that this is my job profile. Well actually I didn't say job profile but I said yeah you can find me on LinkedIn. I use my official names And in like a couple of months you were like, Hey, yeah, we have this open source thing that we're looking to upgrade. Would you be open to doing something? And I was like, Yeah. And I mean I was like, I was very flabbergasted. I was like, You remember? I was like, I didn't like it wasn't like um actively being like, hey, I need a job, where are you? Here's my CV, call me back and all that. It's like No, I actually wanted to interact you firstly because you were a person and I've seen like interesting things you've worked on. And that's for people, they also say like

32:55

Speaker 3: you've done a lot of open source stuff. So if you want to talk open source, go to him, talk to him. So I was like, okay.

33:01

Speaker 1: Well I I think that's the key thing is that you presented yourself as like, this is my background, this is what I'm looking for. You're not asking everyone for a job, you're just saying, can you help me? Right. So then someone may not be hiring, but everyone knows everyone and they can say, Oh, have you Right. Like that's I mean, I used to think of this when I was, you know, in Silicon Valley for a brief period of time. People from my school would call me and I would always think, you know, you could ask me how like what the job is like, or you could ask me for a job. And I'd rather you ask me for a job. But like not me specifically, but say, hey, I'm a business student looking to break into startups. This is what I want to do. Here's my profile. Who do you know? Um That's much strong, you know, or I'm a software engineer. Like it's so much stronger, it's so much easier. And again, it often is the case that it's like lodged in someone's mind, and then when they hear, oh, someone's looking for something, it's like, oh yeah, have you talked to this person?

33:51

Speaker 3: Yeah. And I think yeah, and I also think like ha doing open source actually really helped because then they could just look at like contributions I had made. Because that's like, oh yeah, you worked on this feature on this project. You've worked on a couple of projects as well. I do think that really helped because when I was also hunting, I was like, I don't wanna just do nothing and just apply for jobs. I wanna actively participate in like things that I wanna do. So eventually something if something happens, it does. Otherwise I still get the skills. So yeah, it's like It's tough out here and now with AI, it's like, mmm, it's not gonna be a nice a nice environment because I'm like It's a lot. Like, there's a lot.

34:37

Speaker 1: Well, but at the same time, I mean, you know, I think what you just said about how you approach system design, like I was telling Carlton before we started recording, like so I've been using really trying to use, especially Claude and and starting to use Codex with Django stuff. And like I've never s it's never written something that I would pass off as my own in entirety. Now it's probably trained on my code and Carlton's code, you know.

35:00

Speaker 3: But like

35:01

Speaker 1: it's like if I you know I don't know, that's that that's the mental thing I have is that like I use it, it's great for referencing, it's great for ideas, but as a replacement It seems like an accelerant for someone who's eager to learn, go to the next step. It's a great tutor, but to say it's going to replace the knowledge that a human has misunder it just misunderstands what a software engineer does. Yeah.

35:25

Speaker 3: I think what you said is like really good, but I also think right now most people who are benefiting are people who've had like a tremendous amount of experience. people who've seen like different problems, how to approach different problems. And I think like as you said, like you and Carlton have a lot of ex Experience, you've built out systems, you've broken systems. So even when something breaks, you already know where where the potential problem is. And I think With a number like with a good number of experience and like trials and errors, I think you have a good baseline to just be like I don't wanna do the grant work. Let me just write a spec and that AI handle and then I could review, right? And that works perfectly because I mean you've already accumulated a lot more and so right now it's just like basically upgrading what you have

36:11

Speaker 3: or using constantly using what you know and learning some other new things. But then the challenge comes in when people want to replace like their brain functions with AI was like outsourcing decisions to AI. Like you can't say hello to someone without referencing AI or telling AI to like, hey, respond to this. And I'm like That's where I think the issue comes in. It's like, mmm, I think you can still be human and do like normal brain functions instead of outsourcing your brain. And the other thing that I'm pretty worried about is like right now with like early tal like early talent How like you can use it as a good research point, which I think it does really well, but then if you start using it frequently without absorbing the information that you're getting

37:03

Speaker 3: then it just thinks for you. And then I mean it could think to a point. Like it's not going to be like a hundred percent sure. And how true do you know that whatever it's saying is okay if you don't know even what the truth is or what the actual source of information is. So there are pros and cons, but I do think the people who are thriving the most with AI are people who are experienced and people who can afford to be like I don't need to use all my time doing this groundwork when AI could do it. The other people who are struggling are people like me who were trying to level up and trying to figure out what's the best way to work with AI without necessary necessarily impacting my brain and c and like having like

37:49

Speaker 3: retaining content and retaining information. And so I don't know, those are just like different conversations to have. I mean I don't know. It's like it has disrupted how everything used to work in a good way and in a bad way as well. Because it's like, okay, so how are we going to conduct hiring? So are people going to be allowed to do use AI? in interviews and then how does that look like for the company? Like how do we know that this person is actually really good at what they do, or if it's just a flake or a fluke So I don't know. It's like it's a

38:24

Speaker 1: I s I saw there was a headline and I know it's like clickbaity that like Y Combinator, instead of like having people apply, was just gonna evaluate evaluate you on your prompts. md file. Like they're like, oh that's the only thing that matters how good your prompts are.

38:37

Speaker 4: And then

38:38

Speaker 1: that like that's not the onion. Like there I you know, I mean that says a lot about YC um these

38:43

Speaker 3: days. Yeah.

38:44

Speaker 1: But Yeah. Well well let me ask so specifically though, so for you, right? So you do client work. The client just wants it to be correct. How do you so that's good in that you You can use it however you need to use it. You're not being forced to use it. If it helps, you use it. If it doesn't, you don't use it. But how how how are you using it? Because Jeff has mentioned that you are using it and finding ways. I'm always curious like how, you know, what are the positives that you're finding for using it?

39:12

Speaker 3: Okay, so I'm using it as I say like a source of information where I don't have to go through Google results and be like, oh, this is this is a hundred things, this are a hundred articles. I'm always like, hey, I'm looking for resources on let's say Nats because I used Nats previously Like who has written an article on Nats that uses Django or Python that I could look at? And then I'm like source because I'm always like source. I don't want to do that. So that me too.

39:36

Speaker 1: That's the key thing that people don't do is I'm always like, give me the source Right? Because it won't unless you ask it for it. Yeah.

39:42

Speaker 3: Yeah, like I don't want your opinion. I don't know if you're telling me the truth or not. Right. And you know, AI wasn't built to tell you the truth. It was built on existing data. It just gives you output. It just gives you feedback. That's like I got into a hole of like researching LLMs with how they train everything. So I do know that it was not trained to tell you the truth. It was trained to give you information. The information is entirely up to you to figure out if it's true or not So I'm very cautious about that. So if I'm looking, um, I usually use it like that and like resource stuff because sometimes I'm like I would like to use it in like code and be like, hey, write this, write that, but I'm always like iffy about it for some reason because I'm like

40:27

Speaker 3: Okay, is it going to think for me? Is it like how do I work with it? And I think I've mentioned to Jeff this as well because I'm always like Most people like to use it, but at the same time I'm like, I'm still like doing a lot of interesting things and I don't even want to outsource that trial and error, that struggle. of learning to AI. So I'm like, I don't know if I want to outsource that. Like using it to debug like JavaScript because I do not like writing JavaScript, but I have to eventually figure it out. I do use it to like uh debug JavaScript research and I think the other use case was like if I'm trying out a model I'd want to see how the test would look like so it's like shows me like a mock-up of test and then I could be like okay maybe I could think in that line but touching my code

41:13

Speaker 3: nah it's I'm always like no I'm not trying to do anything funny and I'm always like using it on chat. I'm not audacious enough to have it in my in my terminal. I'm not audacious enough to have it change anything. I'm just like keeping it at arm's length and trying to also make sure that I'm in the correct space of consistently learning and trying out new things because I mean how else are we going to learn at this point?

41:41

Speaker 2: You've got to take the long view on your career and like a little bit slower now for continuing to progress so that in five, ten years time you're a top-notch engineer, that is going to pay dividends whether you're using AI or not. Like however it rolls out, it's not going to be the case. Well not unless these machines get suddenly much more capable than they are. But it's not going to be the case that the human isn't needed, that the skilled engineer isn't needed. And if you just lean into them totally, you won't be a skilled engineer.

42:12

Speaker 3: Yeah.

42:13

Speaker 2: Whereas if you force yourself to learn, you will.

42:16

Speaker 3: Yeah, I mean there I mean there are pros and cons for everything. As you said, even when you're doing performance in Django, there is like trade-offs that you need to think about. So Technically it's like the same thing, but I'm like I don't know if you also know enough that like how everybody's saying like, oh, we're going to do a lot with like medicine and all that and I'm like The same thing that's giving me weird results is what we're depending on for like medications right now. I think we we have some Long way to go before that's possible, but okay.

42:54

Speaker 2: you know, they know the facts in a way. They can pull out the facts and their their training data, but they're not able to take a history and interpret it in a way that leads to a diagnosis reliably. Yeah, in some limited cases maybe, but not

43:06

Speaker 3: Not okay. Yeah.

43:08

Speaker 2: Not like your general practitioner is going to be replaced by a machine anytime soon.

43:11

Speaker 3: Yeah. And I think that oh sorry about this. So there's like a use case that I had. So I had a delivery coming in with like a different system and so to get like to the customer service you had to go through a bot. But a bot doesn't have all the use cases. And so I was stuck on the bot for a while and then I had to like I had to like use weird like issues that people had higher that had like shared on Reddit so that I could like figure out how to bypass the bots because it was an actual problem that You as long as your issues are not meeting what the bot needs, it's it's just going to be stuck in the same process. And so you don't get like also to contact like customer care. And I'm like, but I know we want to replace like the the customer support and with AI, but there is no like

44:00

Speaker 3: learning loop and there's no like human who's like on standby if like there's a persistent user who's having problems. So I was like You're actually turning away clients and customers because from my experience I'm never using that company again and I don't care if they build a new world or they do whatever, I am never touching them ever again. And so it comes down to like also in terms of like businesses that want to embrace like AI and a and other different tools. I think it is okay because sometimes it makes sense business wise, right? But it might not make sense to like m for me as a user, but business wise probably makes sense. But then when I have problems, how are we going to work together? Because I'm technically giving you money

44:47

Speaker 3: and you're giving me a service. So if I'm not giving you money for your service So how how is the business working again? So I don't know, it's kind of like also like different edge cases. Maybe to somebody else it does really make sense, but to me at that point it was like, no And considering that there was a long Reddit thread, I do believe it's a real

45:10

Speaker 2: Other people feel the same.

45:11

Speaker 3: Yeah. Yeah Yeah.

45:14

Speaker 1: I was gonna say I do feel like the three of us as engineers, it's it's most of my friends are not programmers. And so it's interesting because You know, we have a knowledge of trying the tools for like the one use case where people are paying for it right now. And so you read popular things and it's like, oh, it's taking over coding, therefore it's gonna just one-to-one replace all these other things. And I find that it's hard f it's an interesting place to be. It's hard to have like an actual conversation with people about what it might, you know, there's a lot of medical people near here, what it might do because A, they don't understand the underlying technology, but B, they're just reading, oh, it's replaced all the programmers. And it's hard to have any nuance in there. Like it's hard to Do things like, you know, when when you can have closed systems with reinforcement learning.

45:59

Speaker 1: So better at chess, better at Go, like absolutely machines. And I'm sure there's gonna be a growing case of where AI can take over there. But most of the world and most business problems are not closed systems. And so um yeah, it's interesting. Like we're living in the one area that's being disrupted that is the harbinger for everything else. And Yeah, it's it yeah, it's I don't know, just an observation. I don't know, Carlton, if you have lots of AI fanatics near you and the coast of Spain.

46:30

Speaker 2: I d I may do. I don't speak to people, so it's hard to

46:34

Speaker 3: That's even worse.

46:35

Speaker 1: I gotta try I gotta try that.

46:37

Speaker 2: It's not because I don't like them, it's that I never leave the house.

46:41

Speaker 1: Well you have everything. We have everything you need at your house. Um wait, all right, so technical things. I did want to uh ask you about Neapolitan. So Velda, this is Carlton's package. I understand you've actually been using it in the real world. So can we talk about that a little bit?

46:55

Speaker 3: So I'd like to mention that I found it hard to use your library. And well part of it is because I also didn't read the documentation, but besides that

47:08

Speaker 1: Who's got time for that? I gotta start coding. Yeah.

47:13

Speaker 3: Besides that, I was like, why? At some point I was like, yes. Yes, I do understand how that works, but at the same time it's like, oh God, I don't know how this works. So I think also the problem well not the problem or like the the project I had, uh I had to do a lot of customizing. And so I had to actually get into like the base templates, mortify. And I was finding it hard to locate where those files were. And also figuring out like w which one does what. And as I said, I didn't read the documentation but I had to because now I had a custom problem to solve. And so I had to also look for the template text specifically for the views because there were a lot there were different ways that we wanted to custom make the f the

47:59

Speaker 3: views and the forms as well. And I found it so difficult. I was like, why? Why could we just create them normally? And it's like We want to use just one very call that

48:10

Speaker 2: just out of interest. So the way I so the the base templates that um I ship with Neopolitan, they're just sort of like um what do I call them bootstrapping templates. So they get it up and I immediately replace them with my own ones for that view. So like I won't use the the list view or the the object view. I would certainly don't try and customize the template tag. I'm just like, no, no, no, I just want to put in my own template here. But the the bit that I think is of genuinely value and I love it. I'm I'm literally in love with it, is is Crudview itself. Because it gives you that namespace, it gives you all the methods. But yeah, no, the the first thing I do is so I bootstrap the view, I you know, I put it in, I put you know my four-line thing, and I've rooted it and I load the page, yep, it loads. Right. Then like, okay, here's my own template.

48:56

Speaker 3: Yeah. I mean that does work and it it does work really well. And I appreciate the fact that I didn't have to write a coup a lot more views and figure out testing the views as well, each and every one for create update and delete. But then I think once we we got into like the actual like we there is a certain way that we wanted the forums to look like and I think I realized they did the project was using the default like templates that you had. So I was like Okay, that's gonna be a bit of spice inside there, but yeah. So I had to like figure out like How do I actually edit out this form? How I want to add more fields, but we're using the same ones that are there. So how do I add that like going to the tags and figuring it out? And so I was like, why?

49:42

Speaker 3: But then at the same time, like, yes, it does make sense, but why?

49:47

Speaker 2: Okay, yeah. I mean, so what do I do with forms? So I define a project-level um form renderer, um which um brings in the templates that I want to use for the forms and um I'll I basically just use the stock ones. I've got some small net small customizations so I can um override. the field template much more easily.

50:06

Speaker 3: Yeah. Yeah.

50:07

Speaker 2: And then I just define some CSS that styles them how I want. So I use the div templates. And in my my actual um templates that I'm using, I just use the uh mustache mustache form.

50:18

Speaker 1: But

50:18

Speaker 3: you're assuming that I had that knowledge. I didn't have that, so I had to like figure it out. So

50:24

Speaker 2: what you really want is a um is a is Will to write a Django uh uh uh Neopolitan for the D.

50:30

Speaker 1: No, no, no, no. You want just ask Carlton, just send him a DM. No, I do I was thinking this whole time, I did pr I think I don't know if I hundred percent promised you, but I told you I'd write a tutorial of Neapolitan and I still haven't done it. So

50:41

Speaker 3: No

50:41

Speaker 2: Okay. So the bottom line is it's massively um underdocumented for beginners. Um it's lots of so on my really, really, really long list, there's a kind of how I Django mega section on my site that just has never happened because I've never had the capacity to to to put it together. But it's how I do forms, how I do, you know, templates, how I do, you know. Um

51:08

Speaker 3: I mean

51:09

Speaker 2: The thing I like though is that you said you had to get into the source, 'cause the whole idea of Neilopolitan is that the source code is in that one views file and you just open the views file and you just read it and you sit down with a cup of coffee and you read it and w you've only it's only like 300 lines on you read the whole thing and you understand it entirely and you can just go right I'm just gonna override that. I'm gonna override that. Yeah.

51:29

Speaker 3: But you're assuming we know where tools to start even overriding in the first place. So I'm like You have a lot of background that I didn't have when I was looking at that project for the first time. And so even when I was going to Jeff, I was like, I don't know how you use this But then after d doing a lot like reading out the documentation, I was like, makes sense. I understand why Carlton did that. And I was like, I'm definitely going to drag you a little bit on your own life.

51:52

Speaker 2: Yeah, no, no, no, no, no. So if I will own entirely that it is not Like the the the the beginner on ramp. Here look if you're just getting started with views, if you're getting started with Django, all of that stuff is just totally missing. Because I haven't literally haven't had the capacity to write it. I thought you were gonna tell me off about the fact that I haven't outdated it in ages. Um

52:13

Speaker 3: That was that was like last year. Yeah, that was like last year and so I was like Nah, I'm like where we are right now, even without updating, it needs a lot more information because I was like, if I could have just schemed this page or schemed the go, I would have like gotten it easier. But then I also skipped the documentation and assumed that everything would work as expected.

52:33

Speaker 2: Oh okay. Well I love that. My my list goes I've got I've got some stuff I'm working on now which I've been working on for a little while which is why I haven't updated Neapolitan because it's pending those changes. Um so I've got that to get out. And then Neapolitan will get its kind of um phase two of all those things that I said were on the roadmap that I never did. Um including m you know, my take on, you know Neapolitan A API and things like this that I've people have asked me about and I'm like, oh, I don't last the thing is, I'm loath to just put out a a you know put it out until it's right. I want the ABI to be just so how I want it so that you know because i it it's stable and I like it stable and if I'm gonna leverage my projects on it it has to be stable And then

53:18

Speaker 2: the sort of long list of re semi-retirement is to, you know, improve the the story for other people who don't know Django so well.

53:26

Speaker 3: Yeah. But I do appreciate the fact that it actually did crud really well. Other than the customization that we I had to actually do and override like different tags and everything else. It did it did work well. So I apologize for that. But everything else, like getting on boarded and everything else, it was like, nah.

53:44

Speaker 2: Okay, okay.

53:49

Speaker 1: Well as long as I can as long as I can get some Py Charm time for it, then it's easier to do. It's getting a little bit easier. I was gonna s I was gonna say as you're talking, Carlton, I think the key to Neapolitan, just like Django itself, is like Django was built to solve a real world real world problem, right? That's what Jacob and um Adrian would say in Simon, right? And and you yourself, you're using Neapolitan yourself, right? It's not some academic thing. bleeds through with like it's actually meant to solve a problem and that's the North Star. Um and that's where s a lot of these other projects fall f flat maybe is they're just done to be interesting as opposed to like nope this solves this solves my problem and I'm using it in my my business and therefore

54:33

Speaker 2: I use it I use it throughout my web application and it is It's a delight. Every time I'm just like, yes, this is what I want. And there are bits I've got in the work project I haven't yet upsourced back to near bottom because of these other changes that I want to get out of.

54:46

Speaker 1: It's that meme of giving a medal to your self right

54:50

Speaker 2: it's not just giving a medal it's like it's like m my future my past self having already walked the past for me and laid down the stones right and and then my current self just has to walk along it and it's like oh wow yeah thank you me Well

55:03

Speaker 1: i I mean exactly for me, like back when Google was a thing. It was like when I had a c a problem and I would type the question, I would pull up a tutorial, I wrote on it asking the question exactly the same way. And it's sort of like this like, you know Doppelganger thing. I'm like, huh, like interesting. I phrased it exactly the same way four years later. I mean enough time passed that I forgot that I knew that, but I still uh I still had it.

55:29

Speaker 2: Simon Willison has this line where he says um that the reason why he puts everything into an open source package is because he doesn't have to want to solve the same problem twice. He wants it there available for him in the future when he he's got the same problem again. And I I really like

55:43

Speaker 1: that. Yeah. Yeah. Projects and books. Should we switch to that?

55:49

Speaker 2: Yeah.

55:50

Speaker 1: Um Thelda, maybe you start with you. So projects, I think you're gonna discuss Django Debug Toolbar since you're a maintainer.

55:57

Speaker 3: Yes. Shout out to Django Debug Toolbar. You all use it. You sh

56:02

Speaker 1: and if you don't, you should you know, I still run into people sometimes at Django meetups who've Never heard of

56:07

Speaker 3: not use yeah.

56:08

Speaker 1: And and I'm it sort of like puts everything in the suspicious glaze for me, but yeah.

56:15

Speaker 3: So as you said it's a debugging toolbook for Django and if you're not using it, oops, you need to go use it now And so I helped maintain the toolbar with Tim, Matthews, and Elenita. So we're like a team of four. And right now what interesting thing I'm working on for the projects is the redesign phase because I realized that I think I'm the most prof from all of us I'm like more passionate about making sure everything looks good and feels good And so that's where we are. We're trying to we're starting out with like revamping our logo. So you might be seeing a new logo in a few months in your apps. And we're also trying to figure out what the next steps are because we want to do like an an end to end design from

57:00

Speaker 3: getting our own colors, getting the themes that we like and seeing if we could also like improve our documentation as well and maybe build out a website. Who knows? where this is going to go. But yeah, I'm excited about it because now I had to I had to do like everything. I had to figure out where we're going to get designers, who do we want to get involved. And like open source design is like one of the hardest things to do because It's open source, so I'm not going to pay you for your time. And I feel bad about that because I do think like designers are God's favorites because I don't know how you pull ideas from thin air and just like create something beautiful and have people enjoy it. So I'm like, I would I would love to pay you, but right now I can't.

57:45

Speaker 1: Yeah, you have to find designers on the make who it's worth the marketing. For it again.

57:50

Speaker 3: Yeah. And so we had an application process out and we actually settled with one of the designers who did a good job and so all that is still in progress. So we're having a lot of back and forth right now to figure out what the next steps are, what colors we're are we looking at, what does that say to a user? Because we also need to be mindful of what the user's mental model is. when they look at the Django Debug toolbar. And so it's like, mm, I'm picking up design skills on the side. I'm like, oh, open source with a land.

58:20

Speaker 1: Product product skills, yeah.

58:22

Speaker 3: Yeah, and product skills because I'm like Oh, now I need to come up with a timeline. And I'm like, oh, how long does it take ideally?

58:30

Speaker 1: Well and this is I I'd like I was listening to this AI person say yesterday how like, you know, P product managers is now like a thing of the past and I was getting so annoyed because I was like, come on, like give me a break.

58:41

Speaker 3: Like

58:42

Speaker 1: it's not true at all. It's dealing with people. Like there's no prop that can deal with people.

58:47

Speaker 3: Yeah. And also giving like um good feedback to the designer based off on the designs because you need to have that conversation of like If you're not liking a color, why are you not liking the color? Or if you're not liking the design, why are you not liking it, right? Because it's like, yeah, everything needs to be good, but we also need to define what good means to me. That's different to the maintainers and to the designer as well. So it's like a weird I don't know. It's like a nice spot to be at where we're like all thinking about like almost the same thing. I mean like, oh, but when I look at green, I see this. When I look at orange, I see that. And it's like Wow, we all see color very differently and we all like different colors as well. And it's like yeah.

59:34

Speaker 3: It's like also getting to the user's perspective and being like, oh, this is gonna be too smart for the user or this is going to be like enough of the user because I think there's a statement that Jeff likes to use every time I do like very complex things. He's like, No That's too smart. We do not do too smart things. You need to like

59:52

Speaker 1: See, that's very wise of him to say that. That's yeah, you have to be very wise to dumb it down a little bit.

59:57

Speaker 3: Yeah. And and I'm always like But it works. And they're like, that's not the point. It's too smart.

1:00:03

Speaker 1: Yeah. Well, you're probably finding like users are terrible at giving an opinion on anything. So from my experience, what I try to do is I give them a task. I say accomplish this thing with this tool and talk out loud and that's better than just like showing them two designs and be like, which one do you like? They're just like, they have no idea. But if I'm like, okay, go from here to here. Um That seems to work better because people can't articulate anything.

1:00:31

Speaker 3: Yeah. So I was like, simple is always better, right? So I'm like Right now I have like a little Jeff in my in my head being

1:00:38

Speaker 1: too smart for us, yeah.

1:00:40

Speaker 3: Too smart.

1:00:42

Speaker 1: No, there's really

1:00:43

Speaker 2: we should do a deep type of that. That'd be amazing.

1:00:45

Speaker 3: Yeah. But yeah, also like putting yourself in the in the shoes of a user and now this is not just any user. This is we're going to get people who are not using Django try to use Django Deep October. We're also going to get veterans who've been using Django for the longest time. And I know those friends are gonna have a lot more opinions. And I'm like, that's fine, but I need to make sure that everybody is somehow happy. I might not get everybody very happy, but Somewhat happy is is good. So that's what I 'm saying. Well there's sent

1:01:15

Speaker 1: there's sentry for the advanced use cases, right? I mean, so you yeah, you gotta draw the line somewhere.

1:01:20

Speaker 3: Yeah, so I'm like, as long as we have something going, we could we could definitely turn it around if there is actually feedback that we can work on. But if it's just like randomly like, oh, interesting caller or I don't like that call I'm like, okay, any suggestions you have, you know?

1:01:36

Speaker 2: Yeah.

1:01:37

Speaker 3: Yeah.

1:01:38

Speaker 1: Cool. Very exciting.

1:01:40

Speaker 3: Yeah, and also calling out uh other people who want to get involved because once we have the like the designs in place we would want people who would want to implement them. into our project. We'll be open to getting more contributors. There are also new issues that you could work on and you could reach out to me or anybody else on GitHub. We're pretty nice. We're not mean. We're nice. We are accommodating. So you could reach out and start making an issue Okay.

1:02:08

Speaker 1: All right. Good pitch. Carlton, you have one another one from Adam Hill, I think.

1:02:13

Speaker 2: Yeah, another one from Adam. So we had Adam on last episode and he's just So a language server language server protocol in Django. It's I don't know. support for um autocomplete for your um settings for i think he's getting into models he's looking he's looking at all sorts it's another it's several of these now there's like that one josh josh thomas who's got um Another one he's got uh Django language server, which he's got uh completions. There's another one which is um Django template LSP. So there are several in this space as well as Um what is it? The hang on, I can't think it it's called um Zuban, which is a language server written by the guy who did Jedi.

1:02:58

Speaker 2: So the uh Gemma J the um long time static analysis and autocomplete library for Python. He's written a new version in Rust that's got Django model support as well. And it just goes to show that, you know, you can do tooling for dynamic. you know, you know, libraries. They yes, they leverage stubs where stubs are available, but you know, they also are doing custom logic to get those order completion in these other places. And it's not like we have to rewrite the whole language in Rust in order to get decent auto complete in Python. It's really exciting time. So there's four there, but the Adam's one came up this week and I was like, wow. Him and Josh need to get together in the room because um Adam's got his jangles project. And Josh has got his um Django Bird project and then they've both got language servers. It's like d do we need some sort of celebrity deathmatch at Django contest to see which one we're gonna use or something. I don't know.

1:03:44

Speaker 1: Like X Factor, you're gonna have like one.

1:03:45

Speaker 2: Oh yeah, yeah, whatever. I mean they ideally they could collaborate so they're not reworking, but you know, if we it has to be Dead Steel Cage match to decide the winner then.

1:03:53

Speaker 1: Well, but this is I mean, th for people who don't know, there's history of this in the Django ecosystem around migration. There were three leading ones at the time and borrowed from one another and then South from Andrew Godwin was decided. But you know, there were three really strong ones done. So there's health.

1:04:10

Speaker 2: It's gonna be the same with APIs and it's you know

1:04:12

Speaker 1: Yeah.

1:04:12

Speaker 2: Yeah. It's it's oh a sign of fertility. It's not a bad thing when there are multiple options in the ecosystem.

1:04:21

Speaker 3: Yeah. And I mean I didn't know that about migration, so I I learned something.

1:04:26

Speaker 1: Oh okay. Oh good, yeah, yeah.

1:04:28

Speaker 3: Yeah.

1:04:28

Speaker 1: Yeah.

1:04:29

Speaker 3: And when you when Carlton said Jedi, my mind went to Star Wars. I was like Star Wars.

1:04:34

Speaker 1: Well and even I should double check. So um Russell Keith McGee did one of one of the three. Um Andrew Godwin did one, and I'm sorry, I forget who the third one, but there were three big ones at the time, and I I'm Pretty sure there's some talks that I think Russell and and Andrew have had about. Maybe as a panel. There's something I saw where they went into the history of it. Um it's taken me a while to sort of piece that all together too So um

1:04:56

Speaker 3: yeah

1:04:57

Speaker 1: sorry to the third one. We'll look you up. Um for me packages Django link check. Which checks broken links on your Django site, goes through your models. Um pretty cool. I should use it more. Uh and I actually was thinking of it because I was looking through something recently and I saw a broken link and I was like, oh Um so this is a long running um project and it doesn't have a ton of stars, but like we all have broken links in our stuff, so Check it out. Seems pretty mature. And then I'll switch to books. I'll go first. I'm gonna pick a lightweight one. This is called A History of the Bible by John Barton, who I think is uh what is he 's like a Cambridge or Oxford professor

1:05:43

Speaker 1: one of those Oxford. Um but actually interesting. So treating the Bible not, you know, as a religious text per se, but as a book and talking about the different authors and how it's interpreted and um Judaic and Christian traditions. Anyways, sort of nerdy, but I like that kind of stuff. And this is actually my mom's copy. I mentioned my mom's really into this stuff. I mentioned my mom, I was like, this book sounds good. And she's like, I've got a copy. So um

1:06:07

Speaker 3: Wow.

1:06:08

Speaker 1: Little little light reading.

1:06:10

Speaker 3: Does it give you like the uh how the different versions came to be and is it like just from like translations and

1:06:18

Speaker 1: the different authors and stuff and to me it like enriches Whatever your belief system is to know about these things. Um

1:06:28

Speaker 3: share something about it.

1:06:29

Speaker 1: Oh God Uh we'll s we'll see.

1:06:33

Speaker 3: You could you could email me. I don't mind reading stuff.

1:06:35

Speaker 1: I don't know if people want my religious hot takes. I think I've probably shared. But yeah, but I I I'm a fan of studying anything. Um Yeah. Yeah, maybe I would. I know. I've actually I have been reading a bunch this year. So I just finished a couple books and I was like, should I do a write-up? And I was like, eh, kind of lazy, but I was like, oh, there's some Yeah, this is like the post-LLM world. Like just the exercise of writing an essay forces you to come to terms with your own thoughts. And you know, there's uh I'm sure it solidifies a book in my head to do even a quick take on it. Um like for example, I just finished um Normal People by Sally Rooney, which I know is like a big thing, and I had thoughts about it. So um Yeah, maybe I'll do that. My TLDR is I I enjoyed it. I think I would love it if I was 25. At 45, I couldn't help but being like

1:07:22

Speaker 1: She's so twenty five.

1:07:24

Speaker 2: But

1:07:27

Speaker 1: I mean, you know, come on. All right. Anyways, uh Carlton, you have uh you have a book.

1:07:32

Speaker 2: No, I don't oh okay, I'll go. I don't have a book. I have a course um by David Beasley. It's on GitHub, so uh we'll put the link in the show notes, but it's called Python Mastery. Um and you just clone it and there's a PDF and you there's a whole folder full of exercises and you sit down with your you you look through the the PDF and you sit down with your editor and you write the thing by hand and it gets into all of the tasty bits of Python, which um these days we're we're all you know, told that we shouldn't go anywhere near, but meta classes and you know, the the Python data model and you know get really in there. It's it's um super. And David Beasley is um taught this course um as the paid course is stopped teaching it um and made it freely available and I I really recommend it.

1:08:19

Speaker 2: He's also got an introductory one for people who just want to learn Python. um which is worth checking out as well. But that's not the one that I'm super interested in. I'm super interested in Python mastery, which is about these more dynamic aspects of Python, which uh where I think the excitement is um now. I know you know people are more interested in static types and and whatnot, but I think actually what's Python's superpower? Well

1:08:43

Speaker 1: So skate where the puck is gonna be, Carlton. Well something well

1:08:46

Speaker 2: skate to where the puck was 15 years ago, I think, is sitting in this car.

1:08:52

Speaker 1: Okay, interesting. Practical Python is the name of the other one.

1:08:55

Speaker 2: Yeah, yeah, that's right. That's right. But um this one's called Python Mastery. And the the reason I wanted to recommend it, because we talked to time and time again about LMMs and them t you know, they taking over the role of coding and then dumbing us down. And it's like, well, okay. If if we stopped going out and doing manual labour so we need to go to the gym to keep fit, well, here's a way of doing some

1:09:15

Speaker 1: look at you with the analogy.

1:09:17

Speaker 3: Yeah.

1:09:19

Speaker 2: Mental exercise to keep your programming chops and learning something which is perhaps a little left field that you wouldn't do in your day-to-day work, but is really going to make you a better Python programmer.

1:09:29

Speaker 3: Yeah. Agreed.

1:09:31

Speaker 1: Yeah. Well that's also, I'll just give a shout-out, Python morsels that Trey Hunter um has done and still does for a long time provides these sort of regular You know, like crossword puzzle for Python people, kinda.

1:09:42

Speaker 2: Yeah.

1:09:43

Speaker 1: So

1:09:43

Speaker 3: Yeah.

1:09:44

Speaker 2: Belda, you've got a book.

1:09:46

Speaker 3: I do. It's called The Kite Runner by Khalid Fasini. And it's like historical fiction. And this book is gut-wrenching, but it does he writes beautifully and you get to have like a history of how Afghanistan was. And he's also American, so he has both perspectives and you see how they were, like how people's lives were. Well Yeah. How people's lives were before the war, after the war, people who moved, how the different culture and customs, some of them were maintained, others weren't. And it follows one particular person who goes through a lot of things, a lot of gut-wrenching things. So it's

1:10:32

Speaker 3: if you wanna know It's like, as I said, historical fiction. So most of the places actually do exist. The places that he mentions actually do exist. But yeah, it gives you a different perspective of like things specifically in Afghanistan, being also from like a place where it's war torn and it's It's gut-wrenching to be honest. So I would say you read it at your own risk, but the liter like the literature itself is very rich in terms of how the user tells you the story, the the perspective he gives you the story and and how he builds up like anticipation of one of the things that's going to be really impactful in the book and how he referenced it it at the

1:11:17

Speaker 3: at the end as well. And it's so good. It's so good. It is so good. I like it because it's like it's a fic it's fiction, but it it also has some history. And it's like Half the things I thought would happen didn't happen, but they happened in a different way. And which is like more mind, I'm like, wow, wow But yeah, I'm trying to read more of Khalid Husseini 's work because he has written other books like A Thousand Splendid Sons and something about the mountain moved or something. But yeah, I'm gonna take a timeout before I pick up his next book because that was just too much.

1:11:54

Speaker 2: You need to relax a bit.

1:11:55

Speaker 1: Yeah, they're a little intense. But

1:11:58

Speaker 3: Very so. So I'm like, I'm gonna be like, I'm gonna pick up other books in like two, three months and then I'll I'll get back to be a thousand splendid sons. But I highly recommend

1:12:10

Speaker 2: Okay. Good.

1:12:11

Speaker 1: Great. Um, maybe as our last question, um, magic wand, Velda.

1:12:17

Speaker 3: Yeah.

1:12:17

Speaker 1: What would you change about Django? Apply that wand liberally.

1:12:23

Speaker 3: What would I change about Django?

1:12:24

Speaker 1: So code, community, docs, packages, podcasts, whatever, what would you improve?

1:12:32

Speaker 3: timing, like timings of how things progress is what I'd say I'd improve. Like in terms of we've been trying to like either build out the website page or improve like how our interface looks and stuff like that. And I feel like we need I don't know if it's the time that we need to shorten the process of or how all these things work. But yeah, if we could change like the timings of what we're doing to like a little bit hasten the process. So we're not talking about a website in like two, three years still and nothing's changed. is something I'd like to improve. So d don't come at me. I am still

1:13:11

Speaker 2: No no no no I think Mel and I are just both weeping tears of No, it's agre

1:13:15

Speaker 1: agreement, agreement.

1:13:17

Speaker 3: So it's like I do like I love the community. I I wish more people also like get involved. I wish we also have a lot more money. Well I'd say time and money. I'd give Django a lot more money and I'd give it time to hasten the process. So I'm like, yeah. Other than that, I think everything else we have it like nailed on and spot on.

1:13:39

Speaker 2: Okay.

1:13:40

Speaker 1: I am a I am unusual for me. I am slightly optimistic on this point. Um I know, you know, Jeff is the Jeff Triplett is the new Django president. There's a new board. They're doing a lot of things behind the scenes. Um PyCharm JetBrains is doing some sponsorship stuff. I know there's ongoing efforts to actually have an executive director. So I I just want to mention that I know I know firsthand people are working really hard on this and I do think things are going to come to fruition, but it takes longer than if it was one person and, you know, decent funding. So

1:14:12

Speaker 2: the the trouble is the resource for any given task is very low. And so you know if you you've got your nice project plan and you assign a low resource, the date flies out

1:14:25

Speaker 3: Yeah. But yeah, time and money. Time and money. If we had that, we'll just be we'll be going on

1:14:32

Speaker 2: rule the world.

1:14:33

Speaker 3: We'll be going to Mars and Jupiter and be like, hey, Jangoy's there too.

1:14:38

Speaker 2: Django will be there. Django's not there.

1:14:40

Speaker 1: Yeah, maybe Django will be there. The heat heat death of the universe, Django will still be there. Um anyways Thank you so much for making the time um and for coming on. Again, it feels like God, what episode is this? 190 something. We should have had you on earlier, but So glad you could make we were trying, we were trying for a while. So as part of it was scheduling. You were busy and there were stuff last year

1:15:02

Speaker 3: Yeah, and I I was also dealing with like moving and settling in and figuring out life.

1:15:08

Speaker 1: Yeah. So

1:15:09

Speaker 3: yeah.

1:15:10

Speaker 1: There's something to that. Yeah, yeah, no, I know that we can't tell her that, Carlton. That's you know, it's like I remember my parents saying, Oh, when I grew up and I was like, What are you talking about? You're so old, and now I'm living it and I'm like, Oh god, like you don't know anything. It's to be discovered, right? You can read about it, but then you have to live it and

1:15:28

Speaker 3: Yeah. Yeah.

1:15:29

Speaker 1: Um we'll have links to all the stuff in the show notes. And sorry, what were you gonna say?

1:15:33

Speaker 3: Oh no, I was saying I'd be happy to be invited again. I I love hanging out with you.

1:15:37

Speaker 2: You got the hustle people.

1:15:39

Speaker 1: Yeah, no. This is how it's done, people. This is how you just a meteor, you know, 2023 to now. So

1:15:45

Speaker 3: You know, I'm like maybe if I be back come in and like two ninety or three ninety celebrating a hundred more episodes from me this one I'd be happy to. And yeah, I'd also love to work with either of you on like open sourcing things. And yeah , Neapolitan

1:16:01

Speaker 1: needs some docs. You have a

1:16:03

Speaker 3: I mean Carleton has a specific way he wants to do things, so I'd be happy to help.

1:16:08

Speaker 1: Yeah, but he's also lazy in the right way. So if you did it, he would probably accept it Is that fair to say Carlton? Lazy is not the right word, but

1:16:18

Speaker 2: Yeah. No, I mean the bottom line is I haven't it is on my backlog to do you know, a nice tutorial that I I just haven't I'll do this

1:16:25

Speaker 1: I'll do this tutorial. I'm guilty into it I'll do I'll do this.

1:16:29

Speaker 2: So like you know if but you know, Velda comes along with I actually use your product and these are the things that bothered me and these are what I'd like to suggest. That is valuable. What what I find frustrating is when people turn up and they've got no familiarity with the project. They're not using it and then they suggest something which you know these increasingly these days has come out of a machine. It's like, no, that's not helpful.

1:16:50

Speaker 1: Well what would be amazing about

1:16:52

Speaker 2: environmental experience turning up and making a contribution. Yes, that's not

1:16:55

Speaker 1: Maybe a maybe when you have a small lull, a Refsis official blog post on client stuff using open source tools, referencing Neapolitan Just sort of throw that out there.

1:17:06

Speaker 3: Yeah, I mean I when I was getting frustrated, Jeff was like, go talk to Carlton or make a BR to his whatever documentation and d get it done. And then when he saw you at the at the conference before I did, he was like, that's the person you should drag. And I was like, I just w I'm meeting him for the first time. I don't want to be like, hey, I hate your brother.

1:17:25

Speaker 2: Don't be shy. Don't be shy. Anyway, we've really got to wrap it up. We could talk about it. Yes,

1:17:32

Speaker 1: okay. Yeah, sorry. So thank thank you again for coming on DjangoChat. com and we'll see everyone next time. Bye bye.

1:17:40

Speaker 3: See you. Bye.

Questions this talk answers

How did Velda Kiara get involved in the Django and Python communities?

Her involvement grew through contributing to open source, attending DjangoCon US, volunteering with Django Events Foundation of America, and building community and technical experience. Those contributions led to roles such as Django maintainer, Python Software Foundation fellow, and Microsoft MVP.

Discussed at 1:03

How can volunteering help you get more involved in the Django community?

Volunteering creates more opportunities to meet people, contribute to events and projects, and develop social and leadership skills. Even a small amount of effort helps the community and can lead to deeper involvement.

Discussed at 4:18

What was it like moving from Kenya to London?

Velda had to adjust to London’s colder weather, shorter winter days, unfamiliar food and shopping habits, and the challenges of setting up a new home. She found the city easier to navigate by connecting with other people who had also moved there, including members of the Python and Django communities.

Discussed at 5:25

How can you improve Django application performance as it scales?

Performance work should be driven by the application’s actual requirements rather than blanket claims that Django is too slow. Useful techniques include query optimization with `select_related` and `prefetch_related`, caching, appropriate database indexes, sorting, and serialization, while recognizing that each technique has trade-offs.

Discussed at 14:32

What is marshalling, and how does it relate to serialization in Django?

In system design, marshalling means converting data into a format that can be transmitted between runtimes or processes. In Django, serialization—such as converting Python objects to JSON and back in Django REST Framework—serves a closely related, more specific role.

Discussed at 18:06

Why does working with multiple consultancy clients help a Django developer grow?

Different clients expose a developer to varied domains, requirements, payment systems, libraries, and technical problems, so the work stays challenging and broad. Velda says the constant context changes suit her because every project offers something new to learn.

Discussed at 25:24

How can I get a job working with Django or an open-source Django company?

Build a visible track record through open-source contributions, attend Django events, introduce yourself, and explain what you are working toward rather than simply asking everyone for a job. Networking at DjangoCon led Velda to a later opportunity because people could see both her interests and her contributions.

Discussed at 30:37

Presenters

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos by Velda Kiara

More videos from DjangoChat