Transcript: Freelancing & Community - Andrew Miller
This episode is brought to you by Six Feet Up, the Python Django and AI experts who solve hard
software problems. Whether it's scaling an application, deriving insights from data,
or getting results from AI, Six Feet Up helps you move forward faster.
See what's possible at sixfeetup.com.
Hi, and welcome to another episode of Django Chat, a podcast on the Django web framework.
Carlton Gibson joined us here by Will Vincent. Hello, Will.
Hey, Carlton.
Hello, Will. Nice jumper, by the way. And today we've got with us Andy Miller,
who's very active in the Django community. How are you doing, Andy?
I'm good, thanks. I am well, yes.
That's good. People are going to know you as NanoRepublica online, right?
Yes, that is the moniker I came up with as a teenager, and it's stuck
because it doesn't have any numbers after or anything like that. So it's just, yeah, that's
teenage me.
That's still an achievement, though.
You got your GitHub handle, you got everything else.
Yeah, it's that one thing that very easily, I'm not that, it's an anonymous, well, it's
not anonymous, because if you search NanoRepublica, you will find me, but it's just something
that I came up with as a teenager, and it's stuck. So, yeah.
Go on, tell us a little bit about yourself, Andy, behind the scenes.
Okay. Where to start? I did CS at university. Half CS, half electronic engineering. So not
your classic, I don't know, is it your classic or non-classical program?
No, but that's like, electronic engineering is like CS with an upgrade, right? It's that
one notch up.
Yeah, it was, the course title was Information Systems Engineering. There was 20 guys in
my year, and so that shows you how popular it was. You basically did everything from
the transistor all the way up to software, and I leaned towards more software in my third
and fourth year. I currently live in Cambridge. I do like, the broad thing, I currently live
in Cambridge, wife and two kids, and I'm running, I've been running and being as a freelancer
for the last six years, and starting a startup called Hamilton Rock. I'm CTO. That's like
the basic intro, I think.
Okay, that's brilliant. So where do we want to go? Tell us about freelancing. Six years
is long enough to have sort of had the good times and the bad, so, you know.
Yeah.
Yeah, I started in 2019 because I quit my job, and we'll say no more about that job,
except that I wanted out, but I also wanted to stay four days a week and not commute to
London. So those that don't know UK, Cambridge is about an hour on the train from London,
or maybe like an hour, two hours. I'm like, I don't want to commute that anymore. I'd
had enough. So trying to find a job for four days a week before COVID, and maybe remote
or maybe local.
Yeah.
It's not that, Cambridge isn't a huge city. There's a lot of tech here, but it's not all
web tech. So I was like, oh, I'll give freelancing a go. And here we are, six years later, I
stumbled through COVID, used some savings to kind of get me through some hard months,
but then there were some good times as well. And then I found regular clients who have
paid the way. It's like, one interesting thing, actually, I kind of,
reflect on for us as software engineers, when it comes to freelancing, I have like a few on
the go at any one time, but they are much different to say a graphic designer or a
copywriter or something where they might have loads of projects in a year. And when I say
loads, it's like, you're talking tens or maybe even get up to like a hundred in a year because
they're short, sharp things. Contrast that with us. It's actually like more multi-year.
I found contracts. You have three or four. If you get beyond four, your brain explodes because you
can't, the context switching between different businesses is just like, nope, can't handle that
as well as running your own business. So yeah, that's.
And so, I mean, so I, when I was free, I freelanced for a long, long, long, long time.
And for me, the big interesting question was always the pipeline was like,
where's the next project, the next client, the next thing coming from. If you can do a hundred
projects in a year, then it's kind of easy because you've always got a new thing coming on the
pipeline. And if anyone falls down, then no problem. But if you've only got, can have like
two or three or four projects going on and they probably don't overlap that much, then one falls
down. So it can be really quite serious, right? Yes. I, well, yeah, that's kind of where,
so I had a bit of a, I learned a lot on like non-technical communities. So there's like a
few freelance communities and I got one client through one of them, but also it's just been
active on LinkedIn.
As we love or hate the place, just kind of being there and maybe not trying to doom scroll, but just
people do business there as I've got, yeah, I've got a couple of good contacts from LinkedIn,
but generally it's, that's kind of where my writing habit, one of the reasons for starting
my writing habit, I read a book, I'd have to go and get it. It's in this room somewhere.
But it was a kind of like, my daughter says things like that. Oh, it's in my room somewhere.
In the office somewhere. It's like, I don't want to get up. But it was called the manifesto of no
pitching. I could, we could put it in the show notes at some point. But in it, it said writing
is a way to demonstrate expertise. Yeah. And so I was like, this is a way you show how good you are
or like that you have the expertise to not have to pitch for things. I should say, I also use like
freelancing websites and stuff to find the initial gigs and kind of, you just be everywhere. But
that's kind of what started the blogging habit. And that combined with, there was two other people,
guy called Jonathan Stark, who is a software engineer by trade. And then he's gone into
coaching and that kind of thing. And he does a daily newsletter every day, sends a newsletter
some days. Yeah. But he, it's very, it's all plain text. Like it's not fancy kind of like
images and all that kind of stuff. Sometimes it will just be like,
him asking a question of his newsletter and be like, I've had this idea, respond back or like
a question. It goes over the same points. He's just demonstrating his like, he has a book called
hourly billing is nuts. And, but then sometimes it's just an advertising for his Slack community
and what's been going on. So it's like, it's not, yeah, it's a newsletter every day, but it covers
the same ground again and again from different perspectives or it's advertising a podcast that
he's been on or that kind of thing. So it works quite well. And then the other one,
I followed a creative called David Kadavy. He's an American who's moved to Columbia,
discovered him ages ago. And he put out, he's about to put out his third book. Actually,
he had put out three books. He's like, I'm going to get them wrong. The middle one is time
management, not, not no mind management, not time management, get that the wrong way around.
He's about to do one about finishing. And the first one was about starting whole creative process,
but he brought out a book called the hundred word habit.
Which is where the hundred words came from. It was like, just try and write a hundred words a day
and see how you get. And so I was like, okay, I'm going to do this for a year and try. I'm not doing
every day because writing it the weekend when you've got small kids is you have a little
support group moment there. Yeah. It's like, no, no, I'm just doing weekdays. I have control over
my weekdays. So yeah, I started, where are we? We're 26. I finished. It was two years ago. Yeah.
Four. Cause I, I went through them again, just in prep for this. Yeah.
And so, yeah, I started and the main, yeah, it was like, this was the reason to start. And then
I had quite a lot of content loaded up because I'd been active on the discord and some people
ask the same questions again and not the same people, but new person comes on.
How do I do user types? Or you see the same mistakes like people using underscore all
don't do that. Well, it's fine to start with as a prototype, but really you want to
specify your fields cause you're just gonna like bad habits that you see again and again and again.
So I was just like, right, here's the content and you just write and write and write
and it's led places. And then I, it's just forced me to also put ideas out
into the world. Ones that were ready or ones that were not ready. But where I've had ideas
for packages or for, I don't know, community ideas, things that just, yeah, you've, you've
both followed along and people can go to my website and just scroll through and search, but yeah.
Oh, no, it's good. It's a good effort. Cause you do keep it up, which I'm always impressed with.
Yeah. It's down to about once a week now. So
I mean, it reminds me of us in a way in that you started off with these foundational things of like,
you know, models, templates, URLs, you know, our early episodes were, we're kind of like that,
almost like university courses or like sections from a book where we talk about Jenga rest
framework. And then once you exhaust that, then I saw, you know, for you, then you,
you know, you do like a 10 part series.
Yeah.
On building something from scratch or you'd have different ideas. It's,
it really is that, that muscle of like being forced to think of something. And
because otherwise it's so easy to have a thought and then, you know, something happens and then,
you know, off it goes. And, you know, I find it's, it's, you have to think about it as doing
it for yourself and then everything else is a benefit, but there are these huge benefits that
you don't, but you can't, it's not a one-to-one thing, you know?
Yeah, exactly. It was just, I'm doing this goal and I'm just going to see where it leads.
And just try and just like, keep, keep pushing it. It was difficult towards the end. There was some,
and over holidays, it was like, what do I write about? And there were some days I was at like
11 o'clock at night being like, I have to put word pen to paper or metaphorical paper and just
get something out. But yeah, it was just doing it for myself and just push and the benefits.
It's not a lot of words either. I mean, I re I re I guess you started doing parts,
but I mean, I remember, you know, cause a number of them we, we put in
the newsletter, I would regularly on some of your technical stuff be like,
it was like a cliffhanger, you know, it was like, I was like, wait, keep going, keep going. Like,
how could you, I would almost find that the hardest is like, cause for me, if I finally
get something going, I'm like, all right, let's, let's just get it all out.
Um, yeah, it was like poetry almost. So like,
yeah, the cliffhangers were kind of like, when I had a series, it was like, oh, great. That does a
week or something because I'm thinking about it all the time. Like you write it and then it's like,
what's the next topic?
So doing a series was actually easier to some extent, cause you go, right. Okay. I
can just break it at different points. And for me, yeah, I was like, I could have written it
all in one go, but it was nice just to kind of go, right. That's me done for the day, move on.
And you'll probably get some of the later posts, like even the ones that I'm writing now
are probably gonna be slightly longer. Cause I'm like, okay, this is my post for the week.
I'm not gonna intentionally split it up for a daily thing.
It's I should probably take some of those long, those series and concatenate them into
longer posts at some point, but you know, maybe.
I like this. I like people doing this. Eric Mathis also has his mostly Python,
you know, I think, I think there's room for technical series of things,
but Carlton, you were gonna make a point there.
Well, no, I just, I don't wanna swing away from writing, but I did wanna cut back
slightly to the freelancing just before we move on. But you're working, you're doing,
doing startup now. Is that, is that, are you still freelancing as well? Or are you doing the startup
full time? Um, half and half, I am full time on the startup. I have been for like the last
few months freelancing as well. Yeah. I'm, I have a couple of maintenance contracts,
uh, and some people paying off bills and then I've got like an advisory role.
I do need to go back and do, I think I'm tomorrow. I'm looking at my financial planning for the year
and I'm like, I need to probably go and do a bit more freelancing this year just to yeah. Cashflow.
Okay. So what I wanted to ask you about was then how you're feeling at the moment,
because you've been, you've, you know, six years is plenty of time to see the ups and downs of the
business and see how it works. And you know, you go through a, you know, quite a bad recession
previously, and then there's this current situation and I wonder what, what are you,
are you optimistic? Are you pessimistic? What words of advice do you have that kind of, you know,
how do you, how do you see the situation currently? Cause a lot of people are worried and struggling.
Oh, that's a, that,
there's a, that's a big question. That's a deep question.
On the face of it, I wouldn't recommend freelance. If you're freelancing, seriously, I wouldn't,
for me, I wouldn't recommend juniors do freelancing because as much as it is easy way,
it's an easy way to then kind of give freelancing a bad name or contracting a bad name. I, because
I think I benefited from doing freelancing, not 10 years. No. Yeah. Almost 10 years into my career.
I think like I had some experience to kind of go, yeah, I can build things rather than
people going. And I've seen it in discord where people come in, like I need to build this for a
client and I have no idea. And you're like, surely you need to have some idea of how did you like,
but it's blindly, you don't want blindly in the blind. That's just my, but that's
for me, how I feel about the current situation. Personally, I, I put it down to faith. Like I,
I believe I'm a Christian. I believe in that, but that's, and that's kind of part of the reason I
did like, I trust something else. I trust God. And that's part of my, like kind of why I went
freelancing as well. Like I was like, I'm just stepping out and trusting that money's going to
come through at the right time. And the right decisions are going to come that people are going
to show up at my door effectively. And that's kind of happened like where I even the kind of the co
founder, how my co-founder reached out or was looking for someone. I was just like, I wasn't
expecting to get that at all. We can talk a little bit about that. But yeah, yeah. Yeah. Yeah. Yeah.
Cool. Um, we can talk about it in a minute, but like, it's just that I think you've just got to
step out and just try it. It's not sitting still it's doing the cold outreach doing kind of applying
to all the things, but it's then going, what's the right thing. And just that's not really an answer.
I know, but it is an answer in terms of like, you got to do all the right things and there are
plenty. I'm not going to like go consume knowledge. Like for those, those that want to start businesses,
there's like hundreds of podcasts and during COVID I was listened, binged listened to
hunt like hours and hours and hours on general and not even, and don't limit
yourself to like software freelancing, like listen to design freelancers, listen to copy
with writers listen like get wide perspectives and be don't be the only be the only software
person in that room like i'm definitely part of some communities where i'm the only software
engineer and it's like great that's like if people are going to come to me if they have software
problems and you have a podcast too like we shouldn't sleep on that right in progress
you've been doing for a while i think i was one of your very first uh probably signed up
yeah i i started that uh just experiment with a platform that kind of someone else had
put out like a private podcast i was like i want to experiment with this so i was like i'm just
going to talk about and like experiment it was like for me it's also with the content game it's
like start with writing okay i'm comfortable writing start with then go to audio and then
maybe i'm not promising anything but maybe this year i experiment with video like i've kind of
got the setup i did get this all set up to do video but i hadn't got the kind of screencasting
i need to sort that out and the editing process and kind of
that's the next stage that if i have some time this year maybe i'd look at videos like
one video i'd love to do or series i'd love to do is a video series of the official tutorials
and just step that through and keep it to the lts versions i'm not saying every change i'm
going to re-record a video but the idea of again when people come to the discord or to the forum
they're like i want to watch a video and you're like okay youtube's not great they teach a lot
of bad practices we often come people come and we come fixing like they're not using the
forms and that kind of like there's not a good set of community videos there are some but there
a lot of them are should i say want people who want to kind of show how to be sell courses or
want to be entrepreneurs or go from zero to hero which is not i'm not saying there's anything bad
but there's no one from the community that i see doing or they don't get any views like there's a
couple there's i'm not gonna throw out names on this but there's a couple people i see their
content and i'm like this is this is amazing like why would i ever do a course like this
and yet they have a fraction of the views of someone who does a lot of things on a lot of
topics and then you know they get they're helpful i guess on django but they complete they're not
django people right they're not even web people so they miss so many best practices and yeah i
feel the same way i mean there's some people who do good stuff but it's interesting that like it
like no one at a django con is doing has like a million views on yeah youtube and same thing in
the same way no one who's at a python or involved in python is one of these people making a million
subscribers there's this disconnect i think between video and python django i yeah don't
know what it is it's just the community aspect i'd want to be someone in the community doing
videos if that makes sense like will you're probably one of the top people in that like
yeah it's yeah anyways i don't yeah i i that the thing is video takes a lot of
a lot of work it's a totally different skill set also the people looking at videos i think are
younger than us many of them you know so like there's a whole bunch of factors um and as i say
i think the thing is writing writing is so like you can write from anywhere you can go right from
a cafe a video like you need so much setup and there's just so much more production involved
for it not to look terrible that it feels like if it misses it's like a much bigger you know it's
like i don't know it just feels like a bigger miss
oh completely and that's why i haven't done it today because i've stalled on the kind of like i
maybe recorded one video and i was like what do i do now in the terms of editing and i'm just like
i was like nope okay and just stopped so i was like writing audio like because with the in progress
one i've automated all of that as well so i hit stop record it churns away does the trend like
ai does the transcript opens a pr for me on my website i review it i like your transcripts by
the way because sometimes
you know actually often i i just i like reading more than podcasts or vodcasts so i just like
blast through it so i appreciate that you have that yeah that was that was a christmas project
of i was like whisper cc whisper cpp does the audio to text and then i pass over another does
another pass i think with the local model to kind of categorize it and do the section headers and
stuff but yeah well i'll say one more and the carlton has the title of the podcast and i'm
the heavy questions but i think we're sort of circling around like you seem to like freelancing
right i mean this is the thing is that when you freelance you your mind is so activated with
different projects and problems that to go from that to working for one company on one code base
is you know it it's a tough transition yeah i what's been really interesting is that the last
month has been intense and i've come out of it and i'm like wow that was intense just to work on one
thing week in week out day in day out kind of thing because normally like the last couple of
months i've been focused on it but in the evenings i've been i'm like playing with other bits and
pieces of django or other little projects and side projects kind of thing but it's just been all
focused and i've enjoyed it though i've been kind of enjoyed the progress i've made and yes yeah
it's tough and i would have stuck stuck with freelancing and i will probably when this startup
i think freelancing i've enjoyed it and i'll stick at it but um yeah it's yeah i've really
enjoyed the freedom of kind of like freelancing and kind of family life and that mix um but it's
yeah it was an opportunity i couldn't pass up kind of like as things went along um and we can i guess
talk about the startup for now if you want yeah tell us about that so come on let's just okay
it's called
hamilton rock um i didn't come up with the name that was my co-founder's been working on it for
years before i did i came along um and it's a i'm gonna call it a fintech i'm not gonna call it a
bank while we do provide banking services i'm gonna get like with the legalese here it's we
don't have we won't have a banking license in the us it's going to operate in the us it's targeting
small e-commerce firms and so we're building banking and then we're going to add features
and bits on top of that and then we're going to add features and bits on top of that and then we're
going to add features and bits on top of that and then we're going to add features and bits on top of that
target e-commerce firms and specific for them um to date i have just built the banking piece
that's enough there's just a lot to build when it comes to kind of moving money and storing money
and onboarding and all the extras um well floating fields decimal points integer types like that's a
like we've heard some horror stories i'm sure you have some right you want to you want to get your
model fields correct yes like so yeah big well i learned from last year with octopus energy and it
was a
bit like big into all the private yeah there's a timber yeah um big ints on all my primary keys
and all that kind of stuff um yeah everything's stored as cents um i'm not storing dollars and
it's like yeah i'm storing all the sense and we're backed by stripe so stripe do everything
in sense as well so it's just that one-to-one mapping um so far yeah i think the biggest
yeah the biggest interest in the banking industry is the banking industry
i've been building our own internal ledger as well and that's interesting we'll see how that goes
double book double book i hope yes double book um i'm using pg triggers and stuff to make it
append only and that kind of thing so yeah we'll see how it goes i've like i've gone yes this is
how i think it wants but we've not hit production yet so yeah a lot of it is still theoretical in
my head so i want to ask about the complexity of that because obviously that's quite a
um you know uh a complex domain in and of itself and it's got quite strict business logic rules
and it's the kind of case where people would argue about moving um moving away from django
to a certain extent and adding a kind of um service layer on top of that with a business
logic in pure domain objects i was you know wondering if you might speak to that for a moment
i i've kept everything i've kept everything pure django so far yeah um the
so everything is either i'm using your library crowd views and i've extended that with extra
like ajax hate is it's html yeah pure html template partials a lot of partials a lot of htmx
views all the logic is currently in forms okay um most of the like internal logic is in forms
and then managers query sets it's all it's all there whether and the time i haven't i've still
called it a manager is there's an
onboarding manager which is like the only non-django it's just a class which holds
onboarding but onboarding is just pulling together different bits from the code base
and it's just into one place okay um the place i pull out of it is in forms i make a call out
to stripe when i need to do api calls and that's wrapped with caters um so caters is just its own
serialization layer going from django to stripe data structures and back um
yeah um and that's that's it so far and so yeah it's i will say i need to go one of my tasks for
either this month or next month is to sit down and i've been using claude code a lot um to get it
all out and some of that i do need to go back and just read and make sure that it's
doing it the way i'd like it to do so when it does come to compliance regulation i understand
what's going on i do like it's working as it should do minus a few bugs which i'm fixing but
it's that comp i heard the term the other day comprehension debt so making sure that my
understanding and ai's understanding is in line and i've been going so fast i know it's not aligned
right now and so i need to go and make it alive this portion of django chat is brought to you by
six feet up what's stopping you maybe it's an application that won't scale or an ai initiative
that just isn't delivering that's where six feet up comes in with deep expertise in python django
and ai they solve hard software problems modernize platforms and get teams to market faster their
impact speaks for itself automating healthcare pipelines for hospitals helping nasa explore
pluto building severe weather prediction tools and applying ai to connect farmers with vital
crop data when the stakes are high and the problems are hard six feet up is the partner
that delivers see what's possible at six feet up.com guide you before you cut in well i just
want to talk about that thing about putting your logic in forms because in from a sort of pure
view that's like horror because the forms are sanitizing data as they come in and then you've
got the the sort of the business logic in the save method or whatever to check that your business
order implied but what i like about that method that that approach is that it scales to quite
quite nicely and then if you do need to separate those two steps the data sanitation from the
business it's very easy to pull it pull them apart yeah i found it's like for me it serializes all
forms of the place you put logic in the business logic and then you've got the data sanitation
in django i put it in air quotes because like without inventing a new class that's the place
i'd put it and if i was i'd probably shift it into query sets or managers as like if it needs to
across multiple models or multiple like but um yeah i've so far i want to try and keep to that
that kind of architecture as long as possible until it kind of breaks down and we'll see what
happens then but yeah but at that point you've got better but you've got you know so not
i got other people then yeah yeah
i'm not writing code at that point hopefully
well you were gonna well i mean so many things to think about i i want to give you a chance to
talk about i think you published this yesterday model renders uh so component stuff around django
which is related to forms do you want to can we mention more about that i thought that was kind
of interesting we'll put a link in the show notes to this post so one thing that i played around
with when i was starting out i was like i'm gonna do this i'm gonna do this i'm gonna do this i'm
curling up the start uh hamilton rock i was like i'll play around with form render form renderers
because why not that's i want i want to try and reduce the amount of templates that i'm creating
so when it comes to rendering a form i want the form to look the same everywhere um ideally you
just do the brackets form and you're away and so i found myself i created a project form renderer
um which has some in it and then i ended up in that same file well it's actually one template
file you can do that and then you can do that and then you can do that and then you can do that
using partials so i've got one template file with a load of partials defined which define widgets
and the forms and you're just referencing partials from the renderer and i'm monkey
patching the widget templates so that's just two files that's all your form styles done
which is quite nice um and i was wondering wouldn't it be nice or i say nice it would
be an interesting experiment to see if like you could define a model renderer so like from your
from neapolitan
carton you've got two template tags of object detail and object list i think yeah yeah just to
render a table or a single instance yeah yeah but essentially taking that and making it configurable
from a class like a form renderer um and then have maybe a link to the form renderer for that model
as well i don't know what this is just this was an initial idea that i had at the end of last year
and it's like the idea of you define that and then go right okay if you want to customize how
your model is rendered on a page and you just go object or you can do that and then you can do that
on your object list and you're kind of one one idea i'm generally playing around with with the
introduction of with form renderers with simple block tag with uh template partials i think we're
very very quite close to having components in core django but they're just not they haven't
been drawn together yet into this is how you do it um i actually have one
from django it's django cottons i think it's a read me um they have a table which compares
i'm going to pull it up now uh give me a moment there we go it's got cotton django components
slippers and template partials and of course it's saying cotton ticks most of the boxes yeah
there's one which uh django components does but uh cotton doesn't do but i'd like to just
at some point spend some time going through that and being like oh actually wild django
like well partials doesn't do everything but if you do partials and then simple block tag you get
moat like extra like it's like what parts do you need to bring together from core django to
actually have something comparable and yes the dx like cotton provides a nice user developer
experience but i'm like how i think we're closer than we think we are in core django so i'm just
kind of pushing at those boundaries and especially where like i take the another blog post i wrote
recently about like icon packs using template partials yeah and i didn't come up with that
idea i will say claude kind of came up with that idea and i pushed it a bit and i'm like oh that's
interesting i never thought to use partials like that but it's just it did it and so i'm like okay
what else can we explore with partials and the newer things that haven't been
you
experimented much with in the later releases yeah no i mean i'm totally with you on all of
that i find you know i'm still finding template partials to be like revelation revelatory and like
then the patterns they enable and there's this idea that you've got one template file with the
past the related partials in it and it's like oh it's that one it's that one and they're all next
to each other and it's like that's that's lovely yeah and then for the full for the kind of the
component problem which i think is think of as the kind of problem of slots
you know where you need you've got an out you've got a layout kind of and you need to inject bits
into it and still the detail by itself even with template partial doesn't do that perfectly so
that's when the cottons and the one on i use um i use ht um pi for this which is um where you define
these fragments in um in python and i like it there's cotton there's django components there's
several options out here and it's just all of us together struggling towards
what are the patterns that we'll be using in five years time and i think it's really super it's just
a lovely time to be working in django around this area i think yeah i i'm just i'm resisting
essentially installing one of those third-party packages i'm just gonna every time i come up i'm
like what can i do in django and what can i patch in django to make it work and i will probably need
to install one at some point yeah but for the time being i'm like how far can i abuse what's there um
to see that's a really good technique i i so i used used to maintain um crispy forms i use crispy
forms for a decade and when i started the new project i was like i'm not going to install it
i'm going to see how far i can get with the renderers and template partials and and i still
haven't installed it i'm like there are bits where i'm like oh i could just do that dynamic
layout but i'm like okay what do we do what do we do and how far can we push it without
the dependency yeah i think that's like that's experience talking though sorry to jump in like
you were saying you know 10 years and then freelance like because a freelancer would
pull off the shelf oop solved solved solved right whereas with a little more experience you're like
even if i later go to it i want to play around and muck in there and have that deep understanding
and know where that line is but you don't know where any lines when you're starting out
that that's very true part of it as well is that for me as well i want to push i want to see what
django like i want to like if i hit the edge of like say and it's like actually we need this small
like template partials like template partials but like what's the next is is it like um defining
variables in uh in a template or something like that which means you don't have to necessarily
define i say a template tag's not a big thing but like what identifying the small gaps that then
if we do patch that if we do decide to patch it i'm not saying it's a definite but it's like
understanding where the edges are to then round them out and then you go ah here's the component
solution that we're looking for rather than
lumping more than we need into django core so it's an experiment in that way as well
yeah this is the way i think this is yeah it's not only how we find the right answers forward
but it's how you develop your own mastery as well yeah it's yeah it's win-win well and part
of that is also just taking like both of you have been talking about like oh this is what one does
it's finding yourself the time to do that right i think if you're if you're at a company
if you're just endlessly
reactive and dealing with pull requests it's very difficult to find the time to
not to learn but you know what i mean like to to round it all out and to
come up with these things because because the business imperative is not for you to do that
yeah that's that's a challenge and that's actually i i say one thing i'm going to enjoy when
when i'm being positive when the company grows is i want to carve out that time and make sure that
hamilton rock gives back to django and to open source and we
make time for that thing because i know intrinsically that i wouldn't be here without
django so i'm going to make sure django gets the support it needs within reason like and
but the business needs to function but it's good too right you'll get you'll get a good
django person out of it yeah exactly and you're investing in the foundation that you've built
your business on right yes exactly that it's it's not a stupid thing to do no it's not at all it's
it's complete sense but you just you need to walk people through it and yeah
i think all of that's really exciting okay so you talk about django and you're you're big in
the community tell us what all the things you've been doing because right i read off the list right
so yeah yeah go on like what i'll do in chronology i started i joined the discord and i realized that
was when i realized oh i actually do know quite a lot because i was at that point in the freelance
i was like i know what i know i've learned and then you go and you're like oh actually i do know
quite a lot because as beginners asking lots of questions and then i was asked to make you made a
moderator and i was like sure um and tim was a moderator shilling at that point so we both did
we're both very active and both moderators um i then went along to django con and that was in
edinburgh i really enjoyed that um yeah i was there for just the conference days that time
had family holiday during the sprints um then i was just continued to be active in the community
in discord mainly um kind of did the for i'm more active on the forum now it's an open tab
in my on my browser um started django social in cambridge after hearing john's interview with you
i was like yeah i could do that again another another freelance marketing like local freelance
marketing tactic i was like let's just be the
django person that everyone knows in cambridge um and you're in cambridge like i mean as an american
i cambridge is like you know it's not like the middle of nowhere no um but it's there's actually
there's not there's a there's probably more django here than you've you realize but it's all big
life science companies so they don't realize and arm has a big office there too right i mean just
has a big office and the university itself uses
django a lot as well but it's getting into those big places i've not been successful at all with
that but that's kind of like yeah but i've met a few people in in the community and other people
in cambridge that use django and it's like ah we have there's some connection it's the same thing
for me here like mit harvard like there's a lot a lot of django both being taught and then also
just the infrastructure and yet when i've interacted with some of those people it's like
a different planet of because i'm like oh django let's talk about it but yeah i haven't bridged
that divide i got i've given up trying but it's it's weird that it can be the same thing and yet
their world in my world is like so radically different i'm like what
yeah that's very much the case um i i'm looking it out the last year i've got made an admin of
the model of the discord for because i also started the online community working group
um last year i did the lightning talk django con europe about my hundred words um we have a link
we have a link to that timestamp so and then um also did django not sessions which was like that
was the starting point of me getting into contributing more back to the community as
well like code wise and being less scared of those things um if that makes it like it's like not and
i may it forced me to make time for it as well i think that's why i got in as well like tim was
you can do this but i was like
yeah but if you give me eight weeks to make sure i do it and i'm accountable to someone then it
will happen and that's what happened so the deadline there's a freelancer talking i need
a deadline give me a deadline give me space and i'll do it
the well i would consider you to be one of the more active and
more people are given more time so you know i really salute you and everything that you do and
yeah it's i realize it's one of i've described it i just goes back to university like i
in my when i was a teenager i was like didn't quite have a i had friends but it was like
didn't quite feel went to university i was like oh i found my people i feel like i found my people
again in the django community where it's just like get to walk in the room at a conference or even
on discord and you're just like you feel like we're friends and it's just like all talking the
same language same ethos same community right yeah yeah and i would i would say from an outside
perspective you you came in like this like meteor of the universe and you're like oh my god i'm so
like knowledge with this like hundred words where you know because jeff triplett and i do in the
newsletter we're always hunting around for stuff and suddenly it was like oh i was like oh again
again again again like i think i even told you i was like i would have put like almost all of them
in there but we can't just make it you know same thing with adam adam johnson i'm like i can't it
can't just repost everything you do but um but i think of you know there's i'm sure there's i'm
sure there's other people out there who have some you know similar or more knowledge than we have
but they don't commit to doing something right or they write amazing blog posts and then five
months passes right and there needs to be some consistency and commitment to i guess get on the
radar of people as oh and then from there all the you know i think that's the thing is like it's easy
as a practitioner to think i need to get better at coding i need to get better at python or django
and it's like you cut you gotta like put your umbrella wide and uh see what falls in you can't
just be narrow and in a cave
somewhere hacking away yeah it's definitely that consistency we're coming back to the
blogging or it was just like i'm just going to be consistent and some of the posts aren't about
django at all some of them are like i did this on holiday because but it was i'm going to write
every day and i'm going to um yeah i could have dropped off after that but it's just you after a
few weeks or months you just the consistency is there it's a habit and yeah but it's a community
thing too right i mean because i think about
this again like i feel like carlton and i we started off with i think pretty high quality
takes on django but at a certain point you know now what right it's like okay well now we'll talk
to people in the community or and i i've uh come to be more accepting of the fact that
there's nuggets of information sometimes we go technical but sometimes we're just
chatting as one would in a hallway or at a meetup and you know many of us are working
working remotely so there's value in that even if even if you know it doesn't have to be
reinventing the core of django every every podcast to be to have value but you know part
of me thinks like i should be like you know more more hardcore with everything all the time
no i think the it's what's the classic phrase you come for the code stay for the community
it's this is a really good insight into what we're thinking about as a community like getting
the breadth of voices is like ah this is where we're where we're thinking as a community and
the the the conferences are great like you go there but and danielle kind of made this in the
lightning talk in dublin it's like it's it's very exclusive it costs more easily a grand
even to get there right for a conference that's and probably more in the u.s i don't know i've
not tried to cost out the u.s one but well yeah yeah yeah but getting to these places is very
expensive for me
most people and so having online community and this is kind of why where the online community
for me started it's like how can we make the online community replicate the in-person conference for
everyone that doesn't get that wants to be there but can't be there for whatever reason um and how
do we experiment with ideas that are just yeah it'd be is it a like monthly onboarding an onboarding
call or a community call where people just get and the like the dsf or office hours is part of
that to some extent like that's one example of it and i think that's a really good insight into
it that kind of people just jump on a call once a week i don't get to join because it's dinner time
but that's that american bias i know yeah but but it's like like for example i know i've got
community inside on the discord we've built up like a staff team of helpers and moderators
and the private staff off topic channel is active like pretty much every single day there's just
talking and checking in with people and
it's private because it's the staff channel but like i could see that being replicated it's like
you get a small group of people and you just you slowly build it up and you can have community
online but it just takes time and effort and on ramps we've talked like you've both talked about
this before it's like smoothing those on ramps into the community and it not being you have to
do xyz it's like just help out and but it is that consistency as well like so many people drive by
ask for the help or their homework assignment or whatever and disappear the ones that stay around
are the ones that become part of the community it's and they're there and they choose to be a
part of it how do you handle um the setting limits to your commitment because you've got young kids
you've got a business you've got another bit of freelancing business on the side that you're still
doing you've got all the all the time you spend on discord you go to that you said you've got the
forum open you're doing these working groups you're you you comment on almost every you know
significant debate i can do you've got your blog that you're running how do you avoid um doing too
much with great difficulty um um i my calendar is an absolute mess where
it looks like an absolute mess to but it's like very strict scheduling of when i do things um
so time boxing everything though time boxing like i for example um yeah every night of the week is
probably there's something there but it's like doing either date night or i'm doing django stuff
or it's uh i do cub scouts so doing cub scouts or it's like or but then i've architected my life
that between 8 30 in the morning and 3 30 ish i can do what i like so like one thing that happened
during my freelance career was one client was having a production issue but i had at that point
had a day rate to or my day booked in with someone else and i was like i can't have this so i've over
the six years structured it so that people pay me monthly for a service but then it then gives
me the opportunity to choose how i run my day run my week i have
complete freedom and that's not so it does mean i can jump on a call at any time like it's not
i'm i have some standing calls but it also means i get to go climbing every monday or
i can go out for lunch with my wife on fridays because she has fridays like
i've worked to create that flexibility and therefore it means i can stay engaged in
different places and also worked with the freelancing to get my prices to a point where
i don't need to be working every single hour of the day generally to enable me to do the other
things like write blogs and it's it's creating that margin and then i fill the margin but that's
what you want to yeah with what i want to do and what i would like to do
that seems healthy i mean there's a season to things right i mean i feel like at some point
i was writing very regularly and you know all these things and now i just talk to carlton and
jeff and then everything else everything else flows from there yeah that's why i went from
daily down to weekly of the post i was like i've done the year but and i'd run out and i was like
i can't keep doing this because it was just all consuming for that year and i was like
now it's got to be a weekly thing where i when i have an idea and if i skip a week
so be it but it's like when i have ideas i'm not going to force them but i'll write about
when they come so yeah well and carlton's always been a good influence for me because
his kids are a little bit older than mine you know sometimes i would
you know be like i want to work on this thing but i'm at the playground or i'm i'm doing this thing
and obviously i won't spend time with my kids but he would always like oh no that's when the
deep thinking happens you know when you're pushing pushing a three-year-old on the swing
for 40 minutes you know it sort of frees up the space it's the equivalent of like a kantian walk
or something but with kids right yeah exactly that it's like but it is true it is true right
our brains are always going even when you're rock climbing part of you is thinking about like oh big
in that's interesting
yeah the guy david cadaby i mentioned he has this thing about um front burner and he has a
in one of his books he talks about front burner and back burner when you're cooking
and you have like the things you're focusing on the front and you might move something to the back
when you're just you need to let it simmer or something like that when cooking and it's the
same kind of thing with creative projects or code it's like you might be focusing on something but
there's always background work going on and you need to push them back you can't always be on
something so yeah all right should we go to
projects and books phase of uh things i'll say yes i'll start books how to build your own lm from
scratch i'll throw that one out there i have been working through so basically you in python build
like a gpt2 equivalent so going through you know pre-training pipeline i'll be honest i haven't
finished it i'm like halfway through it it is technical uh but it's super interesting and
i wish i'd you know instead i've been like i find myself drawn to you know like these books of like
you know people making snappy comments on ai but anyways build your own lm from scratch really good
knows what he's talking about um you don't really know a thing unless you you know code it yourself
from hand not with claude so uh so you can't i was gonna ask can you get claude to implement
yeah well no i love it i love your phrase comprehension debt because i was i've been
thinking about like what what is that
yeah there needs to be a name for this right like because even if the code is correct and
let's just assume that it is if i didn't struggle and type it like because i come from doing it
beforehand i'm like i go into these code bases and i'm like what is going on here like you know
it's like am i losing my mind it's like no i vibe coded that oh that's why i don't i can't like just
spin it up as much as yeah i'm not gonna claim i coined that term i heard it from a youtube
show on it needs some time for that
yeah but yeah it was an interview with um one thing on ai that i will say is that i follow a
guy called brian castle who's from connecticut and he has a site called builder methods that is
he's doing very sensible takes on a it's not all the vibe coding it's like he's targeting
professionals like ourselves and fairly sensible oh i know this guy or i don't know him but i've
followed a bunch of his stuff he's done like a million different like youtube channels and
yeah he's done a lot but it's he's a
focusing on doubling down on ai and he's produced some good tools that i'm interested in and been
using so anyway should i do book should i do my books or you do your book honey you do um
i too many to choose um i'm gonna plug disclaimer the author is a good friend of mine um for so for
fiction it's world of astrum um it's a friend of mine he has written a trilogy um it's like
tolkien-esque fantasy
um so he's got a trilogy out which is now in one big book and then i'm subscribed to his
patreon and he's got a quadrilogy or maybe more that's like set 40 years after the inept published
book so i'm reading like a chapter the first draft every month as it come as he's publishing it and
it's a very very good this sounds like catnip for you carlton you like these types of you know i
was just i was just thinking i could get that for the children um yeah um and then non-fiction i
one author i recommend i think i might have mentioned earlier rob walling um oh yeah
his book right micro microconf um i've just finished reading his latest which is exit
strategy about exiting business i know i'm nowhere near that but i'm reading it for context later
down the line preparing myself but yeah his advice and his is just very sensible when it
comes if you're interested in building a software business i entirely recommend it okay very good
um i've been reading um this little one by
ann appleburn called um autocracy inc which is about the dictators who want to run the run the
world it's about what's going on in hungary and you know what's going on in the united states and
what's going on you know around the world and the methods that um these people use to undermine our
democracies it's you know about sort of halfway through it and it's yeah it's it's it's pretty
good it rings true to the yeah and i mean it's out in 2024 and you know the start of 2026 it's
all the worse uh you know it's
anyway it's the autocracy inc it's worth reading it won the pulitzer prize so it's um you know but
it lays down quite clearly the kind of um behaviors you see with like the crazy things that happen in
the media and you're like why on earth is this happening in the media and it's all part of like
a sort of standard playbook that you know it talks about and it's like okay that that's
interesting so um yeah i've been reading that and enjoying it a lot uh quick uh well quickly
projects i'm going to shout out andy yours django prod server um
i think we ran out of time to fully dive into it but we'll link to it i've been following it i think
you're still kind of working on it like it's got a number of stars yeah i need to there's a few bugs
i need to fix and stuff i am working on i've got an open pr with django cookie cutter to get it
merged in um there's a yeah i need to fix a bug but that's kind of my next phase i kind of i've
talked about it on the forum in places is how do you market you've got a thing how do you market
what to do and this is like for great your own starter project
yeah well yeah i was like i could create my own starter project but actually it would be better
to get it into one that's already used so um lucky i know i worked i worked with bruno who maintains
it so i was like hey bruno could we maybe shift this into and he's like yeah he played around
with it he's like so that i'm also thinking of getting it um i need to work on django simple
deploying and get it into that as well i think be a good place for it to live as well nice pairing
um but yeah that's
it's there i just need to slowly chip away on it um this year and so keep improving it keep
promoting it um there might be a lightning talk or maybe something more no i heard you there might
be a you know the cfp is not till sunday yeah before you joined will carlton was rubbing me to
submit a cfp yeah yeah he's going to con europe with this yeah this weekend i will be there but
whether i'm doing a talk or not we'll see well i'll be doing a lightning talk but we'll see if
we'll talk good um my project is the at the end of last year the us in the online community
working group we opened a repo very similar to new features but for community ideas and it kind
of probably got lost the announcement probably got lost between board elections and six point
error release and that kind of thing um but it's sitting there you can submit issues of like i want
this to happen on github or discord or and so we can start tracking them and start implementing
features and or only people can start seeing what we've got planned as well i have dumped a lot of
ideas on there but um yeah go have a look but it's yeah community ideas rather than
stuff to go into django it's for around the community itself um i think that's good i think
that the new features board has turned has been quite successful it's given people a place to put
their ideas and several ideas have been promoted forward and it gives a chance for discussions to
happen and it's away from the sort of the main workflow and i think that's a good thing i think
that's a good thing and i can only see um ideas for the community having their own space
as being a positive thing too so super i just my project i just wanted to mention django health
check which um came popped up again this week um again it's uh uh coding joe what's his uh name
joe meron johannes meron um it's what is it it enables you to set up health checks for i don't
know um your caches your databases your disk space your memory and then you can ping those health
checks and then you can set decide what actions you want to take um in case you know suddenly your
disk space has gone to 80 percent ah i bet i want at least a notification that or i want you know
some automatic action to happen oh my cash went down you know it's no longer reachable oh i better
take action so it's a really good project and it's very easy to write your own checks and um you know
again uh joe puts an awful lot of work into keeping these projects updated so i wanted to mention that
great well i feel like we
could easily go for another hour but we'll try to keep it try to keep it to under an hour slightly
um i guess last last quick thing our magic wand question so if you had one power to change one
thing in django code community what would you put your foot down for i was thinking about this a lot
last week i i don't think i honestly it's the for me it's the funding and the budget of um because
in the community as i see it there's a lot of movement
a lot of ideas but they're all limited because we're all volunteers i say oh okay the fellows
are paid but even them it's like everyone is limited if we could hire an executive director
if we could hire more fellows or even or even hire freelancers like take the marketing and the
website it's like if you could throw cash at that great then you've written some posts around this
idea too yeah yeah it's just like the idea of i think that's the one thing i would change is just
give django a million dollars or whatever it needs
to just grow and then and i think that would allow us to just i like the leisurely pace that
django takes but i think we could be a bit faster if we had more and we would be probably naturally
faster and i think that it's there's i'm not saying everything has to go javascript speed
shall we say um but it's it's a bit yeah well i know that um you know jeff triplett is the new
president and the new board are are we going to be able to do that um i think it's going to be a
working on this people have been working on this uh i know it's going to be frustrating because
there's a lot of behind the scenes stuff that until something happens you know it's easy to
say why isn't something happened but i know that i know this stuff is happening it's just it's also
a lot it's a lot of work to get a bunch of money from a big company i think that's kind of almost
the big problem is like if we had the muscle to get it but we don't and so they even if they want
to give it there's that disconnect yeah it's that's why i say the funding because i think
else is just sitting there like there's energy in different parts of the community and i'm like
if there was it's that i think the funding is the thing holding the community back
right now so if i had to wave a magic wand it would be money dumped into an account that people
could then use um i it's like yeah i just see the energy and people wanting to push it forward
and so i don't think we need any magic wand anywhere else it's just that kick up yeah
well there's this like meme of like you know just one missing piece it's like this brain with puzzle
pieces
and someone has a thing that's one billion dollars you know my wife and i like often
like share that we're like oh there's just one little thing would fix whatever realm it is
but yeah i i'm quite happy with django as the code like generally i was thinking i was like
i'm quite happy with like yeah it's got its warts but any 20 piece of software does have
its warts i'm like that's the job it's fun to work with the community is great
yeah i'm happy with it i wouldn't be here if it wasn't i'd have found something else
yeah yeah same well all right we're gonna have links to all the things um thank you for taking
the time it's fun to finally have you on again been reading your stuff for i guess over three
years now so um it's been a pleasure to be here yeah so django chat.com on youtube and we'll see
everyone next time bye-bye bye-bye thanks again to six feet up the python django and ai
experts you call for the hardest software problems from scaling applications to simplifying data