Django Chat

From Kenya to London with Django - Velda Kiara

Episode Summary

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.

Episode Notes

๐Ÿ”— Links

๐Ÿ“ฆ Projects

๐Ÿ“š Books

๐ŸŽฅ YouTube

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.

Episode Transcription

Will (00:00)
Hi welcome to another episode of Django Chat. I'm Will Vincent joined by Carlton Gibson. Hey Carlton. And we're very pleased to have Velda Chiara join us from London, welcome.

Carlton (00:05)
out of it.

Velda Kiara (00:11)
Hi, 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 Koo Kade. So yeah.

Carlton (00:23)
I don't

Will (00:25)
Well, we've I don't know why we haven't had you on earlier 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. Let me look at my notes. I'm sure I'm forgetting something, but you're just

Carlton (00:25)
know about cool kids.

Velda Kiara (00:32)
Yeah.

Will (00:52)
Kind of, and, you speak regularly at conferences. We're going to talk about that. โ“ so let me start with how do you, how do you do all that? Cause I feel tired just listing all that out.

Velda Kiara (00:55)
Yeah.

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, I did Django Not Space because I wanted to contribute to Django. And then I got to be a maintainer for Django Debugtober 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 DjangoCon 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. And that kind of like happened as well. they were, they had an open to, they had a call for open positions that you could like apply for. 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 Django, it's DjangoCon, so it's not going to be difficult. And that's how I got in. Yeah, and I'm like...

Will (02:10)
That's how they snuck you in.

Carlton (02:11)
Well, there's not

difficult and then a lot of work, right?

Velda Kiara (02:16)
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 be a Python software fellowship fellow via PSF.

by the self-referential fellow. Yeah. Sometimes I get confused, like, is it foundation? Is it fellow? Which is it? But yeah, I got involved. Yeah. So that's how I got involved too. Sorry about that.

Will (02:46)
Yeah, Foundation Fellows, a lot of F's there, yeah.

Foundation, yeah. And I try, 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, know, blah, blah, blah, ABCDEF. But now that we get it, it's like another step. like, oh, what is that thing even called? You know, you sort of forget.

Velda Kiara (03:01)
Yeah.

Yeah, I get that.

Yeah.

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. And I love the Django community. It's like the most thing. It's like the most

Will (03:40)
Mm, yeah. Well, and it's a

Velda Kiara (03:44)
Like, I get to have a lot of fun. Like, I get to meet you, get to meet Carlton and have conversations and I'm like, what? So I love it.

Will (03:54)
Well,

yeah. Well, think that's the thing that you said is there are these openings, but it's a lot of work. It's also, โ“ 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 open and welcoming, but there is a lot that happens behind the scenes for events, for the code, for everything else. So โ“ yeah.

Velda Kiara (04:01)
Yeah.

Yeah.

Yeah.

Carlton (04:19)
volunteering

really is a way to get deeper into the community.

Velda Kiara (04:21)
Yeah.

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

Carlton (04:43)
That's not

always the software developers first choice of things, Is that social side.

Velda Kiara (04:46)
Yeah.

Yeah. It's not.

Will (04:48)
Well, people I think

people are good about recognizing though that you know not burnout, but like you don't want to Burn out 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 โ“

Velda Kiara (04:54)
We need to away.

Yeah, yeah. And I

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

Carlton (05:23)
You're in London now, right, Valdes? What's the scene like there?

Velda Kiara (05:24)
I am! I am!

It is, well, first of all, 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 p.m. And then I'm like, oh, and now like darkness comes in at 3 p.m. and 2 p.m. 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 when the sun sets, right? And so everything is like,

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, it feels like negative eight, but it's actually negative two. I'm like.

Carlton (06:10)
Neither of those are good.

Velda Kiara (06:12)
Exactly, nothing's helping. So I had to get used to different clothing, having warmer clothes, and getting to also meet other people here as well, and getting to interact with other people who are also moving. So think London is the sweet spot of most of the people are also moving in and other people are moving out. But it's always so inclusive as well. There are a lot of people who are also moving. There are a lot of people who are also navigating.

Yeah, you just find other people who are doing the same and then you start bonding over things that are different. Yeah. But I remember, right now it's going to be like a year in February 17th, so I'm going to be celebrating a whole new year here. I'm excited. I'll probably get a cake or something, but yeah, I want to celebrate the change in weather and the change in life and everything. I mean, some of the things that really shocked

Carlton (06:47)
Yeah.

Will (06:49)
Yeah. How long?

Velda Kiara (07:11)
me is like 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 it delivered because it's already built. So it's just like, okay, here's your bookshelf, navigate out to get into your room or your house and then that's it. I'm not assembling anything.

I ordered a 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.

Carlton (07:44)
you

Will (07:53)
It's like

adult Lego, you don't want to do it.

Carlton (07:54)
Yeah, yeah, yeah.

Velda Kiara (07:56)
Exactly. And I was like, why? And actually when the delivery person was handing it to me, was like, are you sure? I was like, exactly. Are you sure it's the right one? Because I ordered a complete one. So it's like one of those things. I'm like, wow, now I can assemble bookshelves. And I look forward to assembling things. And I'm like, interesting. Yeah.

Will (08:02)
Where's the bookshelf?

Yeah.

Carlton (08:17)
It's a useful skill, you know, when you move in and you need to be able

to do stuff.

Velda Kiara (08:21)
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, โ“ yeah. I was like, I didn't I didn't subscribe to this level of adulting, but

Carlton (08:45)
Yeah.

Velda Kiara (08:51)
Here we are.

Carlton (08:54)
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.

Velda Kiara (08:56)
Yeah.

Yeah.

Yeah, and I remember we had this conversation also at like a Jenga Nauts space, was it dinner or hangout? At Jenga Con US 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, moved, like moved countries before. And I was like, this is the person to talk to. And weirdly enough, I also had like the option of like,

Carlton (09:14)
Yeah, yeah, yeah, yeah, yeah.

Velda Kiara (09:32)
trying to figure out other countries other than the UK, maybe figure out Spain. But then when you look at the different opportunities they are and how easy it be to get from one job to another, the UK made absolute sense. And you were like, yeah, I mean, you're young, you got this. I remember you specifically said that. You were like, you're young, you have grit, you still have energy, go do it. And I was like, I'm going to do a car over.

Carlton (09:59)
You still have energy is the key bit there. Still have energy.

It's like, know, flow chart. Should I do something? Yes or no? Have you got the energy?

Velda Kiara (10:02)
Yeah.

Yeah, and I was like, Carlton said I need to move. And I'm like, I'm just going to ask him for recommendation or stuff that I find difficult. I'm like, well, at least I know he's there. So yeah. Yeah.

Will (10:09)
Yeah.

Carlton (10:20)
I

mean, we live in Spain, โ“ And Spain, just coming to Europe, 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 is in Spain. The richer countries generally are to the north. โ“ the cost of that is the really early afternoons this time of year.

Velda Kiara (10:24)
Yeah.

Yeah.

Will (10:55)
Well, I'm excited for I'm getting deja vu when I moved to San Francisco, which same country, but 3000 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. And then at least for me by year three, because it's like a transient international place, people had already started leaving and,

Velda Kiara (11:01)
Yeah. Yeah.

Yeah.

Mmm.

Will (11:24)
I suppose it's the same with any place, right? You sort of ride that curve of like, my God, things are great. And then like, it's okay. like that, 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, โ“ man, they're gonna come and say a long way of saying, I think the next year will be even better for you. โ“ and I'll be curious what it's like in, you know, years three, five, you know, cause you'll see, you'll see those newcomers and be like, โ“ I remember that like first year energy.

Velda Kiara (11:33)
you

Yeah.

Yeah.

Yeah,

yeah, I think what really helped is that I also got in touch with Chook and Adam Johnson, who are also in the Python and Django communities. And they were really helpful. I was like, yo, if y'all weren't in my life right now, I don't know what I'd be doing. Because it's like Chook was showing me around and she was also telling me like...

the good spots to also shop for thermal clothes. And Adam took me knife shopping because apparently there's just exclusive shops that sell knives because they're not readily available everywhere because of stabbings that happen frequently. So even when you're getting a knife, you actually need to have an ID or have an ID and have to have a permit of carrying the knife from the place you're in to your house. It's a lot. And I was like, I didn't realize.

Will (12:42)
That, I'll just say

that's not like the US.

Velda Kiara (12:44)
โ“ 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 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. yeah, the community does work even in life.

Carlton (13:12)
Have you been going to the Django London event? They're on the socials with it. I'm always like, ah, I would go, I'm, you know, a miles away.

Velda Kiara (13:20)
Yeah.

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

Will (13:45)
Yeah, I think there's going to be a little time lag on when this episode comes out, unfortunately. But it's an ongoing thing. Yeah, I see.

Velda Kiara (13:52)
It's monthly meetup, it's definitely going to be there every month. We do it once at least every month. So maybe you can come in in the summer when we have good weather.

Will (14:05)
Well, 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? that? โ“ So we'll put a link to that. I thought that was great. That was a really great overview. And โ“ let me put it to you. It's your talk. What was the impetus for this talk and, โ“ you know, kind of the highlights, because everyone says, Django performance, but then doesn't really know where to go. And you laid it out really well.

Velda Kiara (14:14)
Yeah.

You

Yeah.

So that's exactly why I did that talk. So I had like different conversations with people and they were like, yeah, we don't use Django because you know, it has performance issues when you started scaling in like different places. I'm like, like, have you used it though? So my question is, have you used it? What issues do you have? Because I mean, even Facebook uses like Django in a way and I'm like, is it Facebook or is it Instagram? Like one of

Carlton (14:50)
You

Will (14:50)
Ahem.

Instagram,

I mean it's fast enough for Instagram. So I don't know

Velda Kiara (15:00)
Yeah, Instagram. Yeah, and I'm

like, and we're all camping in Instagram. You shoot it 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, they have a lot of users. So what's the problem? So most of the times when I hear like, opinions like this, I'm always curious. Okay, why are you saying?

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 PyCascades. That was like last year or 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 I wanted to dig into

how you could also increase performance and how that would look like on your app. And not just for people who are scaling, but people who would just want optimal performance year round. And so when I looked at that, I was like, OK, what are the things that we could actually talk about other than the common things like select related, prefetch related, caching and indexing, right? And then also when it comes to indexing, they're like different trade-offs.

You can't index every single column. That doesn't even make sense. Plus, it's also creating a different data structure, which means it's also using up more space than you need. So all these things, and I'm like, nothing does something perfectly all around. That's something I came to accept in the software space. 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 approached the talk as well. And I talk about a lot of like, โ“ a sharding as well. talk about serialization, which also ties out to like a marshaling that I had on my newsletter last week, last previous week.

Will (17:10)
Yes, yes.

Carlton (17:11)
Yeah, yeah,

yeah, like your newsletter, little interlude here on your newsletter. It's super. You write that every week, no?

Velda Kiara (17:13)
Yeah.

Yeah.

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 Storyteller 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 marshaling. And I was like,

Carlton (17:22)
Okay.

Velda Kiara (17:44)
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 marshaling. I was like, this is a sign. This is a sign. And so on the newsletter, I had to like define what marshaling is in the concept of in system design and also in Django. So in terms of system design, it's basically trying to

โ“ change data into a format that's easily transmissible in like run times and different processes. But now in Django, 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 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 diverse. I say it's 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. that was like, I was like, it's just serialization. I wanted to say like, clarified serialization. But I've not done system design enough to actually say that for certain.

But yeah, it's like one of those things that you look at and you're like, so I've been doing this this whole time and I didn't know what that was. And so it's exactly. It's like, โ“ 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 how many seconds you're getting the results, how like how everything ties up and how do we actually define how many servers do we need? How many like

Carlton (19:22)
to some fancy word for it.

Velda Kiara (19:42)
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 marshaling 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, just 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 shelf for a quick laugh and then, or maybe life things, or maybe if I...

visited somewhere and I think it's like a good recommendation for people. So yeah. I mean it is. And I saw that and I was like, wow, y'all are taking a vacation. I like, I want to do that in my life. Like I want to take vacation and not do a lot of things.

Carlton (20:17)
The secret of longevity is to go every fortnight, every two weeks. We started the show here every week and we're like, no, no, no, that's a bit pricey.

Will (20:20)
And take the summer off if you need to, you know.

No, it's

called the sub in the United States on LinkedIn. It's called sabbatical. You don't say like, you know, retired or semi retired or, know, taking a year, a fun, was it fun employment? You got to say sabbatical. That's like the NBA version. It sounds vaguely academic, but yeah. Yeah.

Velda Kiara (20:45)
Yeah.

Wow. I mean, it does sound fancy. It's like, yeah, I'm rich enough that

I can take time off and not work.

Will (20:57)
Yeah, well, think but go Carlton

Carlton (20:58)
Now,

I would say that all of that system design and capability capacity planning stuff, that's going to serve you a massive state 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're kind of guessing. Whereas if you have got them, you can do the calculations upfront. That's really useful. It's really the useful learning to have.

Velda Kiara (21:10)
And yeah.

Yeah.

Yeah.

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

Will (21:37)
Well, I'm thinking there's that

Carlton (21:37)
Yeah.

Will (21:39)
phrase, you you could do, you could have 10 years experience or one year of experience 10 times. I think doing what you're doing of like going the upper level of saying, 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, It's, is very easy. And I certainly succumbed to this of just like being so focused on the task at hand. You never get the bigger picture. Whereas

Velda Kiara (21:51)
Yeah. โ“

Yeah.

โ“

Will (22:03)
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. Cause 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.

Carlton (22:22)
Yeah, I think

the I think experience gives you like you come to a problem. It's a fresh problem, but you're immediately cutting it up into some ways that it might work. It may not. You have to implement it and see, but experience gives you that ability to kind of start planning it before you even finish reading the problem statement. Like it's, you know, So I don't know. But yeah, that will sound super.

Velda Kiara (22:37)
Yeah.

Yeah.

Yeah, and I think one of the things that I get to appreciate once you start looking at things 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, which tool does it actually work best with? And it detaches you from all the tools or everything that needs to be.

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 least of things that we would like to accomplish and this is like the output of what we expect the system to be or to do. 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 for the sake of building it out.

Carlton (23:45)
And swinging back to your, 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, we need 10,000 requests a minute or whatever. It's like, well, Django will satisfy that quite easily on quite a small box. So why are worried about going faster?

Velda Kiara (23:49)
Yeah.

Yeah.

Yeah. I think the point where like there is a client we were working with and we had like issues with caching 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 use case. 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.

Carlton (24:18)
You

Will (24:20)
Yeah.

Velda Kiara (24:28)
So it's like I have to make sure that it works. 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, there are like 15,000 each. So I'm like, I mean, it can only work to a point. So we had to consistently 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 I had to figure out, so we're not going to cache this for a while, or we're going to be basting out a cache in case there are changes. And it's like, 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.

Carlton (25:19)
And how do you find the context switching there working with lots of different

Velda Kiara (25:24)
Honestly, for me personally, I feel like it's the best because I get to work with 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 Django Health. 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 need to figure out, how do payments work in other places, in other locations? What are we expecting? And in other situations, like right now we're working with like a payment, I wanna say payment platform service, but yeah, it's like something in line with payment. 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 don't get bored is what I'd say. So it's constantly new things, new issues, new projects. And I like that and I appreciate that.

Carlton (26:39)
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 10,000 hours, right? It's

Velda Kiara (26:47)
Yeah.

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

Will (26:48)
Yeah.

ahem

Carlton (27:00)
If you are.

Yeah, it's good to have that

Will (27:11)
Yeah.

Carlton (27:13)
support. If you ask him nicely, Frank will teach you Pearl as well.

Velda Kiara (27:17)
Nah, I don't know if I want that though.

Will (27:22)
I think it's fair to say too there's there's consultancies and there's consultancies and RevSys is you know, one of the better ones and also the clients, you know, you're not just doing crud off real estate websites or something all day long, which you know, I get it but consultancy is a wide spectrum. So

Velda Kiara (27:32)
Yeah.

Yeah,

I mean, โ“ 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 like an ideal place for a Django person to work at. And it was really difficult to also like, figure out like what projects or what โ“

Will (27:49)
Yeah.

Velda Kiara (28:02)
when I was choosing this career, well, actually I chose it and then I realized that, 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 wanted to write 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. 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 am I going to manage getting a job? And so I actually met the team at 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 sourcey just in case you have something, let me know, I'd be happy to do it and stuff like that.

Will (29:01)
What was

that at? sorry to interrupt. Was that at the like night before thing at like the pizza and beer place was that I think because I think I think I was I don't know if that's the first time I met you, but I definitely we met. We met there like in person. Is that the first time you met Jeff and Frank?

Velda Kiara (29:07)
Yeah.

Yeah, yeah.

Yeah, the first time I was also meeting you was actually the first time I was meeting Jeff and Frank.

Will (29:22)
Okay, because Jeff and I had gotten

margaritas like before and then we walked over and โ“ 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.

Velda Kiara (29:29)
Yeah. Yeah.

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 going to use it to the best that I can meet a lot of people. And also like meeting you for the first time, was like, why is an author talking to me? Like, aren't you like beyond me? Like, aren't you?

Will (29:51)
Yeah.

See Carlton,

this is what I need from you Carlton. Come on a little more deference

Velda Kiara (30:06)
So

yeah, like I was like, you're actually listening to me? Yeah, I think we talked about it. And I was like, I can't believe like I actually read your book and now you're like sitting here and listening to me and getting me to ask you questions and you get to answer me and not have like, I want to say pride, but yeah, and be like so down to earth. I'm like, wow, wow.

Will (30:08)
I think you brought the book or one of you brought the book and I was like, oh God.

Well, as I've said, was

when Carlton agreed to do this podcast, that's how I felt and still feel. you know, it all just filters around. โ“

Carlton (30:37)
I think the story you've just told there, there's a really good example. People are like, how do I break into the Django community? How do I get a job 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. Look at me. This is my profile. This is what I'm doing.

Velda Kiara (30:46)
Yeah.

Yeah.

Carlton (31:01)
It's how it's going to work and it's going to work a lot better

than sending out, you know, cold approaches on LinkedIn or I got, you know, some mass mens and gist spam the other day. You know, it's got to have zero response, right? To get out there and actually put yourself in the community. That's how you get into it. It's not, you know.

Velda Kiara (31:11)
Now.

Yeah.

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 were like, โ“ because of your location, it's going to be like difficult to like, and I'm like, but despite my location, can do it. 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

Carlton (31:37)
Yeah.

Velda Kiara (31:46)
That's the baseline I had for going to Jingle Con US. 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.

It wasn't like an official talk. It was just like chats we were having like, I think dinner or was it drinks? And like, 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're 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. was like, you remember?

Will (32:37)
Yeah.

Velda Kiara (32:37)
I was like, didn't,

like, it wasn't like, um, I actually been 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 to you firstly because you are a person and I've seen like interesting things you've worked on. And that's for people. They also say like, 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. And so it's like, yeah.

Will (33:01)
Well, I think that's the key thing

is that you presented yourself as like, this is my background. This was 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, have you. Right. Like that's, 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.

Velda Kiara (33:10)
Yeah.

Yeah. But yeah.

Will (33:26)
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 know? โ“ That's much strong, 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 someone's looking for something. It's like, yeah. Have you talked to this person? โ“ So anyways

Velda Kiara (33:29)
Yeah.

Yeah.

Yeah. And I think,

yeah, and I also think like doing open source actually really helped because then they could just look at like contributions I had made because that's like, 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 want to just do nothing and just apply for jobs. want to actively participate in like things that I want to do. So eventually something, if something happens, it does.

Otherwise, I still get the skills. yeah, it's like, it's tough out here. And now with AI, it's like, it's not going to be a nice, a nice environment because I'm like, it's a lot. Like there's a lot.

Will (34:37)
Well, but at the same time, I you 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 starting to use Codex with Django stuff. And like, I've never, 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, but like, it's like, if I, you know,

Velda Kiara (34:41)
Yeah.

Yeah.

Yeah.

Will (35:03)
I don't know, that's the mental thing I have, is that I use it as great for referencing, as 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 gonna replace the knowledge that a human has, it just misunderstands what a software engineer does. โ“

Velda Kiara (35:19)
Yeah.

Yeah, 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 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, think you have a good baseline to just be like, I don't want to 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 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, outsourcing decisions to AI. Like you can't say hello to someone without referencing AI or telling AI to like, hey, respond to this. I'm like, that's where I think the issue comes in. It's like, 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, like early talent.

how 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, then it just thinks for you. then, I mean, it could think to a point. It's not going to be 100 % sure. And how true do you know that whatever it's saying is OK if you don't know even what the truth is or what the actual source of information is? So.

They're pros and cons, but I do think that 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 are trying to level up and trying to figure out what's the best way to work with AI without necessarily impacting my brain and like having like

retaining content and retaining information. And so, I don't know, those are just like different conversations to have. 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 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 it's a lot.

Will (38:22)
Yeah. I saw

there was a headline and I know it's like click baity that like Y Combinator instead of like having people apply, which is going to evaluate you on your prompts.md file. Like they're like, oh, that's the only thing that matters how good your prompts are. I mean, and then like, that's not the onion. Like they're, you know, I mean, that says a lot about YC these days, but yeah. Well, well, let me ask. So specifically though. for you, right. So you do client work. The client just wants it to be

Velda Kiara (38:27)
Yeah.

Carlton (38:40)
you

Velda Kiara (38:40)
You

Yeah

Carlton (38:44)
Yeah.

Velda Kiara (38:51)
Yeah.

Will (38:51)
correct. How do you

Velda Kiara (38:53)
Yeah.

Will (38:53)
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 it helps you use it. If it doesn't you don't use it. But 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.

Velda Kiara (39:12)
OK, 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 100 things. are 100 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 you giving me your opinion.

Will (39:31)
Hmm.

So that, me too, that's the key thing

that people don't do is I'm always like, give me the source, right? Cause it won't unless you ask it for it. Yeah.

Velda Kiara (39:39)
Yeah, like, I don't know. 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, 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 apt to you to figure out if it's true or not. So I'm very cautious about that. So if I'm looking, โ“ I usually use it like that in 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, 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, at the same time, I'm still 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 don't know if I want to outsource that. Using it to debug JavaScript, because I do not like writing JavaScript, but I have to eventually figure it out. I do use it to debug JavaScript research. And I think the other use case was if I'm trying out a

Carlton (40:46)
That's the learning.

Velda Kiara (41:03)
I'd want to see how the tests would look like. So it's like, shows me like a mock-up of tests and then I could be like, okay, maybe I could think in that line. But touching my code? Nah, 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 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?

Carlton (41:41)
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, 10 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 or not unless these machines get suddenly much more capable than they are.

Velda Kiara (41:43)
Yeah.

Yeah.

Yeah.

you

Carlton (42:03)
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. Whereas if you force yourself to learn, you will.

Velda Kiara (42:06)
Yeah.

Yeah.

Yeah, 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 we also know enough that like how everybody's saying like, 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 have some.

long way to go before that's possible but okay.

Carlton (42:47)
saw a headline just today about how these LLMs can't replace a physician because they just can't, they know the facts in a way. They can pull out the facts from their training data, but they're not able to take a history and interpret it in a way that leads to a diagnosis reliably in some limited cases maybe, not like your general practitioner is going to be replaced by a machine anytime soon.

Velda Kiara (42:56)
Yeah.

Yeah.

Not okay, yeah.

Will (43:08)
Yeah.

Velda Kiara (43:09)
Yeah.

Yeah. And I think that, sorry about that. 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 boat for a while. And then I had to like, I had to like use weird like issues that people had 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 as long as your issues are not meeting what the bot needs, it's just going to be stuck in the same process. And so you don't get like also to contact customer care. I'm like, but I know we want to replace the customer support and with AI, but there is no learning loop and there's no human who's on standby if 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 other different tools. I think it is okay because sometimes it makes sense business wise, right? But it might not make sense to like... โ“

Will (44:18)
Yeah. โ“

Velda Kiara (44:38)
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 and you're giving me a service. So if I'm not giving you money for your service, so 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.

Will (44:54)
you

Velda Kiara (45:05)
And considering that there was a long Reddit thread, I do believe it's a real issue. Yeah. Yeah.

Carlton (45:10)
Other people feel the same,

Will (45:12)
Yeah.

I was going to say, I do feel like the three of us as engineers, it's, most of my friends are not programmers. And so it's interesting because we 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, it's taking over coding. Therefore it's going to just one-to-one replace all these other things. And I find that it's hard. It's an interesting place to be. It's hard to have like an actual conversation with people about.

Velda Kiara (45:21)
Yeah.

Yeah.

Yeah.

Will (45:42)
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, 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. So better at chess, better at go, like absolutely machines. And I'm sure there's going to 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, โ“

Velda Kiara (45:59)
Yeah.

Yeah.

here.

Will (46:12)
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, 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.

Velda Kiara (46:14)
Yeah.

Carlton (46:30)
I may do, I don't speak to people, so it's hard to know.

Velda Kiara (46:34)
That's even worse! What do you mean?

Will (46:35)
I gotta try that, yeah.

Carlton (46:37)
It's not because I don't

like them, it's that I never leave the house.

Will (46:41)
Well, you have everything. We have everything you need at your house. โ“ Wait. right. So technical things. did want to โ“ 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?

Velda Kiara (46:55)
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 beside that...

Will (47:08)
Who's got time for that? I gotta start coding. Yeah, I know.

Carlton (47:11)
Brilliant, brilliant,

go on then.

Velda Kiara (47:13)
Beside 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 the project I had, I had to do a lot of customizing. And so I had to actually get into the base templates, modify. And I was finding it hard to locate where those files were.

And also figuring out like which one does what. And as I said, I didn't read the documentation, but I had to because 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 views and the forms as well. And I found it so difficult. was like, why, why could we just create them normally? And it's like, we want to use just one for like all of that. yeah.

Carlton (48:07)
Why didn't you? Just out of interest. Just out of

interest. So the way I... So the base templates that I ship with Neapolitan, they're just sort of like, what do I call them, bootstrapping templates. So they get it up and I immediately replace them with my own ones for that view. I won't use the... the view, the list view or 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. The bit that...

Velda Kiara (48:25)
Yeah.

Carlton (48:36)
I think he's off genuinely that and I love it. I'm literally in love with it. It is crowd view itself because it gives you that namespace. gives you all the methods, but yeah, no, the first thing I do is I bootstrap the view. I, you know, I put it in, I've got, you know, my four line thing and I've rooted it and I load the page. Yep. It loads right then. Okay. Here's my own template. Um,

Velda Kiara (48:39)
Yeah. Yeah.

Yeah.

Yeah.

Yeah,

I mean that does work and it does work really well and I appreciate the fact that I didn't have to write a lot more views and figure out testing the views as well, it should never run for create, update and delete. But then I think once we got into like the actual, there is a certain way that we wanted the forms 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? But then at the same time, like, yes, it does make sense. But why?

Carlton (49:28)
So.

Okay, yeah. mean, so what do I do with forms? So I define a project level form renderer, โ“ which brings in the templates that I want to use for the forms. And โ“ I'll basically just use the stock ones. I've got some small, small customization so I can override the field template much more easily. And then I just define some CSS that styles them how I want. So I use the div templates and in my actual templates that I'm using, I just use the Mustache Mustache form.

Velda Kiara (49:49)
Yeah.

Yeah, yeah.

Yeah.

But you're assuming that I have that knowledge. I didn't have that so I had to like figure it out. you're really... yeah.

Carlton (50:16)
you know, close it and that's it.

Will (50:18)
Ha

Carlton (50:21)
No, no, no, yeah. Yeah, yeah, so what you'd really want is โ“ is is Will to write a Django,

โ“ Neapolitan for beginners. โ“

Will (50:29)
No, no, no, no, no, want just

ask Carlton just send him a DM. No, I do. I was thinking this whole time I did. I think I don't know if I 100 % promised you, but I told you I'd write a tutorial.

Carlton (50:33)
Yeah.

Yeah. No, okay. So the bottom line is it's massively under-documented for beginners. There are 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 put it together. But it's how I do forms, how I do templates, how I do...

Velda Kiara (50:41)
Yeah.

Very much so.

Yeah.

Yeah. Yeah.

I mean...

Carlton (51:09)
The thing I like though is that you said you

had to get into the source because the whole idea of Neapolitan 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 what you've only it's only like 300 lines on you've read the whole thing and you understand it entirely and you can just go right I'm just going to override that I'm going to override that I'm going do that.

Velda Kiara (51:15)
Yeah, you just get it. Yeah. Yeah.

I mean... โ“

Yeah, but you're

assuming we know where 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 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 library.

Carlton (51:33)
Yeah.

Yeah, no,

no, no, no, no. So if I will own entirely that it is not like 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 going to tell me off about the fact that I haven't updated it in ages.

Velda Kiara (51:55)
you

Yeah.

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 skewed this page or skewed, I would have like gotten it easier. But then I also skipped the documentation and assumed that everything would work as expected. So.

Carlton (52:25)
Yeah.

Okay. Well, what can I

Will (52:34)
I love that.

I love that.

Carlton (52:35)
say? 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. I never did. Um, including, you know, my take on, you know, Neapolitan API and things like this that I've people have asked me about. I'm like, Oh, don't love the thing is.

Velda Kiara (52:45)
Yeah.

Yeah.

Yeah.

Carlton (53:04)
I'm loathe to just put it out until it's right. want the API to be just so, how I want it so that, because it's stable and I like it stable. And if I'm going to leverage my projects on it, has to be stable. And then the sort of long list of semi-retirement is to improve the story for other people who don't know Django so well.

Velda Kiara (53:06)
.

Yeah.

Yeah, but I do appreciate the fact that it actually did crud really well, other than the customization that we had to actually do and override like different tags and everything else. It did work well. So I applaud you for that. But everything else, like getting on board and everything else, was like, nah, you need to do a lot more, you need to do better.

Carlton (53:36)
Yeah.

Okay, okay. Well, I'll have to lock

Will (53:45)
he doesn't hear it.

Carlton (53:47)
Will in a cage and make him write that beginner tutorial.

Will (53:49)
Yeah, well, as long as I

can get some pie charm time for it, then it's easier to do. Actually, I think this year it's getting a little bit easier. I was going say, as you're talking, Carlton, think the key to Neapolitan, just like Django itself is, like Django was built to solve a real world problem, right? That's what Jacob and Adrian would say and Simon, right? And you yourself, you're using Neapolitan yourself, right? It's not some academic thing. so I think that just...

Carlton (53:53)
Yeah.

Yeah,

Velda Kiara (54:14)
Yeah.

Will (54:16)
bleeds through with like, it's actually meant to solve a problem and that's the North Star. โ“ And that's where a lot of these other projects fall flat, maybe as they're just done to be interesting as opposed to like, nope, this solves my problem and I'm using it in my business and therefore.

Velda Kiara (54:28)
Yeah.

Carlton (54:32)
Yeah, no, I

use it. use it throughout my web application and it is 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 that I haven't yet outsourced back to Neapolitan because of these other changes that I want to get out.

Velda Kiara (54:40)
Thank you.

Will (54:40)
Hahaha

It's that meme

of giving a medal to yourself, Like Obama. โ“

Velda Kiara (54:48)
Yeah!

Carlton (54:48)
Yeah, no, but it's not just giving a medal.

It's like my past self having already walked the path for me and laid down the stones, right? And now my current self just has to walk along it. And it's like, wow. Yeah, thank you, me. Pass me.

Velda Kiara (54:58)
Yeah.

Will (55:02)
Well,

I mean, exactly for me, like back when Google was a thing, it like when I had 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, I still had it.

Carlton (55:10)
And you get out of the way.

Velda Kiara (55:21)
Okay.

You

Carlton (55:29)
Simon Willison has this line where he says 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's got the same problem again. And I really like that.

Velda Kiara (55:42)
Yeah.

Will (55:44)
Yeah, Projects and books. Should we switch to that?

Carlton (55:49)
Yeah, okay.

Velda Kiara (55:49)
Yeah.

Will (55:50)
โ“ Felda, maybe start with you. So projects, think you're going to discuss Django debug toolbar since you're a maintainer. โ“

Velda Kiara (55:57)
Yes,

shout out to Django Rebug Toolbar. You all use it.

Will (56:02)
And if you don't, should, you know, I still run into people sometimes at Django meetups who've never heard of it. And, and I'm, it sort of like puts everything into the suspicious glaze for me, but yeah.

Velda Kiara (56:07)
not use ear. I mean...

Yeah. So

as you said, it's a debugging toolbar 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, Mathias 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 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 starting out with 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 an end-to-end design from getting our own colors, getting the themes that we like, and seeing if we could also 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 do everything. I had to figure out where we're going to get designers, who do we want to get involved? And open source design is 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 designers are God's favorites because I don't know how you pull ideas from thin air and just create something beautiful and have people enjoy it. So I'm like...

I would love to pay you, but right now I can't.

Will (57:45)
Yeah, you have to find designers

on the make who it's worth the marketing for it to happen.

Velda Kiara (57:49)
Yeah.

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

I'm picking up design skills on the side. my โ“ open source with Owen Yeah, product skills because I'm like, now I need to come up with a timeline and I'm like, โ“ how long does it take ideally?

Will (58:19)
Yeah, product skills, yeah.

Well, and

this is like, was listening to this AI person say yesterday how like, know, 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. Like. It's not true at all. It's dealing with people. Like there's no prompt that can deal with people.

Velda Kiara (58:39)
Yeah. Yeah.

Yeah. And also giving like โ“ 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 designers as well. 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. mean, like, โ“ 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. It's like also getting to the user's perspective and being like,

Will (59:32)
Yeah.

Velda Kiara (59:37)
this is going to be too smart for the user or this is going to be like enough for 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. need to like bring it down.

Will (59:52)
See, that's very wise of

him to say that. You have to be very wise to dumb it down a little bit.

Velda Kiara (59:57)
Yeah, and I'm always like, but it works. That's not the point, it's too smart. And so, yeah.

Will (1:00:03)
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. 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 better? They're just like, they have no idea. But if I'm like, okay, go from here to here, โ“ that seems to work better because people can't articulate anything.

Velda Kiara (1:00:10)
Yeah.

Yeah.

Yeah.

Yeah, so I was like, simple

is always better, right? So I'm like, right now I have like a little Jeff in my head, being like, too smart, too smart. But yeah, also like putting yourself 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 Rebronctober. We're also going to get...

Will (1:00:38)
Too smart for us, yeah.

No, there's really s-

Carlton (1:00:43)
We should

do a deep take of that, that would be amazing.

Will (1:00:45)
Yeah.

Velda Kiara (1:00:59)
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 aiming for

Will (1:01:14)
Well, and there's sent there's

sentry for the advanced use cases, right? I mean, so yeah, you got to draw the line somewhere.

Velda Kiara (1:01:17)
Yeah, yeah,

yeah. So I'm like, as long as we have something going, we could definitely turn it around if there is actually feedback that we can work on. But if it's just like random being like, oh, interesting color, or I don't like that color, I'm like, okay, any suggestions you have? You know? Yeah.

Carlton (1:01:36)
Yeah.

Will (1:01:38)
Cool, very exciting.

Velda Kiara (1:01:40)
Yeah, and also calling out other people who want to get involved because once we have the designs in place, 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 can reach out and start making an issue.

Will (1:02:08)
All right, good pitch. Carlton, you have one, another one from Adam Hill, I think, to plug.

Carlton (1:02:12)
Yeah, another one

from Adam. So we had Adam on last episode and he's just nonstop as we discussed with him last time, but he's got a new project Django LSP. a language server, language server protocol in Django. It's, I don't know, support, โ“ order complete for your settings for the, think he's getting into models. He's looking, he's looking at all sorts. It's another, several of these now there's like that one, Josh, Josh Thomas who's got, another one. He's got a Django language server, which he's got.

Velda Kiara (1:02:14)
Wow.

Oooo

Yeah.

Carlton (1:02:42)
There's another one which is Django template LSP. So there are several in this space as well as โ“ what is it the, on, I can't think it, it's called Zuban, which is a language written by the guy who did Jedi. So the Jedi is the โ“ long time static analysis and auto complete 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 you can do tooling for dynamic.

Velda Kiara (1:02:53)
โ“

โ“

Carlton (1:03:11)
know, libraries, they, yes, they leverage stubs where stubs are available, but you know, they also 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.

Velda Kiara (1:03:11)
Yeah.

Carlton (1:03:25)
It's really exciting time. there's four there, but the Adams one came up this week and I was like, wow, him and Josh need to get together in the room because Adams got his jangles project and Josh has got his Django bird project. And then they've both got language servers. It's like, do we need some sort of celebrity death match at Django contest? Which one we're going to use or something? I don't know.

Velda Kiara (1:03:25)
Yeah.

That would be nice.

Will (1:03:44)
Like X Factor,

you're have like one direction, right?

Carlton (1:03:46)
yeah, whatever. mean,

ideally they could collaborate so they're not reworking, you know, it has to be a steel cage match to decide the winner then.

Velda Kiara (1:03:50)
Yeah.

Will (1:03:53)
Well, but this is, mean, for people who don't know, there's history of this in the Django ecosystem around migrations. 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. there's, there's health.

Carlton (1:03:58)
Yeah.

And it's the same now with templates

and it's going to be the same with APIs and it's, know, you know, it's, it's โ“ a sign of fertility. It's not a bad thing when there are multiple options in the ecosystem.

Velda Kiara (1:04:21)
Yeah, I mean, I didn't know that about migration, so I learned something.

Will (1:04:26)
Oh,

okay. Oh, good. Yeah, yeah. Yeah.

Velda Kiara (1:04:28)
Yeah. And

when Carlton said Jedi, my mind went to Star Wars. was like, Star Wars?

Carlton (1:04:32)
Yeah, โ“

Will (1:04:34)
Well, and even

I should double check. โ“ Russell Keith McGee did one of the three. Andrew Godwin did one. And I'm sorry, I forget who the third one, but there were three big ones at the time. I'm pretty sure there's some talks that I think Russell and Andrew have given about Mesa panel. There was something I saw where they went into the history of it. It's taken me a while to sort of piece that all together too. So again, sorry to the third one. We'll look you up. โ“ For me, packages, Django link check.

Carlton (1:04:47)
There was a panel, I think, as well, where they got.

Velda Kiara (1:04:55)
Mmm, yeah.

Will (1:05:03)
which checks broken links on your Django site, goes through your models. โ“ Pretty cool. I should use it more. And I actually was thinking of it because I was looking through something recently and I saw a broken link and I was like, So this is a long running โ“ 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 going to pick a lightweight one.

Velda Kiara (1:05:19)
Yeah.

Yeah.

Will (1:05:33)
This is called...

History of the Bible By John Barton who I think is a what is he's like a Cambridge or Oxford professor one of those Oxford โ“ 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 in 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

Velda Kiara (1:05:38)
Yeah.

Will (1:06:06)
โ“ little light reading.

Velda Kiara (1:06:07)
Wow. I mean,

does it give you like the โ“ how the different versions came to be? And is it like just from like translations and?

Will (1:06:14)
Exactly,

Yep. Yep. All about that. The different authors and stuff. to me, it like enriches whatever your belief system is to know about these things. So yeah, it's interesting.

Velda Kiara (1:06:22)
Yeah.

Yeah. Are you going to

write about it or share something about it?

Will (1:06:29)
god.

We'll see.

Velda Kiara (1:06:32)
I mean, you

could email me. I don't mind reading thoughts.

Will (1:06:35)
I don't know

if people want my religious hot takes. think I've probably shared. โ“ But yeah, but I'm a fan of studying anything. And yeah, maybe I would. 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, of lazy. was like, this is like the post LLM world, just the exercise of writing an essay forces you to come to terms with your own thoughts. And, you know, there's I'm sure it solidifies a book in my head to do even a quick take on it.

Velda Kiara (1:06:39)
you

Yeah.

Yeah.

Yeah.

Yeah.

Will (1:07:04)
Like for example, I just finished โ“ normal people by Sally Rooney, which I know is like a big thing and I had thoughts about it. โ“ yeah, maybe I'll do that. had based on my TLDR is I enjoyed it. I think I would love it if I was 25 at 45. I couldn't help but being like, she's so 25, but I mean, you know, come on. right. Anyways, Carlton, you have a book.

Velda Kiara (1:07:04)
Yeah.

You should.

Carlton (1:07:30)
No, no,

No, I don't. OK, I'll go then. I don't have a book. I have a course by David Beasley. It's on GitHub. So we'll put the link in the show notes, but it's called Python Mastery. And then you just clone it and there's a PDF and there's a whole folder full of exercises. And you sit down when you look through 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 these days we're ruled.

Will (1:07:34)
Or you have a thing, of course.

Mmm.

Carlton (1:08:00)
told that we shouldn't go anywhere near, but meta classes and the Python data model and get really in there. It's super. And David Beasley has taught this course as a paid course. He has stopped teaching it and made it freely available. And I really recommend it. He's also got an introductory one for people who just want to learn Python, 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 are where I think the excitement is โ“ now. I know people are more interested in static types and whatnot, but I think actually what's Python superpower? Well, you know.

Velda Kiara (1:08:29)
Yeah.

Yeah.

Will (1:08:43)
So it's skate to where the puck is gonna be. Carlton would be the.

Carlton (1:08:45)
Well, something that

will escape to where the park was 15 years ago, think, is in this case.

Will (1:08:49)
โ“

Velda Kiara (1:08:49)
I'm โ“

Will (1:08:52)
Okay, interesting. Practical Python is the name of the other one.

Carlton (1:08:53)
But

yeah, yeah, that's right. That's right. But, one's called Python mastery. And the reason I wanted to recommend it, cause we talked to time and time again about LMMS and them to, you know, they taking over the role of coding and then dumbing us down. And it's like, well, okay. If we stopped going out and doing manual labor, so we need to go to the gym to keep fit. Well, here's a way of doing some mental exercise to keep your programming chops and learning something, which is perhaps.

Will (1:09:15)
Look at you with the analogy. โ“

Velda Kiara (1:09:17)
Yeah.

Yeah.

Carlton (1:09:23)
little left field that you wouldn't do in your day-to-day work but is really going to make you a better Python.

Velda Kiara (1:09:29)
Yeah, agreed.

Will (1:09:31)
Yeah, well, that's also, I'll just give a shout out, Python morsels that Trey Hunter has done and still does for a long time provides these sort of you know, like crossword puzzle for Python people, kind of.

Velda Kiara (1:09:43)
Yeah.

It's called The Kite Runner by Khalid Hussini 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, 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 a place where it's war-torn and it's gut-wrenching, to be honest. So I would say read it at your own risk, but the literature itself is very rich in terms of how the user tells you the story, the perspective he gives you the story at, and how he builds up anticipation of...

one of the things that's going to be really impactful in the book and how he referenced it at the end as well. And it's so good. It's so good. It is so good. I like it because it's fiction, but it also has some history. it's like, half the things I thought would happen didn't happen, but they happened in a different way. And which is more mind blowing. I'm like, wow, wow. But yeah.

I'm trying to read more of Khalid Hussaini's work because he has written other books like A Thousand Splendid Suns and something about the mountain moved or something. But yeah, I'm going to take a time out before I pick up his next book because that was just too much. They are very much so. So I'm like, I'm going to be like, I'm going to pick up other books in like two, three months and then I'll get back to The A Thousand Splendid Suns.

Carlton (1:11:54)
then you need to relax a bit.

Will (1:11:55)
Yeah,

they're a little intense, but really good.

Velda Kiara (1:12:08)
but I highly recommend.

Will (1:12:13)
โ“ Maybe as our last question, โ“ magic wand, Velda, what would you change about Django? Apply that wand liberally.

Velda Kiara (1:12:17)
Yeah.

What would I change about Django?

Will (1:12:24)
So code,

community, docs, packages, podcasts, whatever, what would you improve?

Velda Kiara (1:12:32)
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 don't come at me. I am still in the community.

Carlton (1:13:11)
No, no, no, no, no,

I think we're neither just both weeping tears of...

Will (1:13:14)
No, it's agreement, agreement.

Velda Kiara (1:13:18)
So it's like, I love the community. 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 Jeng 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 spot on.

Will (1:13:40)
I am unusual for me. am slightly optimistic on this point. know, 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. PyCharm, Jeff Reigns is doing some sponsorship stuff. I know there's ongoing efforts to actually have an executive director. So I just want to mention that 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.

Velda Kiara (1:13:58)
Yeah.

Yeah.

Will (1:14:10)
VC funding.

Velda Kiara (1:14:10)
Yeah.

Carlton (1:14:13)
trouble is the resource for any given task is very low. So you know, you've got your nice project plan and you assign a low resource, the date flies out.

Velda Kiara (1:14:25)
Yeah, but yeah, time and money, time and money. If we had that, we'll just be, we'll be going on, we'll be going to Mars and Jupiter and being like, hey, Django is there too.

Carlton (1:14:32)
We would rule the world!

Django will be there. Django's not going anywhere.

Will (1:14:38)
Yeah, maybe Django will be there. heat death of the universe,

Django will still be there. โ“ Anyways, thank you so much for making the time and for coming on. Again, feels like, what episode is this? 190 something. We should have had you on earlier, but so glad you could make that. We were trying. We were trying for a while. So as part of it was scheduling. You were busy and there was stuff last year. โ“

Velda Kiara (1:14:44)
Yeah.

I mean, I could come again.

Yeah, yeah. Yeah, and I was

also dealing with like moving and settling in and figuring out life. So yeah.

Will (1:15:08)
Yeah, well, there's

something to that. โ“ we'll. Yeah, no, I know that we can't tell her that Carlton, that's you know, it's like I remember my parents saying, when I grew up and I was like, what are you talking about? You're so old and now I'm living it I'm like, God, like, you don't know anything, but it's to be discovered, right? You can read about it, but then you have to live it. And yeah, we have links to all the stuff in the show notes. And sorry, what were going to say?

Carlton (1:15:10)
I was still figuring out.

Yeah.

Velda Kiara (1:15:27)
Yeah. Yeah.

Oh no, I was saying I'd be happy to be invited again. I love hanging out with y'all.

Carlton (1:15:36)
Good, good, Steve. Look at the

Will (1:15:37)
Oh yeah.

Carlton (1:15:38)
Hustle people.

Will (1:15:39)
Yeah, no, this is how it's done people. This is how you just a meteor, you know, 2023 to now so.

Velda Kiara (1:15:45)
You know, like maybe if I could come in in like 290 or 390 celebrating 100 more episodes from this one, I'd be happy too. And yeah, I'd also love to work with either of you on like open-sourcing things. And yeah, I'd really be happy. I mean, Carlson has a specific way he wants to do things, so I'd be happy to help. Yeah.

Will (1:15:55)
god, yeah.

Carlton (1:15:55)
Yeah, okay.

Will (1:16:00)
I think Neapolitan needs some docs. You have a...

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's not the right word.

Velda Kiara (1:16:18)
Yeah.

Carlton (1:16:18)
No, mean the bottom line is haven't, he's on my backlog to do, you know, a nice tutorial. I just haven't ever had the capacity for that. like, you know, if, but you know, if Elder comes along with, actually use your product and these were 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.

Will (1:16:25)
I'll do the tutorial. I'm guilted into it. I'll do the tutorial.

Velda Kiara (1:16:34)
Yes.

Will (1:16:35)
Well.

Carlton (1:16:45)
increasingly these days has come out of a machine. It's like, no, that's not helpful. But Velda, from her own experience turning up and making a contribution, yes, that's massively helpful.

Velda Kiara (1:16:48)
Yeah.

Will (1:16:50)
Well, what would be amazing about

Velda Kiara (1:16:54)
What?

Will (1:16:55)
Maybe

when you have a small, lull, a RevSys official blog post on client stuff, using open source tools, referencing Neapolitan, just sort of throw that out there.

Velda Kiara (1:17:05)
Yeah, I mean, when I was getting frustrated, Jeff was like, go talk to Carlton or make a PR to his whatever documentation and get it done. And then when he saw you at the conference before I did, he was like, that's the person you should drag. was like, I just I'm meeting him for the first time. I don't want to be like, hey, I hate your project.

Carlton (1:17:24)
Yeah, don't be shy, don't be shy. Anyway, we've really got to wrap it up. We could talk all day.

Will (1:17:31)
Yes, OK. Yeah, sorry.

So thank you again for coming on DjangoChat.com, and we'll see you next time. Bye bye.

Velda Kiara (1:17:38)
yeah

for bye