Transcript: Learning Wagtail - Kalob Taulein
Hi, welcome to another episode of Django Chat, weekly podcast on the Django Web Framework.
I'm Carlton Gibson, joined as ever by Will Vinson.
Hello, Will, how are you?
I'm good.
Hi, Carlton.
And today we're joined by Caleb Tallin, who's um one of the big contributors on Wagtail.
Hi Caleb, thanks for coming on.
Hello, thank you for having me.
Both of us met you at Django Con 2019 for the first time.
And yeah, you've got a really interesting backstory.
Maybe you could just start off with how'd you get into programming and then we'll talk about Django, Wagtail, and all the other hats you wear.
Yeah, okay, cool.
Uh yeah, definitely did meet both of you at DjangoCon.
That was fantastic, by the way.
It was my first Django Con, so I uh got the real Django experience, and that was just community as a different level when it comes to Django.
Yeah, and it's intimate.
It's it's not that big a gathering.
You get you do get a chance to meet almost everyone.
Yeah, and actually like, you know, be a person with someone.
That's that's really nice.
Uh so how I got into uh a programming, um, yeah, interesting story.
So like 20-ish years ago, 1999, Y2K-ish, when everyone was buying batteries and uh stocking up in canned goods, I had a a class project, I think I was like 10 years old, and they were like, make this website, which wasn't really making a website, it was like clicking a gif and like dropping it onto this terrible green background, and I hated it.
It was like the worst thing I could possibly think of as like a 10-year-old who just wanted to play outside.
I was like, why would I ever want to be on a computer?
And uh I think that often.
They made me do it.
Yeah, I know, right?
And it's nice being outside, especially when you can't really be outside too often.
Uh so they made me do that a few more times.
Uh and over time I just really grew to love it.
Um and then I started like playing games and joining guilds, and they needed website work, so I got into programming that way, mostly PHP, dare I say that.
Uh but yeah, got into it.
We all we all have our secrets.
Yeah, yeah, we do.
Uh so I got into it uh into programming that way uh a long time ago, before even WordPress.
Um and I've just sort of stuck with it throughout the years.
Oh, did I was gonna ask if you um if you went to university, if you studied computer science formally, or if it was more something you'd completely self-taught.
Oh, I would love to say I went to university.
Absolutely did not.
Nope, self-taught all the way.
Good for you.
Yeah, yeah.
Back in the day it was uh right-click view source or file view source, and you just read your HTML and your CSS one or CSS two markup, and you just sort of figured out how it worked by writing it yourself.
Yeah.
Well, I think at 1999, so high school for me, that was before I think everyone just uh stood uh stared at a computer all day long, whether or not they knew how to use it.
Um so even though yeah, I think we all sometimes feel like I just stare at a screen.
I mean, at least we have some control over it.
Whereas if you think of I saw some study yesterday that like third you know, 35 years of everyone's life is spent staring at screens now, which is um Wow.
That's that's terrifying.
Well, if you think about it, like between your phone and your computer.
Yeah, wow.
Yeah.
Anyways, so um when did Django and Python come on the scene for you?
Yeah, uh okay.
Uh sort of two questions in there.
Um so I was working with a startup in Ireland about five-ish years ago.
Uh we wrote PHP back then, but we had a lot of data and I needed to crunch a lot of data, and I was like, well, how am I gonna do this?
I I keep running out of memory and I need a more efficient way.
Turns out people write this stuff and give it away for free using Python.
So I was like, hey, let's check this out.
So I got into Python that way.
Um, and then Django came into the scene about three and a half, almost four years ago, uh, where I was like, well, Python's really nice to work with, uh, but can I make websites out of it?
And so Django popped into the scene when I started working with another agency uh and just sort of fell in love with with Django and uh and Wagtail.
Go on.
Well you say Wagtail, like so straight away Wagtail there was isn't it?
Yeah, so I actually learnt Wagtail before I learnt Django.
Right, okay.
Which is definitely the backwards way to learn it, but it's it's very, very possible to do it that way.
I think the thing I first knew you for was your learnwagtail.com site, which has all these video tutorials.
Do you do you recommend that people just jump in with Wagtail if they're curious with sites, or how do you how do you teach that today?
What you know, maybe can you expand upon if you're gonna start from scratch, if someone was interested in both, because a lot of people do use Wagtail for agency work.
Um, what would be their recommended learning path?
Uh I would have to ask them what their goal is.
So if they really just need like a a nice content management system with maintainable code and and uh a nice editor experience, then yeah, definitely just jump straight in, learn Wagtail right away.
Uh but if someone needs something bigger, like you know, they're thinking of maybe creating like uh Instagram in the early days, or uh I believe Disc Us uses it, that commenting system.
Uh if they want to create something big like that, I would say yeah, definitely jump into Django first, because your content management system is sort of just that layer on top of it.
It's it's interesting though that a lot of people actually what that's exactly what they need.
They want to build a website and they need it to be slightly more than just static HTML files.
Uh it's it's interesting that you because the the default choice there is WordPress, right?
That's the big elephant in the room, is people just everyone just ends up on WordPress.org and WordPress.com and they sign up.
And to what extent is Wagtail these days as a sort of first entry point for that person who doesn't necessarily already know Python or Django, to what extent is it that that option for beginning?
Um I think uh this is very developer focused.
Um in a sense, like if you were into marketing or you're trying to sell a product and you don't really know how to code and you don't really have that much of interest, maybe a little inclination to code, but you're not super interested in it.
WordPress is a great option for a lot of people, so is like Squarespace and all these other uh these other content management systems.
Uh but Wagtail I think really shines with people who want more control uh and you know who don't just want to install an SEO plugin that ironically makes their site slower.
Exactly.
You know, yeah.
We've I think we've all been there.
Is it still Yoast?
Is that the one?
There's a whole bunch of them, but Yep.
Yep.
Yeah, there's a whole bunch of them.
Yoast, I think, is still the brand name out there.
And you know, it's good, does the job.
Uh, but it will never do the job that a developer can do when a developer can actually get into the code.
It's sort of like washing your car versus getting a mechanic to actually maintain your car.
Yeah.
Well, I mean, at the same time, there is um I I think this is still the case with Google with their like page speed or lighthouse, whatever they call it now.
If you follow their recommendations for uh putting the Google Analytics code like like they want it, they uh say put it in the footer versus the header.
Or if you put it they want you to put it in the header, but if you put it in the header, then it'll complain on like page speed, you'll only get a ninety-nine because it's not in the footer.
So there's Yep.
Anyways, these these ironies are inherent a little bit to the tech space.
Yeah, definitely.
Sorry, so you were saying though, so yeah, so uh if you want beyond the WordPress option as a developer, is is that where you would say like Wagtail comes in?
Yeah, yeah, for sure.
Um also like code maintainability.
When we start a website, really when anybody starts a website, the idea is to like keep it small, maybe I just want a blog.
And then all of a sudden it's like I need a gallery and a contact form, and then maybe it gets a little bit bigger and sort of gets into more just Django-y things, and then maybe it even expands that and gets into like Python-based things where like you're encoding videos directly as soon as you upload them.
So that whole chain to me is very related.
You've got Wagtail and then Django and then Python, or the other way around.
You got Python and then Django and then Wagtail.
Uh really if you want maintainable, uh, a maintainable code base, I would say, yeah, Wagtail is the way to go.
Otherwise, you're really looking at WordPress, um, Drupal, things like that.
There's tons of other content management systems out there.
Some of them are great, and some of them are known for being less great.
It sounds it sounds as if as if then the the the Wagtail target market is exactly the Python target market, exactly the Django target market.
It's those developers who want the perfectionists, right?
Why is it that people use Python instead of PHP?
It's not because you can't write anything in one language or the other, but Python has a certain aesthetic to it which draws people away from PHP, and there's lots of people who you know don't feel that, and so they get they they don't make that that move, they don't come away from it.
Uh huh.
You know, you can build anything in Drupal quite easily, but WagTav's gonna have that that Python aesthetic for you.
Yeah, yeah, that's exactly it.
Yeah, the the whole having Python is just super friendly, especially if you're gonna build a larger organization or uh a larger product and start hiring an engineering team, like your costs are just going to be lower because it's easier to maintain, it's easier to write, it's easier to expand on.
There's a there's a number of large organizations using Wagtail.
What are the big ones that come to mind as the standard bearers of you can build a huge site with Wagtail?
Yeah, uh okay.
So there's a lot of them these days.
Uh National Health uh Nathno.
So the NIH, right?
The the British.
Uh yes, yeah.
NHS.
Um thank you.
My tongue is very tied with that one.
National Health uh service service?
Yeah, yeah.
Yes, that's right.
Yeah, so that's that's a really big one.
Um NASA uh is using it.
Um I've heard internally Apple is even using it as sort of their intranet.
I don't have any proof on that one.
Uh Google's been using it.
Tons and tons of large organizations, uh, governments, um, municipalities are using it.
So, I mean, that sort of gets on the more boring side of things because it's sort of like legally kind of municipality stuff.
Uh, but still that's that's a huge feat.
Uh plus there's all sorts of other projects, like my projects are all Wagtail, obviously.
Yeah.
What is the flow for getting a client to use Wagtail?
Because my sense is a client probably hasn't heard of it, and you know, uh so let's let's maybe that's transition to.
So you work with Torchbox, which is a a large agency in the UK that initially created Torchbox uh Wagtail.
I assume clients don't request Wagtail.
Like I guess how does that negotiation go?
Because I can obviously we the three of us can see how as a developer you'd prefer using Wagtail to WordPress these other systems, but I imagine there's some education that has to go on to the client, because the client just wants a solution that works.
That's a really poorly long-worded question, but do you see what I'm trying to get at?
Like, how does it?
So what would you say?
Uh so most of the time, but strangely, not every time.
Okay, so I've actually had a few clients be like, we specifically want a Wagtail site.
And I'm like, interesting.
How did you find out about it?
Yeah, exactly.
But like 99.5% of the time, they're like, hey, we want a website we heard about WordPress or Drupal.
Can you make that for us?
And we're like, well, we have to insert some education here.
So what exactly does the client need?
And a lot of the times the client doesn't need control over all of their templates.
They don't want to have control over their design, things like that.
They just want to be able to enter content and have it show up nicely, pretty much every single time.
And it can automatically generate menus for you and all sorts of stuff because the developer can go behind the scenes and automate all that stuff.
So usually there's that form of education where we say, hey client, what exactly do you need?
They say, Oh, actually, we don't need all this internal control.
We're happy to have a developer look at it, or uh, even if we don't, we can hire a developer to maintain it with on a contract or something like that.
Yeah.
And so uh a lot of a lot of times, most times actually, people are like, okay, that actually makes sense because you know the site can be performant, uh, we have total control over everything, and more often than not, we can't break it.
There's also the separation in Wagtail too.
Like in in WordPress, you can literally do everything.
Like you can get in there and you can break your own code if you want to.
Not really the case with with Word Um with Wagtail or uh really any Django site either.
Um, is what an editor gets is what they get.
They can't go and change the design, they can't go and change their SEO, and they can't install a bunch of extra plugins, and that requires them to actually talk to a dev, which means they're likely to make a better decision and keep their site nice performant, maintainable, and keep their customers happy or their users happy.
And so at the end of the day, most clients are like, that's what we want.
We want to be serving our end user the best we possibly can.
I think the key point for me there in what you said was that you can't break it.
It's really you know, because from a developer's point of view, a CMS is always like a pair of handcuffs.
It's like, ah, why do I need this?
I just, you know, create a template and do exactly what I want.
And I I don't need to define this page model and not go through all that because I can just create it.
But that doesn't scale out to a team of people where you've got folks who aren't technically literate who can't get in there and edit stuff without it falling apart.
And that's where the content management system comes in.
And you know, you need forms that are safe to enter data in and that appear nicely.
Yeah, yeah, that's that's exactly it.
Is basically you've got these developers or a single developer behind the scenes making sure that your site is always doing what it is supposed to do and it it can't break.
I've actually had a client who was like, hey, my co-founder likes to break things, and anytime he touches something, picked up his phone and his phone just like shut off.
It was like magic.
And he was like, I bet you can't make a website that he can't break, and he hasn't been able to break it yet.
So kudos to both uh people who work on Django and people who work on Wagtail because it's so far unbreakable to the most breakable person I've worked with.
I'm just thinking of past co-founders when you said that statement.
That's great.
Well, the the other thing about Wagtail is, you know, so WordPress, you every time you log in as a non-technical person, there's like another plugin that needs to be updated, and you can and often do just go, okay.
Um so I guess that gets said.
So what is there I know there isn't obviously the same size ecosystem for Wagtail that there is for WordPress, but are third-party packages as big a deal, or is it really just all wrapped up within the Wagtail itself space?
I would say third-party packages are a big deal.
It's not this massive ecosystem like WordPress.
I don't think anything is that big.
Um but yeah, there's there's a lot of third-party packages that really help you get more done.
Um, like if you wanted to add CAPTCHA to like a contact form, it's a third-party package because it doesn't really need to be in Wagtail Core.
The idea with Wagtail Core is we've got core and uh contributing packages, and we always want to keep a site nice and performant.
Uh so like if you needed something extra, you could just go and turn it on or install a package.
And in the Python ecosystem and Django ecosystem, that's really, really easy to do.
So we prefer to keep things nice and lean that way, uh, while sort of maintaining the core aspect where other people can build plugins, and it's it's easy to basically say pip install whatever your plugin is and add it to your installed apps, and it just works.
And where do you where would one find these?
I mean, because I'm familiar, there's an awesome Wagtail repo.
Is there a Django package or is it under Django packages?
Like where where would you find and get a look at third-party um packages for for Wagtail?
Yeah, uh two places.
So that awesome Wagtail repo is probably the best place, most comprehensive lists I think I've stumbled on so far.
Uh Wagtail also has a newsletter called This Week in Wagtail.
Um so every week we send out uh a newsletter and make a new little page with blog posts and packages and events that are coming up and things we've done to Wagtail Core and the the packages that the uh core team maintains.
Um so that's a second place people can sign up for that newsletter if they wanted to.
Yeah, yeah, actually I'm remembering that I think Wagtail 2.9 came out recently because someone from Wagtail uh emailed uh Jeff Triplett and me about our Django News newsletter saying, hey, we forgot to mention it to Wagtail people, but could you mention the 2.9 came out?
Which is yeah.
So yeah, yeah.
Unfortunately, things like that still sip through the cracks.
We're all human.
So what so so the so Springload, which is a New Zealand agency, runs the awesome Wagtail repo.
Um when we when um when Tom Dyson was on, he talked a little bit about this, but it's it's basically Torchbox and Springload are the two main agencies contributing to Wagtail, or how how does that look from from a high level in terms of who's guiding the development?
Because I know there's quite a bunch of hands in there, but there's a sense that those are the people kind of in charge.
Uh yeah, uh okay.
So I'm not super familiar on this.
Um definitely Torchbox is leading the development for sure.
Yeah.
Uh I think Springload might have moved on, but uh Springload, if you're listening, I'm sorry if I'm wrong about that.
Well that's yeah, that's what I recall.
There was like Torchbox and the UK, and then there was this New Zealand place, and then there was sort of a long tail of other stuff.
But yeah, that may have changed.
Yeah.
I think yeah, I think Springload moved on.
Again, I I could be wrong about that.
I think they moved uh possibly to Drupal.
I hope I'm wrong about that anyways.
Uh and there's a Swedish agency called Fjord.
Um really sorry, I know I'm saying that one wrong.
Um but they have been doing some really, really amazing work with Wagtail and open sourcing all sorts of stuff.
It's been pretty nice.
Yeah.
Well, and we should say, so you now work for Torchbox, right?
In addition to your educational content.
Yeah, yeah, that's correct.
So how'd that come about besides you having like I think the leading educational site for Wagtail?
Uh yeah, I I think it just really came about because of the leading uh uh site for for Wagtail education.
Um so I made this Learn Wagtail site, and uh one day Tom was just like Tom Dyson uh from Torchbox was like, hey, do you want to join the Wagtail core team?
And I was like, what?
I didn't even know that was a thing.
Um so that happened, and then just over time, as I got more involved in the team, he was like, Hey, by the way, we've got some extra work if you want to maybe get involved.
And I was like, I love Wagtail, I love educating people on Wagtail, I get to work with people who invented Wagtail.
This seems like a no-brainer.
So over time I got involved.
That's cool.
Carlton, how did you you've got several core titles in your bio?
How did how did it come about for you with with Django and Rest Framework?
Well Rest Framework.
Well you're not technically with Django, I guess, right?
Or well there's no there is no core team for Django and
what's that process of being of being involved and then you know the other time Christy.
Talk about Rest Framework because that's how I got into open source.
Was I was using REST Framework in agency work, built you know, building mobile apps, building um the back ends with Django, and using REST framework to build the API for the mobile apps.
That was you know, some early 2010s, that was how I made my living, you know, doing that.
And one day on the Google group's mailing list, Tom just posted a thing saying, Hey, look, I'm getting a bit overwhelmed here with all the Stack Overflow answers, all the mailing list answers, all the GitHub.
And so I got onto Stack Overflow and I started answering questions just in my spare time.
And you know, I did that for a little while, and then you know, on the Google group answering questions there, and then somehow just commenting on the odd issue on GitHub, and then Tom was said, Hey, well, you know, why don't you come and help me maintain?
Um and I was like, Yeah, okay, cool, super.
So I I remember clicking that mut I you know a PR I'd been sort of helping to review, and Tom gave me the the commit bit, the the access, and it was like you pressed the button, I was like, Oh, the button, the button.
For the first time, yeah.
Yeah, that was amazing.
Um that was all a long time ago.
So what I wanted to ask you, Caleb, about um maintaining Wagtail and in relation to Django.
So, you know, we we throw out a new version of Django every nine months.
So, you know, we're just um 2.2 is the current LTS, uh 3.0 is the current major version, 3.1's just hit alpha.
What's so first of all, what's the state of support across that range for Wagtail?
And then how do you find keeping up and updating it?
And if I'm a user, um can I expect to be on the latest version of major version of Django all the time, or should I expect that I'd have to hang back for the LTS?
Uh yeah, okay, all good questions.
Um, so uh our deployment time, is that the right word for it?
Uh is not nine months.
Uh we try to uh produce a new version every three-ish months.
Uh we try to stick to that timeline.
Obviously, things come up and we we can't quite get to it right on time.
When you say a new version, that's like a sort of new point release, like of new features and slightly ruined.
Yeah.
Yeah, new point release.
Yeah.
So like uh 2.9 just came out, so three months prior was 2.8, three months prior is 2.7.
Okay, so what again what makes the difference between 2.8 and 2.9?
Uh just features, bug fixes, contributions, things like that.
We just want to make sure that we're always working on it and getting the latest changes out there.
And because like it's a content management system, people are gonna try to break it, and sometimes people, you know, they find bugs and they go, oh, by the way, there's a security issue here.
And we go, okay, well, this needs to be addressed now.
Um then other people will be like, oh, well, I wanted this new feature and I wrote a PR for it.
And we go, oh, cool, but it doesn't really need to be in Wagtail Core right now, so we'll merge it uh and then we'll put out a new point release in within the next three months, and it'll be featured then.
Okay, fantastic.
So you do that every three months, and then Django's release cadence is nine months for a sort of major version.
And how does Wagtail map onto that with its versions every three months?
Uh right.
So it uh we do have some LTS versions of Wagtail, uh, and we do try to s uh sort of sync them up with uh Django LTS as well.
Um but for the most part, whenever Django has a new uh maybe not LTS version necessarily, but whenever Django has a new uh point release out and maybe it becomes a little backwards incompatible for for Wagtail, uh we try to make sure that that's always up to date.
So when Django 3.0 comes out, we want to make sure that Wagtail 2.9 can support Django 3.
When Django 3.1 comes out, we want to make sure that Django 2.9 or Wagtail 2.9 and Wagtail uh 2.10 will also support that as well.
So we try to stay in sync with Django as much as possible.
Because that's great news.
Because like my my my sort of view is you that unless you've got specific reasons not to, you should be on the latest major version and you should commit to updating every nine months.
And if I'm if I want to add Wagtail to the mix, I want to be able to update to the latest Django with the latest Wagtail and keep that keep that ball rolling.
Yeah, yeah, definitely.
Yeah.
So honestly, for my sites, all I do is just pip install Wagtail the latest version.
And because Django is a requirement, it just automatically bumps my version of Django as well.
And just as a one follow-up there, do you find it I mean how from a so we we're always trying to make sure that Django is as backwardly compatible as possible, as easy to upgrade as it can be.
How did from your perspective as a Wagtail maintainer, how do you find that?
Are we doing a good job there?
Is it nice and smooth or you know?
Yeah, yeah, you're doing a really good job.
Uh the hardest part for me uh has always been going from Django one to Django 2.
And it's not really like there's a lot of big changes in there.
It's like some pathing changes or we use a different module or something.
So Oh,
the URLs.
Yeah, yeah, the URLs.
That one always gets me too.
And I always forget about it.
So I'm like, oh, type in Stack Overflow, Django 2 2.0 URLs.
Sure enough, there's 30,000 answers for it, so find the solution pretty quickly.
Uh, but other than that, yeah, no, it's it's perfect.
Updating, there's let me put it this way, there's no reason to never be up to date with Django, in my opinion.
Super.
You can come on again.
Yeah, come on, come on anytime.
Um so I want to ask about uh deployment with Wagtail, because I mean WordPress fame, like I've been listening recently to um I think is it Jason or Josh Cohen who has WordPress Engine, which has like huge site just for WordPress deployments.
Is there a similar default in the Wagtail space or how does that kind of look in practice?
Yeah, uh so there's nothing like that right now.
Um the uh fantastic engineers over at CodeRed CMS are working on something like that.
Uh it's currently in a alpha beta testy phase.
Um so that's not out yet, but I would keep an eye out for that for sure.
Uh otherwise, most of us I think we'd default to just using Heroku.
Uh personally, I don't.
Uh I'll spend the extra few minutes and set it up on like DigitalOcean or Linode or EC2 or something like that.
Um for the most part, yeah, Heroku.
Okay.
Okay.
I think when when Tom was on, I think he he mentioned Heroku was his sort of default choice.
But um
Yeah, yeah.
Less DevOps to have to deal with and you can spend more time writing application code.
Yeah.
Well, and it seems like that space, someone, you know, as Wagtail grows, it makes sense, especially if it's agency work where you can just build a client, you know, as one less thing to worry about if if there's a tightly coupled solution there.
Um as with Django itself, Heroku's great, but it could be simpler.
So perhaps there'll be new deployment things in the future for for Django.
Yeah, I hope so.
That's one of the things that I actually really love about WordPress.
Ooh, did I say that?
Um, is like their famous five-minute installation or whatever it is.
It's like you click three buttons and it's up and running.
I absolutely love how that barrier to entry is so low that literally anybody can get started with it.
And I hope one day that Wagtail and Django has something like that as well, where basically it's like uh start a new Django 3 app and boom, within a minute it's up and running.
Yeah.
I think we'll get there.
So one of the nice things about Wagtail in particular is it has built-in search with Elasticsearch, um, which Django does not.
Uh my talk at DjangoCon is actually on search.
Um can you talk a little bit about how that works in practice?
Uh I mean, if you've implemented something with Elasticsearch, like is that would you ever use anything else?
Are there features that you wish it had that it doesn't?
Like how does what's the developer experience integrating search on a Wagtail site?
Uh search, I think, is really, really easy to implement um with Elasticsearch or really anything else that's that's supported.
Uh it's really just setting it up in your configuration and saying, hey, use Elasticsearch and here's your config settings.
Um it doesn't use Elasticsearch right out of the box, so you do have to set that up.
Um it uses just regular uh database search, I believe.
It's been a little while since I've touched that part of the code.
Uh but yeah, I believe it just uses uh regular like Postgres database table search.
You're talking when you say regular database table search, you're just talking about I contains insensitive string matching, right?
Whereas Postgres has um full search capabilities, right?
Um and so my understanding, you know, I'm not an information retrieval expert, but my understanding is that the the kind of inform the the search quality is just kind of equally as good because they all use the same underlying algorithms and they're more or less equivalent.
But the the where where Elasticsearch shines is through higher ingest rates, because you know it will just pull in the data much quicker than Postgres would.
But for a content management system, that's probably not relevant, right?
How often you're not you're not adding articles or re-editing articles, anything like the frequency that indexing issues will become a problem.
So my sort of question is well, why not Postgres full text search?
Why isn't that the default option?
Because you know, most people spin up a Postgres instance, they've already got that instance running.
And do you know why?
I mean, Elasticsearch, why is Elasticsearch the go-to option there rather than the scale up option?
Uh I think it's just really how the uh database is set up with all the different tables.
Uh, it can just make search a little easier because like Elasticsearch, like you said, just ingests data so much faster and it's easier to search through all of that than rather rather than making a database connection.
Um Postgres full I don't know if full text search is the default, but definitely Postgres regular search is the default.
Um I actually don't know too much about that in terms of uh Postgres stuff.
Um but Elasticsearch, honestly, and this is just my opinion.
Other developers might feel differently about this, but when it comes to using uh Wagtail as a content management system, most sites don't need Elasticsearch.
It's it's overkill.
It's I think that's just engineers wanting to implement something cool.
There are some cases though where we have some some Wagtail sites where you know they have a hundred or two hundred or three hundred thousand pages.
They've got half a million images that they want to search through to see like when uh they're copywriting uh the stock rights sort of expire.
I've seen that happen.
So like someone will buy the the rights to a stock image and they have to search through 500,000 images to see when that data's going to expire.
And so that's where Elasticsearch can really come in.
Um and Wagtail definitely scales up pretty nicely.
Uh I alone have a a couple websites with about 5,000, 6,000 pages collectively, all on one database.
Elasticsearch would probably be a good place to put that.
But I like writing application code.
Um and so I sort of cheat and I just use Algolia for the most part.
Yeah.
Because Algolia will do all the indexing for me and it's Yeah.
Yeah, so uh I'll just let them do all the the heavy lifting for me instead of me having to maintain more code.
But as well, hosting um instances like uh Elasticsearch is great when you spin up one, but it immediately start complaining at you that you need you know parallel redundancies and it's a bit of a pain to manage.
So again, like you know, hosted DB server or hosted this or take it, you know, pay someone else to run your Elasticsearch cluster.
Oh yeah, yeah, I've definitely done that with uh AWS and DigitalOcean.
I'm like, I I just want you to take my money and make sure my database is fast.
Just just let me do these queries that I shouldn't be writing as a developer and make it make it fast.
And they do.
Yeah.
Well I'm glad you say that.
That that mimics the advice I gave, at least in the talk and my my search tutorial around you know, start with basic filtering query sets, then you can add um if you need more, you can you can either switch to Postgres, Postgres stuff, and then if you need more, you can add Algolia, and then Elasticsearch is great if you need it, but it is quite a step up in uh complexity.
And Algolia really the only issue is cost.
I mean I've used it a number of sites and it can get expensive, but it's great, and it has all these wonderful like JavaScript autocompletes, and it's you know, it's basically like a uh with your mouse you can click and add the the boosts and um you know what is it, what's the what's the phrase for like your white uh your white label words or you can do you can kind of like make a custom dictionary of like common misspellings people make.
There's a phrase for that.
But yeah, I'm a big fan of Algolias.
I often would recommend it over Elasticsearch because you know if you use Elasticsearch, you probably really need it.
Or you already know it.
I mean, we've had a couple guests on who were just like, yeah, I did a prototype over a weekend.
Actually, the um uh Wenbin who did um listennotes.com, and he's it which is like a search engine for podcasts, and he was like, Yeah, I just spun up Elasticsearch and this and that.
And we were like, have you used Elasticsearch before?
He's like, Oh yeah, of course.
You know, I had all my notes, so it's like no big deal, but not a simple thing.
Oh yeah, yeah, no big deal.
Just spun up a cluster of Elasticsearch engines.
Not a big deal.
Yeah.
Um I want to ask you about creating content because you Yeah uh so maybe I'll start with so you have a couple courses on Udemy, including your complete 2020 full stack web developer course with 80,000 students enrolled, something like that.
Yeah.
Is that uh so that's that's PHP?
Is that is that an older course that you keep up to date or how'd that come about?
And then we'll get to your your wagtail stuff.
Yeah, uh so when did that come up?
Seven, eight years ago?
Um I don't really know why.
I just wanted to start teaching people web development.
Yeah, it's not a rational.
No, it really isn't.
It really isn't.
But it's just like one day I woke up and I was like, dang, I want to teach people.
Uh so I made this this huge full stack PHP course, and like it still covers things like raw Ajax, which a lot of people don't really even need to know because we've got like the fetch API now.
Yeah.
Um it also teaches like jQuery, which is like super frowned upon.
So like this course is definitely old and outdated, and people still seem to love it.
Well, it says 2020 in it.
Funny thing is though, jQuery still works, you know.
JQ admin, right?
The Django admin, I think, is still jQuit.
Yeah, well, we're slowly, slowly teasing bits away.
But yeah, I mean it's still there and it'll be there for a while.
Yeah, I mean this, you know, they keep updating it.
We're doing the same thing with Wagtail.
Yeah, so unpopular opinion here.
Um, and I hope nobody, or I hope anybody who's listening to this uh doesn't hate me for saying this.
There's nothing wrong with jQuery, in my opinion.
I agree.
For most cases, it is exactly what someone needs.
It's uh a drop-in JavaScript library where you can do all of your your DOM queries and add your event listeners, and it just works.
You don't have to worry about like um transpiling React or JSX into vanilla JS that supports IE11 or things like that.
It just works.
Yeah.
So so when did well just so do you recall when you first created that course?
And um was so that was a couple years ago that you first created that course.
Did you I mean did you call it 2020 back when you created it, or can you update the title?
I'm just curious of sort of the little.
Oh yeah, you can update the title.
Okay.
Okay.
Yeah, so I just added some extra stuff in there.
I think uh what did I update?
Uh I think I updated all the HTML content in there, and I added uh tips on how to get a job as the developer as you're learning, um, and things like that.
I added that this year, so guess the 2020 label on it.
Yeah.
Well, that's good to have that.
I mean, that's I've increasingly being asked how do I get a job questions from people who've read my books, and um, I probably should have a dedicated resource to point people to.
What do you say?
I mean, just out of interest.
What do I say?
Yeah.
Well, I usually say you should have three things.
You should have a couple open source projects that you can point to so that people can see what code you've written if you want a job on Django.
That way the interviews will be about existing code rather than white board fun.
You should have a personal site.
Really, I guess two things.
You should have open source projects and you should have a personal site documenting your journey, which gives people a sense that you can communicate, that you can learn.
I think people are feel that they don't want to document not knowing stuff.
Um, there's a sense of displaying your ignorance when it's really the opposite.
I think it's showing how you've progressed, things you've solved, and it really reinforces the learning to teach it, right?
I think you'd agree, Caleb.
Like you don't really know something until you can teach it to someone simply.
So that's really those two things is have a couple open source pro oh the third thing would be contributing to Django.
That's the third thing.
Um I do make
it one of the packages, maybe.
Or one of the packages, yeah.
That's true.
So, you know, there's all these PRs out there.
If you if you do that, it proves that you can work in a community, it's some validation.
And so if you have those three things, to me, if you have a couple open source projects, you have a personal site and you've done a PR on something Django related, that's top of the heap.
I don't really care about formal background or this and that.
Um but those are three things that are not easy to do, but uh I th I think those are a better use of time than acing your whiteboard tests.
Now, if you're going to work at a big company, you probably do need to be aware that they'll have whiteboard interview stuff, which is going to be core Python things.
But um, you know, I prefer talking about real projects and architectural decisions, regardless of where someone is on their journey as a developer, rather than you know, pinging them string manipulation off the top of their head.
What would you say, Carlton?
Well, I'd agree.
I think I think one thing you can say with your open source project is it doesn't matter if it isn't you know 100%.
What you should do is say, yeah, you know, I I did did this on you, I do this in my part-time.
I, you know, I get a little bit of time to work on this every so often, and just to be straight up about how much um how much person power you're able to put into it, because then that shows somebody you don't you don't have to be embarrassed about it because yeah, I mean it's it's only two hours a week that I get to do this, but you do that two hours a week for six months, and all of a sudden it's quite it's actually quite good.
And hey, it's only a couple of hours a week, and look at it, it's brilliant.
And it totally changes the the
dynamic, yeah.
Yeah.
I mean the fourth thing would be if you just go and start answer on Stack Overflow, the Django Forum, go to a conference, you know, just put your hand up.
Again, regardless of the level that you're at, that will really get you on people's radar.
And it's a very, as we've talked about, very inclusive community.
I I don't, you know, it's not a I don't know, impress you know, I'm more in people aren't what am I trying to say?
People don't care where you are in your journey as a developer.
Um in fact it's even actually I'd say more interesting someone who's starting out rather than established to kind of hear what where they're at.
Yeah.
And I think the sort of flip side of you know saying how much you can give is that if you have only got an hour, two hours, if you can just give that and do it for a period of time, it does add up to enough.
And people people worry that oh, I'm not able to, you know, I because of whatever reason, you know, I got four kids.
I personally I've got four kits, I can't do more than a couple of hours.
Like it just it just doesn't exist.
Um but you just got to keep going at that, and then you know, it's that's what I'd say.
Same as you, really.
Well, so what what would be the Wagtail version of that, Caleb?
If someone when people ask, uh if someone asked you uh for Wagtail specifically, I want to get a job as you know at an agency or something, what would be your advice?
Uh so definitely everything uh both of you guys have mentioned, uh, for sure.
All of that is top of the list.
Um, I would also add try to expand your network.
Uh the reason I say that is because I'm thinking about this from a business perspective.
So if you were running a business and you asked all your employees, hey, does anyone know anyone that could fit this particular position?
And they go, kind of, but no, not really, not anyone I can vouch for.
Then they have to go and look for quote unquote a stranger to the company.
Yeah.
And that's a risk, right?
Strangers are are always a risk.
It's it's a risk to like our personal lives, it's a risk to pretty much everything because you don't know what that person's gonna be like.
Yeah.
Chances are the person's going to be a great person because most people are.
But from a business perspective, like you still have to realize that you don't know this person.
Uh onboarding is very, very expensive.
Yeah.
And you want to make sure this person's gonna stay around for as long as possible so that they can.
This sounds very businessy, but they can uh increase their return on their investment.
And so I always say, like, if you know someone on the inside, that person can at least say, Hey, I know this person.
I might not be able to vouch for them, but I know this person, I know they can write Django or Wagtail code, and you know, I have some form of a relationship.
So you have that little extra step on the inside at least.
So is that like go to a meetup or join a you know, a Slack group or you know, these kind of
Yep, that's exactly it.
Yeah.
Uh so you know, prior to these last few months, I would have said, yeah, definitely go to meetups and just hang out with people, be friends with them, don't have an agenda or anything.
Just like, you know, ask people about the the knowledge that they've acquired about Django or Wagtail or Python and just have an interesting conversation.
Uh and again, don't try to get anything out of them because humans are really good at picking up on that.
Yeah, I would so I'm I just Googled how to get hired as a Django developer, and I actually wrote a post on this in January that popped up.
So maybe that's just because that's how I would phrase it, but it also shows how brain dead I am.
But I'm glad that we hit the five points I had is open source your work, have a personal site, go to meetups, four is contribute to Django, and five is believe in yourself, hashtag like contribute on the forum and Google group.
So it's amazing how you can, you know, it's like walking and talking, half brain dead.
I should put that on the learn Django site, but sorry, yes, Carlton.
Well, I was just gonna say, like, um what is the what does the Wagtail version of that look like?
The Wagtail community.
This the is it do you hang it?
Is there a Slack channel?
Is there a is there a forum?
Is there Oh yeah.
Like if I want to get involved in the Wagtail.
We used to have uh Google Forums or whatever that is.
I came in after that.
Uh now it's all Slack.
So Wagtail.io slash Slack will bring you to the right URL where you can just pop on Slack and have conversations with people, ask for help, ask really any sort of questions, maybe bring up an idea for a feature, anything like that.
That's great.
Well well Django has switched, well, has added recently.
There's a forum dot Django Project.com, which is a discourse hosted site, which uh to me actually I prefer that format to to Slack because I find Slack hard to search.
Uh but it's and I'm constantly referring people there, but it hasn't really taken off yet, even though there's all sorts of heavy hitters on there.
Um so that's great if there's an active Slack wagtail community though.
Sort of doesn't really matter what the platform is as long as everyone agrees to show up there.
I mean I know like Reddit, there's a huge Django Reddit group um that I am not a part of, but there's a lot of action there too.
So Django's kind of all over the place.
I don't know if you'd agree with that, Carlton.
There's sort of like the the you know that I don't know that what used to be core hangs out in one place and then the broader discussion happens all over the place.
Yeah, I don't I don't hang out on the Reddit thing.
I've always avoided Reddit for fear of my productivity slipping dramatically.
Um but same here.
But I do like the forum.
I try I try and check in on the forum and the mailing list as well.
The forum's more old school, it's like you can it's not as it's more async, I guess I would which is nice.
There's a there's a Discord uh sorry, go ahead.
I guess I struggle with Slacks in that if you I always feel with Slack that if you're not there at the moment the conversation happens, you've missed it.
I never know how to catch up with Slacks.
That's I promise Slack.
It's like a never-ending meeting without an agenda, is how I've heard Slack discussed.
That's a good way to describe it.
Yeah, yeah.
I honestly there's so much conversation in there.
Uh I used to be a part of 11 different uh company slacks and different groups and stuff.
Uh I cut that down to five, and now I'm only active in three of them.
Uh and even then I don't like go and scan every single channel in there.
Just whenever I get like at Caleb or something, I'll be like, oh okay, I'll check the thread.
Yeah.
Um so you do a lot of video content.
I want to ask, how is that for you?
Like how do you how what's your workflow now that you've been doing it for a while?
How do you how do you keep things up to date?
You know, because you have I mean the Learn Wagtail site, but Wagtail keeps progressing.
Like what so I guess a twofer.
How do you find creating video content as opposed to text, which I'm more familiar with, and then how do you do updates?
Uh yeah, okay.
Good questions.
Uh video content versus text.
Um, really, uh if you write a good blog post, you can really just like record yourself going through your own tutorial and boom, you got a video.
This is what people tell me I should do.
Like, don't do don't create new stuff, just talk through your existing stuff.
I refuse to take that advice.
Patrick Stewart doing Shakespeare's sonnets during the confinement, right?
Yeah.
You could just sit down with a glass of glass of wine or something like that and read your blog posts.
Me and Sir Patrick.
It's uh it's pretty impressive though, how much content one person can create, and then like if it's a blog post, you can just turn it into a video.
If it's a video, you can turn it into a blog post.
And how like even just having that extra piece of content somewhere on the internet that points to the original one is really helpful in sort of funneling more people towards your content.
Yeah.
Yeah, I mean there's there's literally YouTube channels with people walking through parts of my book that have, you know, six-figure traffic, and I'm like, huh.
That's but but yeah, the part I struggle with is the updates.
Like because maybe Wag is more stable.
I mean, Django is just I spend so much time just updating my books, like that's what I'm doing this week.
It's not even a major release.
There's just one thing or another changes.
Um and I don't that's what I wonder.
Like, is it possible to do up-to-date video stuff for a framework?
Uh I mean I think there is, but I I haven't cracked that nut.
That's kind of why I oppose it to you.
Um, or maybe you just sort of say, like, you know, this is pinned to this major release, and you're kind of disciplined on, you know, I'll revisit it, you know, at a certain schedule, but I'm not gonna drive myself crazy the way I do keeping things up to date.
Yeah, keeping things up to date in video format is really hard.
Uh depending on your platform though, like you and me or Skillshare or any of these education-based websites, you can just replace an entire video, just like what Vimeo lets you do.
So you don't change your URL, you can just upload a new video.
So updating that content is pretty easy there.
The the big problem uh is YouTube, actually, because you can't just go and upload a new video.
Yeah, you can only do that.
Yeah, and that gets really hard to update.
So usually in my videos you'd be like, oh, I'm using Wagtail 2.7 or Django 2.1.
And even if it does get a little bit old, there's still going to be people using Wagtail 2.7 or Django 2.1, or there's still a lot of people using Django 1.8.
Yeah.
And so even if you just tell them that, you're you're likely to actually help someone out in that regard because they're maybe a little behind or they're trying to upgrade and they're stuck on something that's your video or or your blog post or anything, your book, could help them with.
Uh, and then I just create new content on top of that.
So, like if Search got an overhaul in Wagtail, I would just make a new video on how Search now works.
Well, excuse me for the ignorance, but so Learn Wagtail is is it um how do you pay for stuff or is it still all free?
Uh so there's two parts.
There's a premium course, there's a uh a beginner-friendly learn Wagtail course on that, yeah.
Uh which people can pay for.
It's a one-time payment, no subscription needed.
Okay.
Uh, and then there's also all the the free videos, the original Learn Wagtail content, which has I don't know, 60 or 65 videos.
That's when I saw it, it's like all maybe that's back at DjangoCon.
It was like almost all free.
And I was like, wow, that's amazing.
Yep.
Okay, sorry.
Yeah, yeah.
So I I produced uh a new premium course.
Um the idea behind that was to uh just sort of get more uh income based on that so I can spend more time making the free videos.
Yeah.
Um and that's actually turned out pretty well.
Uh I would definitely say, you know, if you can, give that a shot.
Trial, uh trial it, of course.
I mean, it always depends on your audience and what people are willing to pay for and what kind of knowledge they're seeking and things like that.
Uh, but I personally like giving things away for free as much as I possibly can.
Just I like to overwhelm the end user with too much value, is how I think about it.
So you have your your free tutorials, then you have this wag deal for beginners course, and then what's the what's the advanced course?
I don't actually see it on your site, but I'm not looking maybe in the right place.
Yeah.
No, it's not on there yet.
There's no advanced course yet.
I've got it all planned out, I've got the curriculum and everything.
Uh I just haven't got around to recording it.
Um, exactly, exactly.
If if I had the ability to work longer without burning out, I would.
Yeah.
Well, I think I I think there is there is a benefit to having a sequential progressive flow to things, even if there's kind of repeat of content.
Because probably like you, on some level, I'm like, I've already kind of covered a lot of this stuff in one way or another, but still there's a value to just going like, do this, do this, do this, do this, do this, and you know, just it saves people time.
You just kind of go, boom, I'm gonna hold your hand and walk you through through this in a progressive way, as opposed to just searching around and you know, airdropping in, solving something, but not really getting that bigger context.
Yeah.
Uh so the way I grew up uh learning how to code was like you learn from trial and error.
You see someone's code, you paste it into your your editor or whatever you're using, and then you edit that code and see what works and what doesn't.
These days that's not the case anymore.
Uh people want to see exactly how to do things.
They want to feel more comfortable from A to Z, and then they'll go and experiment afterwards.
That's interesting.
But you still but people still probably find you.
How do people find you initially?
Is it YouTube or do they go directly to this to this uh Learn Wagtail site and find a video?
How do you think what's that funnel look like?
Yeah, uh that's a really good question.
I don't have an answer to.
Uh just because I'm on so many places on the internet now.
Like I've got a Facebook group with like 40, I think we just broke 49,000 members called Learning to Code.
And people just show up from Facebook in there and then they go to one of the courses, or they find a video on YouTube that I linked to at one point two years ago or something.
So it's sort of this this big cluster of all these different um these different streams that people are coming in from.
And I actually don't really know the best one because I don't get like all the metrics from Facebook, or I don't have all the uh metrics from YouTube or Udemy.
I have a slight idea, uh, but without the the formal knowledge uh and and the whole data set for all of them.
I don't know.
In my opinion, it's it's impossible to tell.
It's how long have you been working on it, would you say, over the in the total?
Because like what what it sounds like you've got is that critical mass of content where it starts to just feed off itself.
It has a kind of organic life.
You know, you're saying, oh, I posted this link to a YouTube video on Facebook group two years ago, and then I've clicked that, and then that leads in here.
That kind of critical mass, you can't build that in a day.
You how so how long would you say that process has been?
Yeah, oh uh the the length of that process is a long time.
Uh it started like seven or eight years ago.
Um I did take a couple years off of teaching because I got a little burnt out from it.
Um now that I got my process down, um, I can produce 10 to 30 high quality videos a week.
Oh wow.
A week?
Yeah, it's yeah, a week.
And they're not super long.
They're not like hour-long workshops.
Well, YouTube will caption it too.
Yeah, YouTube will caption it.
Uh Udemy will try to caption it.
I do go through the Udemy ones though, because there have been some pretty bad ones that could have gotten me in trouble that I'm very happy I caught.
Uh just for whatever reason, it thinks that you say one thing when clearly you did not.
Yeah.
Um, I try to do that, but honestly, for the most part, captions get left behind unless it's uh a bigger, more important course.
Um but if it's like a small course like how to make a calculator with uh HTML, CSS, and JavaScript, I'm not gonna caption that because it's only like 62 minutes.
Adding text, I mean, so on on this podcast, we've we've added the transcripts, um, which helps mainly for search actually, uh, which makes sense because if you type something related into into Google, it isn't as good at knowing the audio content.
Um so it's helpful for search.
The video, I know, I mean there was an argument I heard made back when Google bought YouTube that just the data and being able to improve its own algorithms for on the content was worth it for Google um way back when.
And if you think about how much content they have on there, they can just process it's they should have pretty good algorithms.
Yeah.
Uh so I've done a little bit of uh video encoding, transcoding kind of stuff uh before.
And I'm pretty certain that I don't think they can do it like real time because there's just so much YouTube content, but I'm pretty certain that once your video hits a certain number of views or gets a certain number of interactions that they go, okay, we're gonna process that content and then we're gonna actually throw that into how we perform our search behind the scenes.
That makes sense.
Yeah.
Well, we're we're close to time.
Uh anything else you want to mention or what, you know, what uh what future content can people expect from you?
I mean, you're so prolific.
Oh, future content.
Hmm.
I would love to give you an answer.
I don't really know.
I've just been sort of making it as it comes up.
Uh I monitor like my my giant Facebook group.
Uh so I monitor that for common questions and ways that I can help people.
So, you know, if someone, or I guess not someone, but if like 50 people in the span of a week are asking, like, how do I get started with coding?
I I don't know literally anything about coding.
Yeah.
Okay, well that's probably a good idea to make a video or write a blog post or something related to that subject.
So I sort of have a little finger on the pulse there.
Um and that can change from week to week too.
That's probably not the greatest way to do it.
I know other people they'll they'll structure out like their next five months of courses or content, and they'll just like stick to it, but uh I just don't have that kind of focus.
Well, and can I ask, what's the or how does the mix between uh contracting and content creation work for you?
Like how do you do you keep that at a standard level?
Does that you know wax and wane?
It waxes and wanes quite a bit.
Um it also it depends on how much work there is in in contracting, but it also depends on like how amped up I am or how fired up I am about certain content.
Yeah, because sometimes you'll make content like about Django stuff, and if you're passionate about it, that's all you want to do.
So you just like you're like, I'm just gonna finish this book.
I'm gonna put everything else on hold, I'm gonna finish this book, and then the client starts knocking and says, Where are you?
And you go, Oh, there's five hours left in my day.
Okay, I'll powder through that real quick.
You're just throwing fuel on the burnout fire.
Yeah, yeah, no.
So the word burnout's come out a few times.
So let me ask you that.
How do you manage energy levels?
How do you detect the symptoms of burnouts?
How do you how do you kind of keep going?
Because it's not it's not this week, it's not this month, it's an ongoing process, right?
Yeah.
Um oh burnout is I'm pretty open about burnout.
I've made a few videos about uh burnout and and how to deal with it and imposter syndrome and things like that.
So I think it's different for most people, but there are some common symptoms when it comes to burnout.
Uh so imposter syndrome always flares up for whatever reason, like two weeks before I start to burn out, my brain just says, I don't know anything about Wagtail.
Why am I on the core team?
Like it just gets like super negative, right?
Like, I forget this one import from Django, and I'm like, what am I even doing here?
I'm like, oh no, that's probably because I'm burning out.
Uh for energy levels, uh I really hope that they'll throw us some money for this, but Red Bull is a great way uh to
Right, but is
give it 10 or 20 years, like me and Carlton.
Yeah, is Red Bull sustainable, is my question there.
Because okay, yeah, I see that in that that hour the Red Bull helps, and for the next two or three, it's it's doing its job.
But then is there not a cost the next day or the next week or the next month for pushing to that limit?
There is definitely a cost.
So for me, uh it's great for about three or four hours, and then after that, it's just terrible.
My eyes hurt, my brain hurts, my muscles hurt, and I'm like, is this worth the four hours?
And it's sort of my my go-to.
Like, I don't have the energy today because I've been working on this content for the last two weeks.
Yeah.
I just need a quick little pick-me-up, and every time I regret it.
It's just But
when you when you so bad.
So the other sort of so let's say you're you're you're pushing yourself on because you've got some content to finish, a book to finish, or a client work to finish.
Do you recuperate?
Do you give yourself a recuperation period afterwards or something like that?
You know, the the the book's finished.
I really, really try to.
Um, I try to reward myself for all the work that I do, even if it's just like something dumb.
Like you make a list of five things you gotta do for a client, and they're all small things today.
It only takes an hour.
Make that list, check it off, pat yourself on the back, say, I did a good job, right?
That seems to help me with with burnout quite a bit.
Um, having hobbies that you love, very, very important.
I for a long time in my life, I I didn't really believe in like the whole work-life balance.
I was like, just work.
What's why do you need to balance?
Right?
And now that I'm getting older, I'm like, it is so important.
Uh so I have uh an indoor garden um and I do a bunch of hydroponic stuff.
Uh so that's a nice little hobby for me.
I literally get nothing out of it, I just get to care for plants, and that's that's what keeps me going.
I I love doing things like that.
Super.
Yeah.
Well, I I I'll I'm gonna mention I just recently saw it uh so Jason Cohen of WP Engine, the WordPress hosting, he had a talk I really liked on talking about his burnout, and he talked about the Venn diagram of wants, skills, and needs.
And if you find yourself repeatedly in the skills and needs where it needs to get done and you have the skills to do it, but you don't want to do it, that you know so you have this excess sense of agency about like only I can do something or other, like I couldn't possibly have someone else, you know, handle it.
That kind of exacerbates burnout, and you're really just completely wrong about it.
Um so I found that helpful.
But yeah, your point about hobbies is great.
I mean I found, I don't know about you, Carlton, as I as I age, the hard thing is that it's hard to have a hundred percent like relaxation recuperation time because there are other demands on our life.
Whereas when when I was younger, I could just take a day off, you know, on a Sunday or something.
But what my Sunday looks like in the absence of work is, if anything, more mentally and physically draining than sitting at my computer and coding or creating content.
So there's I find that a little bit of the the challenge.
Yeah, yeah.
So I face that exact same challenge.
I honestly don't really have a good answer for how to deal with that.
I think we all sort of have our own ways.
Like if you have family and you love spending time with your kids, I would say just spend more time with your kids.
If you just need to veg out in front of Netflix for a few hours and that makes you feel relaxed or you need to go see some friends, you know, gotta do what you gotta do to get away from the computer, drop the screen time and just be a human for a little bit.
Well there's you know there's supervising your kids online school and then there's sitting and watching She-Ro with them like speaking of what I did this morning before we recorded this.
So I did both those things.
Well you
did their schoolwork while they watched Shira.
Well no we tee up my my first grader has like an hour of um of videos and exercises so she's got her online math game she's got uh YouTube videos of reading stuff um but you know so anyway so when I'm supervising that it's maybe not peak relaxing parenting time along with two other kids.
Um but when we're just sitting around watching She-Re like you know that's a little more you you don't you don't watch She-Ra Carlton
I used to watch She-Ra but um they're more into uh what do they like at the moment?
They don't even know that He-Man is a thing which is great Yeah no
they don't they they they're watching some Star Wars Clone Wars series there's like seven
oh there's so many of those there's so many of those
Clone Wars is so
they're laughing at that so you know half an hour sat down watched an episode that yeah feed up lovely
oh how do they only watch half an hour of it I turned it on I was like I'm gonna watch this entire season today
yeah we don't let them do that though because they're kids
kids kids
would that's healthy.
Okay thank you everyone for listening um Caleb how can people get in touch or where would you direct people obviously learnwagtail.com um other other ways if people have questions around your content or Wagtail
yeah uh learnwagtail.com uh if you're interested in learning Wagtail um I've got another sort of website that I half maintain but looks pretty nice codingforeverybody.com uh you can contact me through there or just through standard Twitter at Caleb Tallin um or if you want to join a Facebook group and you know either help people learn how to
code or ask questions about coding.
This Facebook group called learning to code has got almost 5000 members in it and I'm very active in there as the only admin.
Wow good for you.
Speaking of burnout yeah okay everyone thanks for listening we'll see you all next week still thanks for having me