← Back to Show Notes

Transcript: From Beginner to Software Engineering Manager - Raymond Traylor

Will Vincent

Hi, welcome to Django Chat, a fortnightly podcast on the Django Web Framework.

I'm Will Vincent, joined by Carlton Gibson.

Hi, Carlton.

Hello again, Will.

Will Vincent

And this episode we are joined by Ray Trailer.

Ray, welcome to the show.

Thank you.

Carlton Gibson

Thanks for

coming on.

Will Vincent

So uh we connected by email.

Um, I think you had read some of my books and mentioned you you're a little bit earlier in your programming career, so we really wanted to have you come on and talk about your journey learning programming, learning Django, and where you are today, because I think that will resonate with a lot of listeners.

So maybe let's talk about programming.

You know, before we get to Django, how did you get into tech and programming?

What's your origin story, as it were?

Raymond Traylor

Yeah, absolutely.

When I first started emailing you, I don't think your books even came out yet.

I think it was just on the blog.

Will Vincent

Yeah, you were you were early days.

I was looking, it was it was like 2018 or um it was way way back when.

Raymond Traylor

Yeah, exactly.

And so back then it was just searching Google, going through the struggle of, I mean, of course, you start with the polls tutorial, and early on in programming, reading the docs is pretty difficult.

So you have to find tutorials from people, right?

So I came across your site and it really helped me a ton.

So I started just emailing to ask questions.

I think going through, um, I got stuck at a couple places, and that's when sometimes just reach out, and someone who's willing to put their work out on a blog often will reply back.

So that helped a ton.

And talking to you about just the site and everything that you were building towards, including going to the books.

I know you're talking about doing video.

Ultimately, we have this podcast, so it kind of comes full circle.

But the journey definitely started from just asking questions and working through my bugs.

And believe it or not, you really got me over the hump for Django.

I don't think I would have been able to grok it without you.

Will Vincent

Well, I appreciate that.

I, you know, when I wrote the site and the blog posts, it's because I was just a couple years before you in that journey.

And so uh, you know, when I finally had some understanding, I thought, well, how could I have saved myself time and what were the sticking points?

And that's one of the things I love emailing with uh people who read my books or blog posts, is because it's different for everyone.

There's always new things, you know, that there are some things that trip people up, and then there's new things, and it's all getting to the same place of some understanding of Django.

You know, we can't all be Django fellows like Carlton, but

Carlton Gibson

I'm just the Jonathan.

Will Vincent

Uh do you so I'm trying to think.

So why were you so why Django?

You know what why did you, you know, why web programming and why Django in particular?

How'd you get to that point?

Raymond Traylor

I should actually start way back.

Will Vincent

Uh Okay, yeah, please.

Raymond Traylor

I was super late to programming.

I actually didn't know what it was at all.

Uh I think I, well, age-wise, maybe not.

I think I started at like 24, 25.

Yeah, you're ahead of me.

Yeah.

Raymond Traylor

But I didn't know what it was.

Like I just had no concept of what programming was.

Of course I knew what computers were, what the internet was, um, even websites, but a website to me was just, you know, HTML and some pictures.

I mean, it's just another

Will Vincent

form of run.

Raymond Traylor

Yeah, it's just another form of like a Word document or PDF is how I saw it.

But to actually make applications, I never even thought of it, right?

Um, but like a lot of people, I think the social network movie was like, oh, that's what coding is.

You know, that's what you use to make Facebook.

So I was working as a salesperson at the time for Comcast business.

And sales pays a lot, but that industry, it's up and down.

Like you have great months, and then even if you're having a great month, they change the comp plan, or it's really not a stable career.

So then it's good for a couple years, and then you go to the next company, the next company.

We do that in programming, but at least you don't have the ups and downs, and it's more our choice than the company's choice, right?

Um, so I picked up um learn Python the hard way.

It's one of those you just Google how do you learn how to program.

Will Vincent

Yeah.

I think it was still free back when you were looking through.

Raymond Traylor

Yeah, and it was free.

Um so starting that way, it was really just Googling what language should you choose.

So it's always the JavaScript versus Python now.

I think back then it was more PHP was still pretty big.

Will Vincent

Um Ruby was Ruby and Rails, I think.

Depending on your timing, I think.

I mean, because for me, when I started in earnest, it was 2012.

Um in earnest, I say building like complex websites beyond HTML CSS.

Carlton Gibson

I think like you know, more than half of all web applications are on with it.

It's funny how it like it doesn't seem to have the mind share like it did, but it's still like you know massive in the website.

Yeah, I definitely should say

Raymond Traylor

in the context of you're a beginner just googling web programming to learn.

Um plus PHP gets so much hate, uh unjustifiably, in my opinion.

Will Vincent

Yeah, no, agreed, agreed.

Raymond Traylor

So I chose Python because they just said it was easier for beginners, you could do data science, you could do so much for it.

If you read maybe a hundred blog posts of which first language should you use, I think especially then Python was the obvious choice, and I'm obviously happy that I chose it.

So, where do you start um looking at books, looking at everything?

But what I liked about Learn Python the hard way is if you just read the introduction and I go back a few times, he's really harsh.

He's telling you how hard it's gonna be.

And don't be lazy, don't copy and paste.

This is gonna be really tough.

And start at the basics.

So even going with the command line and learning a little bit of Linux and you know, just your your CD and LS and things that if you've always used a Mac or Windows, you never came across.

You never opened up the terminal, right?

Will Vincent

Right.

Yeah, it's a whole new world.

Raymond Traylor

So doing that put me in the right mindset of this is gonna be hard.

And it was really difficult to work through it, but he's very encouraging to try again and try again.

Um, along those lines, two other articles I came across.

Um, Eric Raymond's, it's called How to Be a Hacker, should be pretty famous.

Um, it's very opinionated, but uh he really gets into the culture of it, what it means, um, and it gets it's kind of the opposite of your social network tech bros sort of thing.

It's maybe the the 1970s style programming.

He he really brings the essence of that.

But he links to another article um from Peter Norvik called Teach Yourself Programming in 10 Years.

Yeah, I

Will Vincent

know that one.

Yeah, that's good.

Carlton Gibson

Because the the that's the one that begins about the the learn it in four hours type thing.

Learn it in 24 hours, learn it in yeah.

Exactly.

Raymond Traylor

And so between those three things, I got the right mindset of instead of I'm just gonna learn some JavaScript and make some websites and maybe attend a boot camp, and then I'm gonna be a coding ninja and I'm gonna make a ton of money, and that's it.

I felt like I really got the fundamentals down, uh, even if not from a computer science standpoint, but from uh take programming seriously, take your time, learn it thoroughly.

Um and with that, that was that was the start of being able to do some basic things.

Uh that doesn't get me to web programming yet.

There's a little bit more of a journey to get there.

Carlton Gibson

That's a good nice introduction.

It's like, you know, if you kind of think, sit back and think, well, you know, if I could persuade somebody the what's the what are the quote unquote right things to read, those those selections would be good.

Because I mean part of it's like perseverance.

Like, you know, you start, you get a file open, you're write some stuff, it just doesn't work.

Will Vincent

I I wonder how much it also is your I mean, obviously your um your your personality and temperament, but you know, your age in that coming at it as an adult, there is more of an expectation that things are hard.

Whereas if you're 12 years old or something, I think maybe you're more inclined to just throw stuff on the wall and you know build whatever quick site you want without thinking about the underlying things that as you get older, right?

You you see that again and again in field after field.

So that may have been an advantage for you, actually.

Raymond Traylor

Yeah, so doing sales and entrepreneurship, which I could get into a little bit, it prepares you for the rejection and doing something hard and putting in a ton of long hours.

But the difficulty of programming is unique.

That's a frustration that I haven't seen replicated in any other way.

When you can't get something to work, and when you're banging your head on the keyboard, and when you swear that you're right and the computer's wrong.

Right, right.

Raymond Traylor

I mean, obviously the joy that comes from when you've been working on a bug that I mean you just did a typo, right?

Carlton Gibson

It's a semiconus.

Will Vincent

Yeah, but there is an answer, right?

It's like you know that it it it is out there.

Raymond Traylor

Yeah.

And I think that that was one of the lessons too of figuring out how long you should bang your head on it and figure it out yourself and Google forever versus asking and when to ask and how to ask.

Um I definitely slowed down my journey by trying to do everything myself rather than reaching out.

But I think by the time I started to email you, and I actually should have emailed more people or asked more people, but I think you were one of the very, very few people who I actually reached out to.

And I feel like I would have figured it out, those those early problems, but it really might have been three months.

Sometimes you put it down.

Will Vincent

Yeah, I I did it wrong.

I mean, I I like all pretty much locked myself in a room for two years to build a startup I had in mind, and it's kind of amazing I built it, but you know, now how long would it take me to build it?

Like you know, weeks.

So um it's great that you reached out.

I think I wasn't as prone to reaching out because I didn't realize that as you say, if someone takes the time to write a blog post, they probably will respond, actually.

Yeah.

Um and then right, and and the thing you you don't know when you're younger is yeah, what's what's like a truly hard problem and what's something that's common that you're just not seeing, and so you shouldn't spend three months on.

Um exactly.

Yeah.

Raymond Traylor

Uh so from there, I'm working this job, this sales job, and learning Python the hard way on the side.

And I've worked for myself and then sales jobs, and then worked for myself and then sales jobs, and I was ready to quit this the sales job.

So I quit the sales job, started.

Well, it took me a while to kind of figure it out, but I got back into e-commerce.

I came up with an idea that's not really original now, but I was arbitraging between e-commerce platforms.

So the simplest way to explain it is to buy from Amazon and sell on eBay.

And the twist to it is the customer would buy first, and then I'd buy it from Amazon.

Will Vincent

It's like high frequency trading.

Yeah, just arbitrage the difference.

Raymond Traylor

And I actually was inspired by high frequency trading, that book Flash Boys by Michael Lewis.

So arbitrage and speed, and obviously, prices change all the time and things get sold out.

So you could start out by hand, you can kind of manage a hundred products or so.

Um, and then I started hiring uh outsourcers on Odesk, which is Upwork Now.

So that was sustainable a little bit while I'm asleep in America.

They're up in Bangladesh or the Philippines.

And the prices were, I mean, I'm ashamed to say it was 50 cents to $3 an hour.

But it was just copying and pasting, you know, the titles of the products, the pictures, and updating the pricing.

And as you can see, to jump from me doing it myself to outsourcers, that's a great case for software.

So my first software that I actually went into application was uh to automate doing arbitrage between markets to update the prices to order the products.

Will Vincent

So that's not a simple thing.

I mean, that's that's a web scraper, that's cron jobs, that's a website, like that's a whole bunch of stuff.

Raymond Traylor

Exactly.

But I was I was much more rudimentary than that, right?

So all I have is the basic, basic level of Python.

I know how to use a command line, I know for loops.

I don't even know if I was even using functions yet.

I certainly didn't know classes.

Um but I came across a program called Sakuli.

And Sakuli is for some language, I don't know what language it's in, but it means something to the effect of like all seeing I or something like that.

But what that does is, you know how you have browser automation, like uh Puppeteer, but it does this for your whole computer.

So anything that you can see on your computer, you could automate for it.

But they use Python as a language, and you don't need anything special.

You could just take a screenshot of a button, put that there, and then they used some of their own keywords like click or type, or so I could get the computer to do what I was doing and what the outsourcers were doing.

And that really got me into a good mindset for programming because doing that either intermediate step of having outsourcers, I had to give them instructions.

And when you have a language barrier and time difference, and of course they're getting paid not that much, you have to make it as simple as possible.

So I had to really write out step by step and then making videos of you do this and do this and then do this.

But after I discovered Sakuli, then I could do it myself.

So I was using Windows back then.

The software actually worked better on Mac, and I could get it to work.

But my programming skills were so bad, and the software was kind of finicky, and then my internet connection was so slow that we're like literally, I'm not scraping uh Amazon.com.

I'm literally having this program go on a real browser and the different timing.

So if I'm saying click this button in one second, but it takes the page three seconds to load, then the program breaks.

Carlton Gibson

This is very reminiscent of the Selenium tests that we had for the Django admin.

It's like, you know, you if if the pop-up hasn't shown yet, this test breaks and you know.

Raymond Traylor

Yeah, so but I was able to use Python, it was a real application, and it actually made me money.

And I would be so frustrated because it would stop every 20 minutes and then it would stop every couple hours.

But the business was doing well.

I mean, I'm making the arbitrage wasn't huge, but I'm making like $2 per product, and I'm selling, you know, from 20 on up to 100 on up to a lot more products per day.

So I can afford the business, it's sustainable.

Um, so I started fixing problems.

The only way I knew how, which wasn't learn more programming, it was scale up by brute force and money.

So I ended up uh gigabit internet had just came out, and I was going to move to Kansas City to Google's fiber in order to get it.

But I found in an obscure newspaper in Denver, I don't even remember the name.

Uh I lived in Denver, and they had they said that gigabit was coming from some internet provider I never heard of, but it was only at this one office park in Golden, Colorado.

So I went and signed a three-year lease at this uh office just so I could get gigabit internet.

So instead of waiting three seconds for Amazon.com to load, it would load in a half a second.

So seeing the difference between your at-home broadband versus fiber optic cable, it's just a world of difference.

It just works, right?

So I got the office, and then I was annoyed that I was commuting like 45 minutes to an hour just to get to the office, just to fix my broken program.

So I got an apartment next to it, and they had horribly slow internet that was a block away from the office that had the fastest internet in the world, or at least I had access to.

So I'm going back and forth to the office, and the other scaling was I bought more MacBook Airs.

So it started with one and then three and then seven, ten.

I ended up with 32 MacBook Airs spread across the floor.

Will Vincent

Well, so why well I have I know a little something about web scraping.

Why were you using the so many different is it because you were so you wouldn't get blocked for like IP address hitting them, or what

Raymond Traylor

was no, not even that far.

Because it wasn't actually scraping.

The computer was literally just on the Chrome web browser, just refreshing the page and just going through a list of URLs.

So it wasn't even scraping, it was just the computer and the browser running.

And Python was doing it, but it was as rudimentary as you could come.

Will Vincent

Well, but that that's I've seen very well-funded startups that do exactly that.

Because even at scale and with professional programmers, um unless you're you basically like most sites will say you we won't accept more than however many hits per hour from a given IP address.

So there's more fit, there's more elegant ways around it, but an easy way is they literally they had like yeah, like Mac minis.

They had 50 Mac minis, and they were just you know, both both to do it and then also to get around the the blocking on on these sites.

Exactly.

Raymond Traylor

Uh so to kind of wrap up that story, um the annoyance was I'd have to go into the office, even though it's a block away, in order to fix my broken program.

And so waking up in the middle of the night, 3 a.m.

to go to the office to fix that, I'm like, I need gigabit internet at home.

So downtown Denver, it finally came.

So I got the first building in Denver that had gigabit internet.

So I had an apartment downtown, and then I had the office, and the business was doing just incredible.

Um and thanks to that, and I I very much plateaued in my programming skills.

I tried to learn more.

It was kind of just reading, but I didn't really have a direction.

It certainly wasn't certainly wasn't web development.

This was automation, right?

And I got into scraping more, so of course, beautiful soup and uh scrapey, that sort of thing.

Um but like all arbitrage businesses or high frequency trading, you get squeezed out eventually.

Competitors come in and the price goes from $2 to $150.

To all right, am I really gonna do this for five cents per product?

No.

So I was out of business.

Um But that's

Carlton Gibson

that's a glorious little period to ride that wave, though.

That's lovely.

That's my favorite business.

That's my favorite I'm starting Python story ever.

That's amazing.

Raymond Traylor

It lasted five years.

Carlton Gibson

Wow, yeah, amazing.

Raymond Traylor

Yeah.

Um, it was it was a very successful business.

Uh, so much so that when it ended abruptly, I didn't take care of my last tax bill.

So uh I've recently paid that off years later.

So that's a lesson.

If anybody's doing entrepreneurship, you know, I had an accountant, but make sure you're you're on top of it because if you're making profit, they'll get you eventually.

Will Vincent

So yeah, self-employment.

I mean, I I've well Carlton knows how it is, but I've certainly um yeah, found that I feel like after I I spent it was like a year to like figure out the business side of of running anything.

There's so many things, right?

There's so many things you're like, oh my god, and and then eventually you automate it, but like nobody kind of tells you, or if they tell you it doesn't mean anything until you have to do it.

Raymond Traylor

Uh from there, you would think that I would get more into programming because it works so well.

I actually went the opposite direction.

Um, I actually hate real estate, but the price keeps going up, and it just seems like if you're gonna get rich, you need to do a startup, get into real estate, or seriously into stocks.

So I decided real estate, and then we had Airbnb kind of blowing up.

So I decided to move to Las Vegas and do an Airbnb business and bring in a couple partners, one of which never showed up, another which ended up having personal problems, so that fell on its face.

I ended up staying in one of the Airbnbs on the strip for a year.

And so that was fun.

But during that time when I'm not making that much money and spending the old money I had and couldn't come up with the business, I was uh working on programming more.

So not necessarily the web development, but started reading the Python books.

Uh I really like Learn Python, the big, huge.

Will Vincent

Oh yeah, Mark Lutz,

I think.

Raymond Traylor

Yeah, Mark Lutz.

The the book is really big and it seems like it's a little bit outdated now.

I mean, I think it only goes up to maybe gosh, that was during the Python 2 to 3 um split.

Yeah, but the fundamentals are definitely there.

And he explains things so thoroughly.

I mean, one thing, just learning functions.

He probably spends 50 pages on it, and it's as deep as you could get.

So I I did learning there, but it wasn't applied.

So nothing really happened.

Um after Vegas, I didn't have a business that I could start.

I didn't want to get back into sales.

I ended up moving to Tampa, where I am now.

My mom retired here.

So it's like, you know, tail between your legs, failure.

Am I gonna start another business?

Am I gonna get another job?

And I that's when I decided, okay, I'm I'm gonna take this programming thing seriously.

You can't, of the businesses that I was trying, I found that I couldn't be an entrepreneur and a programmer at the same time.

You really had to choose one.

So I decided that I wanted to just get a programming job.

Not a sales job, a programming job.

So a whole new career.

You know, it's there's entrepreneurship, there was sales, and then I wanted to do programming.

So that's when, you know, it was not what programming language, but what type of programming to do.

And where the jobs are is either mobile or web, or you know, you could do kind of the Microsoft stack.

And I decided on web, which seemed like the right decision.

And that's when I started um trying to figure out how to do it, and it was a struggle.

I mean, the difference between scripting and basic Python automation versus web development is a world of difference.

Will Vincent

Like what what what what are the differences?

I mean, just broader in the web scope or less resources?

Raymond Traylor

Well, you're actually making an application, right?

So even if we just talk about writing a one-page script versus tying it together, right?

Uh, and the web has there's so much more to it, including there's a design element, which I never really had an eye for.

I'm only on a command line and my code editor, and now you know we have to make something there.

Uh it was the struggle was um finding uh like knowing that I needed a framework for it.

So the one that was most successful, which it sounds like I was taking a dig at PHP, but PHP was the most successful for me.

It was the only thing that I could get to work.

It made sense.

It I didn't need a framework, it was just PHP plus MySQL.

Carlton Gibson

But but PHP, it's like its whole mission is solve the web problem quickly.

And it always did do that well, and it still does that well.

And you know, for all, you know, oh, but this, that, and the other language feature, this language feature no, solve the web problem quickly, and it it's got no, you know, just quickly you're in.

Raymond Traylor

And the number one feature, and I still feel that way, is it's easy to deploy.

You have a PHP site, and there's all these $5 a month hosts you could use.

It's so easy to host it on your own.

Will Vincent

Carlton, someone needs to solve that for

Yeah, yeah, yeah.

Carlton Gibson

We will get onto that before Christmas.

All right, don't worry.

Raymond Traylor

So I loved it, it worked, and then you know, the whole WordPress ecosystem.

Um, but what I found out pretty quickly is those jobs don't pay as much.

So PHP, because it's so popular and international and it doesn't pay.

So I wasn't gonna be a programming a job to not make much.

I mean, I'm used to sales jobs and being a top salesperson.

I'm I'm here to make money.

And so eventually you go into ND to see what the jobs are paying, and um definitely Python pays well.

My next problem was being in Tampa.

So I leveled up, I read all of William's books.

Um that plus two scoops of Django, plus actually getting through the polls tutorial, really reading um all the documentation that I could get my hands on, getting better at Python as well, making my own projects that weren't it wasn't for profit, it was for myself.

Like I'm in the stock market investing, so I made an application to make that easier and to buy stocks even though you don't have money.

There's plenty of programs that do that, but I kind of had a twist to it and added some automation.

I like sports betting.

So it's a horrible thing to do because you just lose money, like everybody loses money.

But if you could use fake money thanks to Python, uh then I made a program for that.

And uh the things that Django in particular solved, which it took me a while to get to Django.

Uh it was PHP, it was JavaScript node, it was Flask.

I ended up liking Flask because it was simple and and you could get it going right away, right?

And to learn the MTV, well, model view controller.

Will Vincent

Yeah, MBC versus MTV.

Raymond Traylor

Yeah, exactly.

Um, that takes a little while to wrap your head around.

But what stuck me to Django was um the library that William, I you're the only person I've seen to actually use it, and I use it all the time is Alloth.

And now

Will Vincent

I think it's pretty yeah.

Beginners don't know about it, but I think most of the working professionals just use it.

Raymond Traylor

As they should.

Um at the two jobs that I've worked, um, no one had used it, and it just you know solves the problem.

So for PHP, the issue at that time was learning deployment, and that solved that problem.

But Django solved the problem of authentication, which was really, really difficult for me to do on especially Express and Node.

It was it was hard to just do a login.

You would think that they should be a solved problem, but it's really difficult.

And Django and that plugin really makes it super easy.

Will Vincent

Yeah, I think, well, Carlton, I want you to expound.

I mean, I think part of the issue is authentication is really deep and there's lots of different ways to do it.

And you know, there's things Django doesn't have two-factor and some other things.

And I so I think like the Express and other ones, they're there's like a cornucopia of options rather than Django just being like, here's a out-of-the-box one for you.

Carlton Gibson

The whole point about the batteries included is Django ships the hard batteries.

So, you know, a few years ago when there were the sh the some of the contrib apps would remove, like contrib comments was taken out, and you can still use Django.contrib.comments from the Django wall, but it was taken out of the core because it's like, well, that's kind of an easy thing, and we we need to keep it down.

But Auth, Auth is really hard, really hard to get right, and you know, if you get it wrong, that's big trouble.

So, you know, Django ships that battery for you.

Um, and it's hard to explain to someone who hasn't tried to roll their own auth why that matters so much.

Raymond Traylor

I remember on this podcast when you two were lightly debating whether to use custom users or the Django built-in.

Will Vincent

And no, that's way way back, bringing back memories.

Raymond Traylor

I was into that debate, like, I don't know, Mac versus Windows users back in the 90s or something.

I was so into it.

And of course, I was on William's side just because I knew him more.

And it's like, well, I read all his books, but then Carlton actually writes it.

So which one should I learn about it?

I just sweep the floor.

Carlton Gibson

I just sweep the floor.

Um Yeah, I mean I've I've got a con a controversial view here is that I still use um the default user model, and I still have a like a foreign key from a profile model or a one-to-one from a profile model, which I use to store extra fields.

And the reason I do that is simply because when I spin up a new proje project, I don't want to waste the like I've got some inspiration for my new project, and I don't want to waste that inspiration going, oh now I need a custom, and maybe we could make the default template ship a custom user, and then I I maybe at that point I might relent.

But I just think, do you know what?

For me, keep use the default user model and you know, use the the one to one field and just go.

Um, and that's worked very well for me.

But I the docs say yeah, use it your custom model.

Will rightly says use a custom model.

Will Vincent

Well, I was gonna say I've come a little more towards your side, Carlton, because I think I mentioned that I put it, I put the custom user model in the book just like in the beginner's book, because I don't want people to have to back into it, which you can do, but it gets kind of tricky.

But I do take Carlton's point, which I think he probably mentioned that podcast, which is just because you can throw everything on user, you should keep user clean and use it for authentication.

And if you want a profile model, you can do the one-to-one foreign key.

So myself, I still use the custom user model, but I keep it really lean.

I actually, in addition, use a one-to-one foreign key for all the rest of it.

So I sort of split the difference.

Raymond Traylor

I'm still on the custom user team.

Will Vincent

Yeah, I mean, the reality is until you're Facebook size, none of this really matters.

So, you know, it's if you have the problem, like that's a great problem to have.

Carlton Gibson

And it's solvable.

No one agrees with me.

It's you know, Colin is just one of the other things.

Will Vincent

But it's also like, yeah, back it's also like when you learned it, right?

Like, you know, I learned I remember, yeah, learned saw read the docs.

It was like, okay, custom user model, like let's go.

And you know, but before that was entered, it was the Carlton way.

And the truth is

Carlton Gibson

well no, but there was the the the when swappable user models came in.

I'm like, that's a mistake.

I'm not using that.

Oh no,

Will Vincent

that's a little bit like uh uh I just just to jump in, I really want to ask as a beginner what you think about function-based views versus class-based views.

I mean, I suspect you're biased towards uh what I promote, but I'm curious how you feel about that in Django coming new new to it.

Raymond Traylor

It took me a long time to wrap my head around class views.

Um because I think when you have that Python mentality of you know, one way to do things and the function views just worked.

Also, what I was building, especially like with the sports betting sort of personal sites, I ended up having so much custom there that I really leaned towards it.

However, looking back on it, I really didn't understand object-oriented programming that well to begin with.

So I wasn't even prepared to use classes correctly in the first place.

What got me around to it was between the two scoops of Django book, which advocates for generic views, then class views, but they have kind of over on the side, some people use function views, right?

And that's just all they use, but they made it seem like it was kind of the minority.

Uh and then, William, what you wrote where you were leaning more towards the class-based views, if I remember correctly.

Will Vincent

So I think so too.

I think I agreed, I agreed with them.

Raymond Traylor

Yeah, and that's where I landed now.

Um, if you can use generic views, just use it.

It makes everything so easy and so fast, and that's really the beauty of Django.

And it just depends on how custom you're doing things.

But the order of, you know, start with generic, if that doesn't work, drop down a class.

If you really, really need custom, then use the function views.

Will Vincent

Right.

And usually there's a one-line way to update the generic custom view, but you have to kind of dig around to figure it out.

So do you agree with that, Carlton?

Will Vincent

I mean, we've had this discussion before, but that's kind of the trajectory.

Carlton Gibson

I think I I will use a class-based view 90% of the time.

Why?

Because um my view, so the view is like a a callable.

It takes a request, it returns a response, right?

So that's a function.

But um in that, there's there's steps.

You know, first of all, I need to authenticate the user, then I need to decode the you know the request data, and I need to um you know hook up to the database, then I need to um put all that into a template, then I need to return the response.

And I'd like to break that up into a nice clean way.

So even if I'm writing a fully custom one, I'll write, you know, defget, you know, self, yeah, request, args, keyword args, um, and I'll probably put the explicit keyword args I want there.

I probably don't use args very often.

And then I'll block out the steps that I want.

I think the issue that with the generic views is that they're so hard to navigate, you know, constantly.

I've got class E class-based views open.

It's like it's always open, and I'm always using that as my reference, and then I can see all the methods lined up and I can see the attribute I need to override, and then I'm using it.

And I think it's a shame that the hierarchy is so complex because I think it it really confuses folks.

Um, Tom Christie's got a thing called Django Vanilla Views, which is like a simpler implementation that I really recommend people go and look and read through the code because it's only like four or five files, and it's really readable, and it really likes okay, that's a class-based view.

That's what you know, a class-based view is when you haven't got these mix-ins and it's multiple inheritance and all these things that make it so complicated.

I mean, um Luke Plant, Lukey Spooky, goes by, wrote this um really good piece about um using function-based views.

And I've sort of, you know, I need to write my sort of well, what why do I use class-based views on the base of that?

Um, but one thing he puts there, which is really powerful, is that the thing with a function-based view is that the viewness of it is on the surface, right?

It's a function, it takes a request, it returns a response, right?

That's um, and I think unless you're writing your class-based views where you write out the get method or the post method, you're kind of like, where's the view?

Sort of gets disappeared.

Like it's like, well, yeah, but what's it doing?

Like it's

Will Vincent

very magical.

Carlton Gibson

Um, it is magical.

And I think what I like about um vanilla views, um, Tom Christie's implementation of class-based views there, is that if you just look at the source code, you can see exactly what what it's doing and how it how the class-based view is built.

Um so anyway, that's a long way of saying I use class-based views mostly.

But you know, I'm totally happy if other people don't.

Raymond Traylor

Whatever gets the job done, right?

And whatever makes sense.

Carlton Gibson

Exactly.

Yeah.

Raymond Traylor

Uh so after I read all your books, William, and went through all the everything and had my, you know, you go through all the steps of getting prepared to get your first programming job, um, your portfolio, your GitHub, your everything.

And so I'm ready.

And then I find out that I'm in Tampa, Florida, and there's no Django jobs here, and there's hardly any Python jobs.

Like this is a, I mean, the South is Java mostly.

Um, or there's, you know, plenty of of JavaScript, but I was way more on the back end, and I just didn't find jobs here.

So I was like, okay, well, I'll just move.

You know, there's a ton of your way in in Boston, California.

Um, it seems like where there's more startups, there's more Python, but there's not many startups here.

And it was a totally different world before the pandemic because remote was just really rare and it wasn't as good of a job.

And especially at the beginner, as a beginner, like my first programming job, I felt like being in the room with other developers would be really, really important.

Um, so I'm just looking, looking, looking, and there's just nothing here.

I went on python.org, which there's a reason why, you know, we have these sites, go to the official sites, uh, the Django project python.org.

But python.org had has a job board, and I still subscribe to it on my RSS, but they had a Django position in Tampa for an advertising company.

I'm like, what?

Out of nowhere.

There's just I don't think there's been anything before or since, but when I was on the job market, when I was ready, I emailed the HR director and just in a couple paragraphs said why I would be perfect for this job.

They brought me in for the interview.

I hit it out of the park.

Uh, I was lucky in that the VP that interviewed me uh also had an e-commerce background.

So, you know, talking through the, you know, what I made for it.

And then the top developer who interviewed me um really appreciated my nerdiness on the type of topics we talk about on on this podcast, right?

It we could have recorded that interview between me and him, it would have been us two talking about you know what we should use for Django, how and why.

Uh, and that got me the job.

So I got my first programming job.

I was the bottom developer, and that really allowed me to focus just on programming, not having to worry about sales or entrepreneurship or customer service or whatever else.

I could just be the nerd that I was probably destined to be.

And it took me uh wow, I was so the funny thing is I really took that teacher self programming in 10 years to heart.

Back when I read it.

The irony was it took me 10 years to get that first job.

So it was right around that time.

It might have been like nine years, but it was so close that that that's what got me there.

Will Vincent

It's I think the first job is the hardest.

It's it's a problem in the in the industry.

Like the hard first one to get is the hardest.

And then once you have three to five years, you're the most employable because you're still cheap and malleable.

Raymond Traylor

Um so the first task they put me on was, as I mentioned, it's an advertising company.

So uh what we were building was a SaaS to automate and enhance digital ads.

So Facebook and Google ads and layer on top, say temperature or flight prices.

Uh, one of the clients was our biggest client was Home Depot, and they were selling snow blowers.

So anywhere in the United States where it snows or going to snow, um, we would put out Google ads to go to Home Depot and buy a snowblower.

Uh so that takes a lot of data collection and then to automate, to put the ads out, and then obviously the more it snows, the more you'd spend on ads and the targeting.

So the first task they put me on was they couldn't get the Facebook API to work.

And Facebook's API is just notoriously difficult.

But I was very well suited for it because I had spent so much time in eBay's.

Will Vincent

Yeah, I'm gonna say eBay is who's worse, eBay.

Raymond Traylor

Yeah, eBay's API is worse.

And then even though Amazon's API is good, there's so many restrictions because so many people want to take all their stuff.

So having all the workarounds, I was ready for it.

So they put me on a task that they thought would take two or three months if I or anybody could do a period.

And I come back and it's done in two days.

Like, whoa.

So I start with, you know, now I'm the Facebook API guy, which on one hand is like, oh, how'd I get stuck with this awful API?

But on the other hand, it's keeping me employed and it is my skill set, so fine.

Uh so then I end up being the Google API guy and then uh handling the weather and flight collections and all that stuff.

So I'm doing the data, but not as much with the web development.

However, that really got me to love and appreciate Django for the back end work.

So before I was writing a lot of raw SQL, but there, you know, we were really encouraged or forced to use Django's ORM.

And so I always used it just for websites or projects, but to use it as a replacement for what you would normally do in just Python and Postgres to do everything through Django and learning like management commands and for everything that you do.

So from that point on, any programming I do, I'd say at this point, 90% of the time, it's always in Django because that's the best way to structure a project that's uh everything's built in.

And if you want to expand it out to a full application, you can.

But even if you're doing something small or specific, even if you're only working with Facebook's API, it's good to do it in a Django project.

Will Vincent

Can I ask?

So, given what you know now, if you were gonna do um something from early in your career, so something as as simple as pinging the eBay API every hour and storing it in a Django database, how would you structure that?

Would you you would put the Python scripts within the Django project and have management commands and cron jobs, or how how would you approach that now?

Raymond Traylor

How would I do it now is I took your Django X cookie cutter.

Will Vincent

Oh yeah, yeah.

Raymond Traylor

And mine is called R Django.

Will Vincent

Yeah, it's open source, it's meant to be meant to be used.

Raymond Traylor

I open sourced mine for for a while, but I ended up changing it so often it just wasn't stable.

I don't like anybody who wanted to use it.

Yeah, just just use yours, not mine.

But I would start with that, pull it down, um, and I would the Python scripts you would just have in a folder.

So if I I if I just called it like a collector, like I'm collecting prices and products from eBay, I just put my script there, I would use you know the ORM to store, and then for scheduling, I actually am not a fan to this day of celery.

I mean, you have to use it on bigger projects, but I'm a huge fan of I think it's just called schedule.

So for schedule, um, all you do is it uses like human language.

So you make a function, say you know, you could call it um get prices from eBay, and you call that function, but you just put the time.

So you could say once an hour or you know, every Tuesday at this time, which obviously cron does the same thing, but because it's just a Python library, there's not more you have to do.

So for salary, you need to use multiple, you need to use multiple files, you need to look at there's more setup, there's more building there.

But for schedule, um all you have to do is just run it.

And I use that anytime that I can.

But yeah, starting from the beginning, I absolutely would use it in Django.

Carlton Gibson

Super.

For that, do you have like a a a demon, an agent that is running all sticking over all the time?

Raymond Traylor

So uh yeah, for that, I use Tmux.

So I deploy on, I really like, and this is for personal projects, obviously.

Um for for work it's all AWS, but personally, uh I like the VPS, I like Linode or I use DigitalOcean.

Just a regular Ubuntu box.

Um, I deploy, I have a nice deployment script for Django, and I use Tmux, which is similar to most people use screen, but with with tmux, it just stays there and I'll run, I just call it tasks.py is what's in schedule.

And it just sits there, and when it's time to run, it runs.

Carlton Gibson

Okay, super, super.

That's a good, it's a good um trick that I think to use something like tmux or screen to keep your session open.

So you can like you know, because the problem is you you you log in, you run your script, but then you log out, the script shuts down.

Whereas these things keep it going.

And so, you know, that's all you need, right?

That's all you need to get going.

Fantastic.

Raymond Traylor

So I'm working this job.

Developer can only focus on development, you know, really getting good at you know, just the Django and Python in a professional way, using the professional tools, you know, finally using Docker.

I mean, I really was reluctant to use it.

I didn't like it.

Um, but we had someone on the team who was using Windows, and you know, if you have some setting up a dev environment, Docker just makes it easier.

Um and that was one thing in the Django for professionals.

It's like, oh, I have to use Docker, but everything works just fine on the Mac and on and all the sessions.

Carlton Gibson

Because it works.

Will Vincent

I keep thinking I'm gonna take Docker out of uh that book because it is a a bazooka, but yeah, I I really do think, yeah, in a team environment, and now you can just put your whole container in the cloud for deployment, which is a whole separate thing, which I think is also quite a bit easier.

Raymond Traylor

Yeah.

So I'm in this wonderful place of just being a developer and making some pretty good money, and I could become more of an expert.

Uh but the team basically just disintegrated.

The project wasn't doing well, you know, personal issues, it was just a mess.

So I was six months in.

Six months is the minimum time you you want for the job.

So I I go back on the market, and again, without having the jobs here locally, I'm willing to move, but I ended up through a connection with my dad, uh able to work at JP Morgan, and they are doing Python on the on the finance side.

Uh, the problem is I didn't want to work for a big company doing kind of the boring thing.

I wanted the smaller company to be closer to the product.

So, but it looked like this project wasn't gonna work out.

So I put my two weeks in and like, okay, I I have another offer, they're gonna pay more.

If you match it, then I'll stay, but if not, I've got to go.

Um, it took them a while to kind of get back to me, and there was kind of some infighting between it.

But I ended up in the owner's office, and he's like, You're not going anywhere, you know, and what would you do to fix this project?

Um so I told him the short version is we would standardize what we're using.

I feel like the developers there were doing what I call resume-driven development, where you just use every library that you can.

Like they were even introducing like Kubernetes, like we have a basic Django app.

What are we what are we doing, right?

Um, but to simplify the stack and you know, fix behavioral things and just have the process use Jira the correct way.

Uh tests weren't being written.

Um so I I told him what I would do, and he said, Okay, well, you're running it now.

You're the manager.

So I went from the bottom of the totem pole to the top of the totem pole, and of course, the current developers didn't like that at all.

So drama ensued.

It was not good at all culturally.

I mean, some people were really, really angry, some people were uh just confused.

Like, how can how can you go from here to there?

And then, of course, from an experience standpoint, like you're not the best developer.

How could you be a manager?

Um, and in the corporate world, entrepreneurship is kind of tricky.

So just because you manage people for your own business doesn't mean you manage people like on your resume.

So I had experience with it, but not directly in the traditional route.

So everything I've done has been kind of the non-traditional route.

Uh so the people who were there longer than me were most upset, but the people who started after me were respecting me more, is probably the way to do it to put it.

Um and we had a whole lot of turnover.

Um, I had to kind of put my foot down on especially the stack that we're using, using Django correctly, simplify things.

I wanted code written in a way that it's easy for you to Google or just check into the documents.

If you're mixing in too many libraries, then it's hard for you to know.

If we don't have any tests in our code, then how can we refactor?

Um, so it was a lot of standard things.

Um I

Will Vincent

can I ask about the background of the more senior developers?

I mean, just to try to because I think this dynamic happens quite often, but you know, the things you're mentioning are things I would want to do for any project I worked on.

Like what what were they kind of used to, do you think?

Raymond Traylor

So there's like a lot of companies, there was the main developer who did everything for the company.

And that person you could tell when they started programming uh and when they started using Django.

And like not, I mean, not even using F-strings is as an example of this is how we do things, and it's it's going to be that way.

The difficulty was that he did programming for the whole company, whereas we were just branched off to supposed to be this new innovative product.

So the people there had some experience, but not that senior or principal level developer that would take into account the trade-offs and why we should do this and the type of technical leadership we didn't have.

So I had it from a business, I want this project to succeed standpoint, but not necessarily from a, you know, I've been programming for 10, 20 years and I've I've been through all the battles, so these are the trade-offs we should do.

Um what happened was we were using Vue.

I by that point it looked like React was the winner.

It was going to be easier to hire React developers than Vue.

Uh so I switched this over to React.

It was an easy decision because you don't want to rewrite things, but it was so spaghetti code and not using the components the correct way that it was just easy to throw it away.

So did a more traditional stack, which was Django, Django Res framework, um, using Postgres on AWS inside Docker with React.

Now, personally, what I would have liked to push for is Django, Django templates, no Docker, no AWS.

Uh, if we could get away with it, Hiroku, right?

Um, so we can focus on the application.

And it still is kind of a pet peeve of mine that uh companies don't use Django templates.

I get the trade-offs, but refreshing the page isn't that big of a deal to me.

And it works really well.

Everything's all together.

I really wish that more companies would just use it because the level of complexity that you add, if if it's justified and needed for the application, then absolutely React is an amazing tool.

But I find that a lot of websites are CRUD basically, and Django templates and Django forms, and using the RM and everything there.

I think I'm aligned with the with the Ruby on Rails guys in that to where sprinkle in some JavaScript where you need.

But professionally, um I haven't been able to kind of get that through.

So we're in the world to where the trade-off is this stack.

And maybe it's because I'm not a great JavaScript or React developer.

I'm way better on the back end in Python.

So maybe if I spent more time, but I think my brain works for Python, like what it what it means, the community, um, how we do things here.

I would like to build the whole application here, but you know, you have a job.

Have you tried uh any, maybe just in your own projects, HTMX, which um which sort of gives you Ajax behavior without having to do JavaScript?

Raymond Traylor

Not enough.

Um I

Will Vincent

mean, same same with me.

Carlton keeps telling me how wonderful it is, and we had the creator on, and I believe it.

I'm just waiting to switch the few things that are interactive on my sites over to it.

Raymond Traylor

That's what I want badly.

So I I guess my next little personal play around uh this weekend's coming up.

I should, I should definitely do that.

Carlton Gibson

Um I mean, one just one sort of thing from a work in a work environment.

If you can find like one small area where it's like, you know, we just need a I don't know, a search widget or something, you know, where you and you can simply um prototype it.

You can say, Oh, I've just prototyped this and I've just used HTMX and the Django template, and obviously the front end devs will come along when we find the uh the time for it and they'll replace it with a nice React component.

But because it works perfectly well in HTMX or you know with the Django template, that that time never arrives, you know.

Yeah, exactly.

Um and you I just prototyped it, I guess.

Uh and it's a way of um you know, a low-risk thing that demonstrates the value of that tech.

Raymond Traylor

It's yeah.

Uh so what happened next is I mean, I learned more about business and management and software during that time.

It was really rough and and tough to do that turnaround.

But like a like a sports analogy, if you're taking over a bad team, you could turn them around, but that's usually not the coach to take them to a championship.

So I saw that okay, we've got this turned around, it's on the right track, it's time for me to move on from this project.

Um so that was decision time again.

It seems like my life is full of those decision times.

Um I going to go back into being a straight developer rather than manager because the problem with that job also is I was doing so much programming and managing, which anybody who's done both, you end up being bad at both, in my opinion.

You can't be a great manager and a great developer.

Maybe somebody's that talented, but I don't think that person's me.

I don't think the decision is time.

Will Vincent

I think the people I know, they they go do a couple years of back and forth.

Raymond Traylor

So I wanted to, it's do I want to be a programmer or a manager?

I've done both.

I was disappointed that I was on this path to becoming a much better programmer, but and having to take over the team, it limited how good of a programmer I would be.

So I could still program on it, I could still do my side projects.

But if I just worked purely as a developer like I wanted, then where would I be, you know, after a couple years?

Um so I decided on doing management.

I'm I'm good at it, I think.

And really watching finally being able to hire the senior level developers and junior and build them up.

And also I felt really lucky and fortunate in that you know, I found this career out of nowhere, just starting with the learn Python the hard way.

Thanks to the internet, I just put the time in and to be able to pay it forward.

So I would think about William Vincent all the time because um, you know, he really helped me to learn Django and it allowed me to get my first job.

So I like management because I'm able to pay it forward.

Um, so I ended up getting a job your way in Boston.

Uh now we're doing remote.

This company's called Crayon.

They do competitive intelligence, which is a new industry.

Uh, the fastest way to describe it is uh so say a salesperson, if you're doing sales, you need to know who your competitor is, and you need to know who you're selling to, who their competitor is.

So we make something called battle cards.

They're basically cheat sheets you can know about the companies that you're going up against.

Also, like an executive at a company.

Will Vincent

I was just gonna say uh so the company I met with a number of years ago that had the stack of uh Mac minis, it was Crayon.

Raymond Traylor

Really?

Will Vincent

I'm pretty sure.

I'm pretty sure.

Yeah, we could talk offline about that, but yeah, I'm pretty sure.

Raymond Traylor

The the Boston startup scene is very tight-knit.

I mean, Toast, I'm sure you're aware of.

They just IPO'd, and so a bunch of people at Crayon worked with uh people there.

I think my boss actually hired their CTO, and he's probably

Will Vincent

ready for a new challenge.

Yeah, I think that I'm I'm sorry, I I want keep have you mentioned crayon, but when I so this was a number of years back, um they were doing like for marketing, they were like show when a competitor's homepage had changed, and that quickly morphed into the more um you know, deep defense, what's your competitor doing as opposed to like inspiration for design and which makes sense.

Raymond Traylor

Exactly.

Uh that other you use case is for executives.

So if your competitor has job postings for machine learning, you know that that's what they're gonna get into.

And like that screenshot sort of thing, if um an executive is off their home page, then you know that someone got fired or left, or there's gonna be a different direction.

So uh a bunch of data there to help people, you know, help companies and individuals know what their competitors are up to.

So that's the company I work for now.

What is interesting is they do exactly what I was trying to do at the previous company.

The stack is the exact same.

All the things that I had been trying to implement that, you know, some was successful and some wasn't, they do to be around, like you asked the question earlier about, you know, the type of developers that are more senior, uh, to be around so many smart, talented people.

And I mean, it's a great culture, a great environment.

Um I'm not just trying to sell it just because they employ me, but I really like it and enjoy it.

And uh the thing is, is we're trying to get more developers, right?

Like everybody's trying to get more developers.

Uh, and they're really, really hard to hire.

Uh, I'm probably fairly uniquely good at recruiting because, you know, having the empathy there.

But what we have to do is the the pool's only so big.

We have to expand the pool.

There, I think there's a lot more people like me with the non-traditional background who they know how to code, they know how to get to a certain level, but they need some extra knowledge, some extra tutorials, some extra examples of how to get in the industry because there's certainly way more software that needs to be made than we could find people to do it.

And it seems like that's going to be the case for a long, long time.

Will Vincent

Yes.

Well, what um we we'll put a listing to the company in the show notes.

What like is it Django jobs?

Is it data scraping jobs?

It's a mix of the ones.

Like, what are the what in particular does a growing company need?

Raymond Traylor

Yeah, it's Django and React are the bigger ones.

Um yeah.

Uh AWS uh on that side as well.

It and what I really like about Django in particular is the track record of getting Java developers or PHP developers or even those who focused on Node on the back end, I mean C, it's such an easy, and I know easy is kind of a loaded word, but reddit relatively it's an easy transition to go from Java to Python.

So if you have that web development base, if you have that programming base, then it's easy to transition here.

And um we have a lot of people and resources to help to make that transition.

Will Vincent

Wow, that's

Carlton Gibson

I think the um point you make applies generally.

It's not just your company, right?

It's the whole economy.

There's like in every you know, every industry that's there's there's so much that can be um aided by software, but the people to write it just aren't necessarily there.

I think that's you know what

Raymond Traylor

I think what prompted this podcast was I find I found myself buying Django for beginners, Django API, and Django for Professionals for a new hire that actually started yesterday.

So waiting for her to join, you know, she doesn't have a Django background, but one of those transitions.

And so I recommend those books and I rebuy it myself, and sometimes it gets expensive, sometimes it's out of my pocket, but I want to, you know, pay for the product.

And I realized I hadn't emailed Will in like a long time of what the progress was.

And I'm like, well, hey, I'm buying this book again for for someone on my team, and this is what happened.

And you know, he graciously and invited me to the show.

And I'm like, yes, absolutely.

People need to hear that um if you just put in the time and effort, you know, and and I think that path, even nothing's changed, right?

Like learn Python the hard way is still there, the how to be a hacker is still there, teach yourself programming in 10 years is there.

I think that Django for beginners, like I looked at it again, and especially Django for professionals, like two scoops of Django has a new version.

Um, the docs on python.org and you know the Django official docs are there.

And with just the effort and banging your head on the keyboard and then reaching out and emailing somebody who's there, um, I think the path gets easier and easier and easier uh just with the effort and and kind of knowing that it's possible.

Carlton Gibson

Yeah, I mean, and I guess the difficult bit is when I'm not me, but when one is trying to learn that all of that when you've um you've you know you've got another job, you've got you know family life, you've got all that, and then you're trying to pick up programming to make that switch, and then you haven't got the experience, so getting that first job is tricky.

I mean your story, I think, is a is a nice motivator for that someone in that circumstance.

Yeah, completely.

Will Vincent

That's it, it gave me a uh, you know, sort of time.

You're like, whoa, time has passed when I realized that you and I have been emailing for years and and and where you're at.

And yeah, we've talked in this podcast.

I find myself more and more realizing the limitations of curriculum.

It is important to have the resources, but it's everything else that I think is the ultimate limiter of um more people making the switch.

But in any event, we're we I feel like we could keep going on and on and on.

Um do you have uh we'll have links in the show notes as um I guess if anyone wants to reach out, your your hiring or your team is hiring at Crayon, so we can have a link for that.

Raymond Traylor

Yep.

Uh crayon.co slash careers.

Will Vincent

Nice, great.

Carlton Gibson

Wow.

Easy enough.

Will Vincent

Yeah, it must have been because they were Django back then that that's how I connected with them and and went to their their office.

Raymond Traylor

So and still are.

I mean, it's an awesome Django shop.

I mean, if you love Django as much as we do, I mean it's a pleasure to work in it every day.

I mean, and just to see, just to see things done right is beautiful.

Uh, so I don't really have anything to promote myself.

I'm not big online, not big on social media.

I mean, I have a Twitter that I never use or check.

It's at Bray Trailer.

I have a website that I barely update, but RaymondTrailer.com.

Will Vincent

Yeah, you either need to have a magnificent website or a horrific website to prove that you're a pro.

Nothing in between.

Absolutely.

Will Vincent

Well, thank you so much for coming on.

It's so nice to to meet you.

You know, I I basically never get to actually meet people I email with, and um, it's really inspiring to hear your story, and it's inspiring to me and my own line of work to hear that it's you know help someone like you make these changes.

It really means it really means a lot to me.

Raymond Traylor

Yeah, thank you, both of you.

I mean, I feel like

Carlton Gibson

I really enjoyed the story.

Raymond Traylor

You should you should get a commission of how many people's salary every month you should get checks.

That's how it should work, because you know, all your gracious work that you did for free really paid off for other people.

So I hope I and others can pay it forward.

So to all the listeners, keep going.

That's all you have to do.

It might take 10 years, but you can do it for sure.

Will Vincent

Yeah.

And I would say both of us get it get a lot back from the things that we donate.

So that's a big motivator for it.

Um, so we are at DjangoChat.com, chat Django on Twitter.

Um, thanks everyone for listening.

We'll see you next time.

Bye bye.

Join us next time.

Carlton Gibson

Bye bye.

Bye.