AJ:
Well, hello, hello, and welcome back to another exciting episode of JavaScript Jabber. We're at number. in the end.
Jack Herrington:
Hahaha!
Dan Shappir:
N plus one.
AJ:
Yeah.
Jack Herrington:
There you go, exactly!
TJ VanToll:
Yeah.
Dan Shappir:
We're in the off by one error show.
Jack Herrington:
We're in the episode you're listening to right now.
AJ:
That's right. All right. That's right. And, uh, that gives us a good segue to introduce, uh, Jack Harrington. Welcome
Jack Herrington:
Hey,
AJ:
as
Jack Herrington:
hey there.
AJ:
our guest.
Jack Herrington:
I I'm from react roundup. The other
AJ:
Ah.
Jack Herrington:
another podcast on this esteemed channel.
Dan Shappir:
Yeah.
Jack Herrington:
We talked about an a framework. You might know a little bit about I guess react written
AJ:
I don't
Jack Herrington:
on JavaScript
AJ:
know anything about it.
Jack Herrington:
written with JavaScript. Okay,
TJ VanToll:
This is the
Jack Herrington:
fantastic.
TJ VanToll:
end.
Dan Shappir:
I think you refuse to know anything about
AJ:
I don't know
Dan Shappir:
it.
AJ:
anything about it.
Jack Herrington:
I love it.
AJ:
So we got TJ.
TJ VanToll:
Hey everybody, yeah, TJ Vantolle also from the React Roundup show. Uh, and you guys should introduce yourselves as
Dan Shappir:
Yeah,
TJ VanToll:
well, because
Dan Shappir:
for sure.
TJ VanToll:
this, this is also on the React Roundup feed, so we've got people that don't know your voices either.
AJ:
Well, I'm, I'm AJ. I'm the resident contrarian. I'm the old man that
TJ VanToll:
Yeah.
AJ:
yells at clouds, especially
Dan Shappir:
You're
AJ:
in the cloud.
Dan Shappir:
also the most senior member of all the podcasts except for Chuck maybe I think.
AJ:
I think that I am equally senior to Chuck. I think I was on the first one. I'd have to go back and look. Maybe I wasn't on the first one, but very, very early on, yeah.
Jack Herrington:
Are we going by age or are we just going by time on the podcast?
AJ:
Try-
Dan Shappir:
I think I take you all
Jack Herrington:
Oh,
Dan Shappir:
hands
Jack Herrington:
okay.
Dan Shappir:
down.
AJ:
Yeah. Yeah. And then we got Dan.
Dan Shappir:
Yeah, the old man. Hi, I'm Dan Shapir also on the JavaScript Jabber podcast. I also use React quite a lot. So I'm actually, like I said, before we started the fan of the React Roundup podcast and the big fan of Jack's videos, which everybody who's into React should be watching,
Jack Herrington:
Well,
Dan Shappir:
I think.
Jack Herrington:
thanks for the shout out. I appreciate that.
Dan Shappir:
I actually shouted your videos as some of my picks on JavaScript Jabber,
Jack Herrington:
Whoo.
Dan Shappir:
just so you know.
Jack Herrington:
Okay. Thank you. That
AJ:
Well,
Jack Herrington:
was great.
AJ:
can we hear more about these videos? Because I am, I am not aware. I,
Jack Herrington:
Oh, sure.
AJ:
I don't know the names in the framework that shall not be named community.
Jack Herrington:
Yeah. Yeah, okay. So I run a YouTube channel called blue color coder. The idea is that I'm self trained, started coding on a 13 sort of thing. And so I had to take this kind of workmanly approach to building applications. I'm more very customer focused, you know, that sort of thing. So yeah, that's kind of why I bring to my videos is sort of like, Hey, we want to do this is how we get it done. It's not a lot of like theory. It's more in it or the theories applied, we kind of bring the theory in that way through actual like implementation. And
Dan Shappir:
So
Jack Herrington:
we
Dan Shappir:
you
Jack Herrington:
talked a
Dan Shappir:
got...
Jack Herrington:
lot about reacting on it.
Dan Shappir:
Sorry for interrupting you, but
Jack Herrington:
No, no, no, no, please go for it.
Dan Shappir:
you got into coding like the self-taught unofficial sort of way?
Jack Herrington:
Yeah, totally.
Dan Shappir:
Hmm,
Jack Herrington:
Yeah, I
Dan Shappir:
interesting.
Jack Herrington:
taught myself to code. I'll date myself. I taught myself to code TRS AD basic on the TRC
Dan Shappir:
Been there,
Jack Herrington:
model
Dan Shappir:
done that,
Jack Herrington:
one.
Dan Shappir:
the trash
Jack Herrington:
Yeah,
Dan Shappir:
80?
Jack Herrington:
the trash 80. Great machine 4k or 16k with the upgrade.
Dan Shappir:
That
Jack Herrington:
So
Dan Shappir:
was actually the first computer that I coded on as well,
Jack Herrington:
Yeah,
Dan Shappir:
just so you know.
Jack Herrington:
it's a great great introductory machine. And it was really fun because back in the day, you could actually make stuff individually that would build that you could, you know, give your friends and all sorts of things. I think you still can nowadays. But that's definitely what got me interested in coding. I was a failure and everything else. But it was the one thing I could actually do. So I kind of kept with that for my entire career. I never never gone to college. And now I'm super stoked because my daughter is now like an intern at Apple. Yeah, she's
Dan Shappir:
Oh,
Jack Herrington:
done
Dan Shappir:
cool!
Jack Herrington:
the whole thing where, you know, she she is 4.0. E, I, the idea that I'm like, look, look, you know, Apple fell, fell way far away from the tree. You know, so that's good.
TJ VanToll:
So my equivalent experience was at around that age, I was building GeoCities websites. That was
Jack Herrington:
Oh
TJ VanToll:
sort
Jack Herrington:
yeah!
TJ VanToll:
of my, so if you remember all the like old school animated GIF, autoplay music, scrolling text, yeah, I was like totally into that. Like,
Jack Herrington:
Yeah, you got to make the snowflake background and
TJ VanToll:
oh yeah, the
Jack Herrington:
over
TJ VanToll:
bat,
Jack Herrington:
when winter came around all that.
TJ VanToll:
custom
Jack Herrington:
Yeah.
TJ VanToll:
scroll bar, custom
Jack Herrington:
Oh,
TJ VanToll:
cursor,
Jack Herrington:
yes.
TJ VanToll:
right? Like
Jack Herrington:
Yeah.
TJ VanToll:
you had
Jack Herrington:
Yeah.
TJ VanToll:
to have one of those, the whole thing, right?
Jack Herrington:
But that teaches you the fundamentals, you know, DOM manipulation, maybe some jQuery, that sort of thing.
TJ VanToll:
It's
AJ:
J.
TJ VanToll:
funny
AJ:
Cree
TJ VanToll:
because,
AJ:
was not around back then.
TJ VanToll:
no,
Jack Herrington:
Really?
TJ VanToll:
this is the 90s, so
AJ:
Yeah.
TJ VanToll:
this predates DJQuery by quite a bit.
Jack Herrington:
Well, I think I was using jQuery 95, I think, wasn't I?
Dan Shappir:
No,
Jack Herrington:
No,
AJ:
No,
Dan Shappir:
no,
TJ VanToll:
No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no
AJ:
there
Jack Herrington:
you're
AJ:
was
Jack Herrington:
right.
Dan Shappir:
no,
AJ:
no internet in 95.
Jack Herrington:
Sorry, I'm a
Dan Shappir:
no,
Jack Herrington:
bad, I'm a bad.
Dan Shappir:
no,
Jack Herrington:
No, what do you mean there's no internet
Dan Shappir:
no,
Jack Herrington:
in 95? Okay, you're right, you're right. 2000 I was using jQuery.
Dan Shappir:
yeah,
Jack Herrington:
Yes,
Dan Shappir:
no,
AJ:
Yes.
Jack Herrington:
okay, you're right, you're right,
Dan Shappir:
to
Jack Herrington:
right.
Dan Shappir:
put them into, you know, it seems some important dates, JavaScript itself was created in 95, was
Jack Herrington:
Right.
Dan Shappir:
really officially released in 96. And the IE4, which was really the first browser to actually have, you know, what we would consider a DOM, I think came out at 97 or 98. And then when did Ajax arrived to get the XMLHTTP
Jack Herrington:
XMLHP
Dan Shappir:
requests?
Jack Herrington:
request, yeah, right, which is
Dan Shappir:
I think that was
Jack Herrington:
one of the
Dan Shappir:
IE
Jack Herrington:
two
Dan Shappir:
5.5
Jack Herrington:
reasons you'd use.
Dan Shappir:
or something.
Jack Herrington:
Yeah.
TJ VanToll:
Well, just to ground us here, jQuery's initial release was in 2006, so.
Dan Shappir:
Hmm
Jack Herrington:
Wait...
Dan Shappir:
a decade later.
Jack Herrington:
really?
Dan Shappir:
Yeah
TJ VanToll:
Yeah, yeah, so you're off by about 11 years, Jack.
AJ:
Okay. I
Jack Herrington:
That's
AJ:
heard
Jack Herrington:
so
AJ:
about it
Jack Herrington:
weird,
AJ:
in 2007
Jack Herrington:
cause I...
AJ:
or eight, probably 2008. Right. The, the, the, the thing was there was a kid who was, I don't know, seven years old or something, the kid that was way too young, that gave a Google tech talk. And that was, that was one of the, the things that launched jQuery even further. Cause it, you know, it was a Google tech talk and it's a Seven
Jack Herrington:
Oh yeah.
AJ:
year old explaining like, yeah, I use jQuery.
Dan Shappir:
These days it will be a six year old explaining why they use React Server components.
AJ:
Ha ha ha!
TJ VanToll:
Yeah.
Dan Shappir:
Hahaha
Jack Herrington:
Yeah, and
TJ VanToll:
It's.
Jack Herrington:
maybe he can finally do a good job at it. I love
Dan Shappir:
Ah!
Jack Herrington:
Dan Abramov going around like, it's so simple.
Dan Shappir:
Oh,
Jack Herrington:
And
Dan Shappir:
by
Jack Herrington:
people
Dan Shappir:
the
Jack Herrington:
are
Dan Shappir:
way,
Jack Herrington:
like, what are you talking about? What do you mean it's simple?
Dan Shappir:
just so you know, we actually had Dan on our show.
Jack Herrington:
Okay.
Dan Shappir:
So the episode hasn't come out yet at the
Jack Herrington:
Oh.
Dan Shappir:
time of this recording, but I think it should come out this week. So effectively, by the time this is released, it will obviously be out already. Probably as a two episode thing, because it was a over two hour long conversation that
Jack Herrington:
Oh, that's great. Yeah.
Dan Shappir:
we had with him. Yeah, and yeah, he was really doing the rounds with all the podcasts and and a lot of the also interviews with uh Kenzie dogs and others on youtube, etc. Are really trying to get the word out. I think they are experiencing more pushback than they expected um although it's not really surprising but um, yeah, so he's
Jack Herrington:
wasn't entirely it's basically phase three, right? It's it's, it's, it's MCU phase three, it's, you know, he had like phase two was hooks.
Dan Shappir:
Yeah...
Jack Herrington:
And then phase three is basically, hey, service cool again, and
Dan Shappir:
Yeah, but that's really an interesting thing, I have to say, because we had episodes on React before, and we're kind of going off on a tangent here.
Jack Herrington:
Yeah, no,
Dan Shappir:
You know
Jack Herrington:
no.
Dan Shappir:
what? Maybe we finish the introductions first, because you guys introduced yourselves,
Jack Herrington:
If we don't even do-
Dan Shappir:
and AJ and I didn't actually, so before we go on tangents about React, let's get back to the introductions maybe.
Jack Herrington:
Sounds good.
AJ:
Uh, I feel like I sufficiently introduced myself,
Dan Shappir:
Ha ha!
AJ:
but I did, I did find yes. I am in the very first episode with along with Jameson dance and Chuck. And then the second episode we brought on, you who to cats.
Dan Shappir:
Hmm, maybe it's worthwhile mentioning to the younger generation what Yehuda actually did or you know maybe still does.
Jack Herrington:
Yeah, that name is super funny or I've forgotten what he does.
AJ:
So, oh man, I, so he's responsible for the atrocity that is imports. I remember that part. I I've forgiven him, but
Dan Shappir:
Hahaha!
AJ:
well, he was a Ruby guy and I I'm thinking, I don't remember what, um, what it was at the time. Maybe, maybe he was, uh, doing Ember, which I think back then had a different name. Uh, I don't, I don't remember. I do you Dan.
Dan Shappir:
No, I don't. I remember that he's really well known or was well known, but I also forget for what. By the way,
AJ:
He did
Dan Shappir:
I've
AJ:
a lot
Dan Shappir:
actually,
AJ:
of Ruby.
Dan Shappir:
unlike you, I actually liked imports almost from day one. My one big problem with imports is that they're kind of upside down. It should be, rather than import from, it should be from import, if you think about it.
AJ:
And eight, he's... Wait, no.
Dan Shappir:
Because Jack, you're making a face for
Jack Herrington:
Yeah,
Dan Shappir:
our
Jack Herrington:
yeah,
Dan Shappir:
audience.
Jack Herrington:
yeah, sorry. Yeah, yeah, yeah, yeah. What?
Dan Shappir:
Because once you say where you import from, it can deduce what you could import from there.
Jack Herrington:
Mmm.
Dan Shappir:
Whereas going the other way around is more problematic.
Jack Herrington:
Yeah. Yeah. Okay. I mean, I gotta say in VS code, I found that like just typing in the key term, if you've named things nicely, and you hit tab for the completion, it's auto imports it, it never gets the ordering right. So I ended up having to go back and kind of restack ordering because I'm a little bit, you know, you know, little intense about the ordering my imports and whatnot. Otherwise.
Dan Shappir:
Yeah, but that feels like tooling compensating for
Jack Herrington:
Yeah, yeah,
Dan Shappir:
the
Jack Herrington:
yeah,
Dan Shappir:
efficiency
Jack Herrington:
oh yeah.
Dan Shappir:
in the language or something.
Jack Herrington:
That's that's JavaScript's middle name tooling, you know, compensating for shortcomings in the language.
Dan Shappir:
Yeah, there is something to that. Okay, so now it's my turn. I also start, my name is Dan Shapir. I've been on JavaScript Jabber a lot less than AJ has been on it. I've been on for three, coming on four years. Time flies when you're having fun. I'm also an old time developer, having also started coding on the Trash 80 way back when in the 80s. Unlike you guys though, I did go, even though I was really into computers as a kid, I did go through the more quote unquote official route of getting university degrees. So I have bachelor's and master's degrees in computer science because you know, interesting things and interesting point is that nothing that I learned in university is something that I still use today.
Jack Herrington:
Yeah, totally. Yeah. And
Dan Shappir:
Uh...
TJ VanToll:
Yeah.
Jack Herrington:
that should not be a surprise to anybody in. Who has more than five years into this, like it's everything just change.
Dan Shappir:
Yeah,
TJ VanToll:
It's
Dan Shappir:
hold
TJ VanToll:
funny
Dan Shappir:
on.
TJ VanToll:
what I,
Dan Shappir:
Yeah, go for it.
TJ VanToll:
I also did the tradition, the quote unquote traditional route as well. And what I tell people is that I actually got more out of the writing classes and the speaking classes,
Jack Herrington:
Yeah!
TJ VanToll:
not that I didn't learn things in the computer science stuff, but it's, it's amazing how, how somewhat irrelevant that is to the day to day operations of just a software developer. So I got some out of it, but like just the general skills of being able to write, read more effectively. I got quite a bit out of that along the way too.
Dan Shappir:
I do think though that there's more in, you know, like, I get why a lot of people are kind of to a certain extent dismissive, I might even say, of university studies of computer science. But looking at a framework like React and at, you know, let's say a TypeScript, there's a lot of, you know, like... computer science in there,
Jack Herrington:
For sure.
Dan Shappir:
the whole
Jack Herrington:
Yeah, yeah, yeah.
Dan Shappir:
functional thing, the immutable, immutability, and so on and so forth. So it can be challenging, I think, for somebody who's totally self-taught and didn't have good mentorship to really get into this stuff.
Jack Herrington:
Right. I was definitely I definitely benefited from I mean, you you were there. It's here are city model one basic. I mean, what was the animal I went through a PLC or Fortran 77
Dan Shappir:
Oh,
Jack Herrington:
c
Dan Shappir:
you went on APL?
Jack Herrington:
c plus plus. Yeah, we had a PL we had a computer with a PL
Dan Shappir:
with
Jack Herrington:
at
Dan Shappir:
a
Jack Herrington:
my
Dan Shappir:
funny
Jack Herrington:
school.
Dan Shappir:
keyboard with the Greek letters.
Jack Herrington:
Yeah, yeah, yeah, yeah. There's a flip switch between basic and APL. And
Dan Shappir:
For
Jack Herrington:
that was
Dan Shappir:
listeners
Jack Herrington:
a cool
Dan Shappir:
who
Jack Herrington:
ass
Dan Shappir:
are
Jack Herrington:
language.
Dan Shappir:
way too young to know about it, APL is this like crazy math inspired programming language
Jack Herrington:
Oh,
Dan Shappir:
where
Jack Herrington:
it's
Dan Shappir:
you
Jack Herrington:
nuts.
Dan Shappir:
work with vectors and mattresses as if they were basic types. And you literally type math expressions
Jack Herrington:
Yeah.
Dan Shappir:
using Greek letters. And that's the code you run. And yeah, that's nuts.
Jack Herrington:
Yeah,
Dan Shappir:
You need
Jack Herrington:
it's
Dan Shappir:
special
Jack Herrington:
pretty nuts.
Dan Shappir:
keyboards to program with it.
Jack Herrington:
Right? Anyway, so, but I mean, having gone through all of that, and then and then I would go and I had friends who were going to see us at the time. And so they I would, you know, read books on data structures, all sorts of stuff.
Dan Shappir:
Hmm.
Jack Herrington:
So basically, kind of, as most a lot of that, as we rolled along as I rolled along. But I mean, when it comes to like somebody coming into the profession now. Yeah, you know, I mean, I think there's sort of a practical
TJ VanToll:
It's.
Jack Herrington:
soup. stuff and then there is the sort of theoretical stuff.
TJ VanToll:
I think it's the other thing is the quality of the instruction you're given as well. Because nowadays YouTube exists, right? Jack's
Dan Shappir:
Yeah.
TJ VanToll:
videos are one click away. And I mean, back in the day, you didn't have easy access to that stuff. So
Jack Herrington:
Hmm, right.
TJ VanToll:
college is kind of like was the only way you were going to get that sort of hands on instruction.
Dan Shappir:
That's for sure, that's true.
TJ VanToll:
And now, like you can pay significantly less to get some extremely high quality material and just watch it from the comfort of your own home. And I don't know, it's still a difficult, I mean, we could talk the rest of the episode about this because it's a deep conversation, but it is sort of fascinating because I know all sorts of people that are going through this conundrum because college is so absurdly expensive that
Dan Shappir:
Yeah,
TJ VanToll:
it...
Dan Shappir:
that's the thing I wanted to say about the US. That
Jack Herrington:
Yeah!
Dan Shappir:
the
TJ VanToll:
Yeah,
Dan Shappir:
US
TJ VanToll:
yeah.
Dan Shappir:
higher education is extremely and especially expensive
Jack Herrington:
bonkers.
Dan Shappir:
in the US, which is nuts because the one thing a country wants is for as many of its citizens to have proficiency in stuff. So
Jack Herrington:
stuff. Yeah, I know.
AJ:
Oh.
Jack Herrington:
And then that's a weird thing. Living in America, it's actually not a commonly held opinion. Like there's that's up for debate as to whether higher education is actually a good thing. I not debate for me. I think it is. But, you know,
Dan Shappir:
I think that
Jack Herrington:
opinions
AJ:
Just.
Jack Herrington:
very apparently.
Dan Shappir:
part of the reason that certain people dismiss it has to do with the fact that it's so absurdly expensive that it's difficult to justify its cost in terms of the benefits that you get. But if it was like a tenth of the price, then the story would be totally different.
Jack Herrington:
Yeah, which is kind
AJ:
Hey.
Jack Herrington:
of I think where boot camps fit in right boot camps are essentially a 10th of the price of a traditional college education. And they get you, you know, certainly a good grounding.
Dan Shappir:
Look.
Jack Herrington:
Here's a here's a question for y'all. Like actually, here's a here's a generalized question. How many years it was this am I'm I don't know. I'm doing some other job, right? I'm I wash paintbrushes or whatever. And I want to get into computer science. I want to get into being a web developer. Like how many years do it realistically does it take?
Dan Shappir:
So I've been thinking about this and my conclusion is that you first kind of need to define what a web developer is. And by the way, we had interesting conversations about these very topics with some of our guests. We had Danny Thompson on our show.
Jack Herrington:
Mm-hmm.
Dan Shappir:
We had
Jack Herrington:
Yeah, great guy.
Dan Shappir:
Sam Sigmore on our show and Laura Harvey and some other great people. I recommend going back and listening to those episodes for our listeners who have not. And it really depends on what you mean by web developer. You know, because a web developer could be somebody on, you know, on the one end of the scale, it could be somebody working in WordPress or Wix, building
Jack Herrington:
Hmm?
Dan Shappir:
websites. And on the other end of the scale, it could be of somebody working on the next version of Grafana using whatever framework that's built in. So, or let's say building, you know, if I gave somebody using Wix, it could be somebody who's building the Wix editor, which would be like the other end of the spectrum. So it really kind of depends. Now you can get to both of these places either from university or boot camp. And I know people, you know, some of the, you know, like the people who founded Wix don't actually have, you know, some of them don't actually have a college education. So, you know, it's not a prerequisite, even if you're building the next Wix. But it really depends on your, on where you want to get to and what your goals are.
Jack Herrington:
Okay, so React Developer. Let's take that. Let's it go there.
Dan Shappir:
And even with React development, I'm sure that you run into a lot of people who are using React without really having a deep understanding of how React works. And all of these frameworks that are built on top of the web platform kind of inherit from the web platform itself a very forgiving attitude towards... You know, neglecting coding best practices, might I say.
Jack Herrington:
I would argue that actually react is like the worst when it comes to that in terms of like you need to know your stuff when it comes to references and
Dan Shappir:
Well, yes and no.
Jack Herrington:
and immutability and you know, in order to really not get bit in the butt by react on a regular
Dan Shappir:
Yeah,
Jack Herrington:
basis.
Dan Shappir:
but let's say that instead of re-rendering once or twice, the component that you built re-renders 100 times and leaks memory. So what? Still works.
Jack Herrington:
Hahaha! Yeah,
Dan Shappir:
I mean,
Jack Herrington:
you
TJ VanToll:
Well,
Jack Herrington:
know.
TJ VanToll:
it depends on, yeah, and it depends on what you're building it for. If it's on like your personal site or for some small business, there's a good chance no one's gonna notice or ever care about that. If it's for like the homepage of amazon.com, like, yeah, that's problematic. So it depends. So, yeah, I think that's a good point. I think that's a good
Dan Shappir:
Well,
TJ VanToll:
point.
Jack Herrington:
Woof. Woof.
Dan Shappir:
you would assume that Amazon is more discerning, let's say,
TJ VanToll:
Yeah, exactly.
Dan Shappir:
about who they let work on their homepage
TJ VanToll:
Yeah.
Dan Shappir:
and the review processes and the tests that they have in place. And again, if you're really into it, there's nothing to get in your way of getting there. I mean, again, you're a great example yourself, Jack. of being self-taught and now actually teaching people and including a lot of really deep concepts about how React worked on the insides. And by the way, I loved your videos where you kind of do it yourself on top of VEAT to show how things work inside of Next or Remix. I
Jack Herrington:
Whoo!
Dan Shappir:
really love it when you do that sort of thing.
Jack Herrington:
Yeah.
Dan Shappir:
Anyway,
Jack Herrington:
It's
Dan Shappir:
so,
Jack Herrington:
pretty hairy. Nowadays. It's reaction getting complex.
Dan Shappir:
yeah,
Jack Herrington:
But,
Dan Shappir:
for sure.
Jack Herrington:
but y'all y'all are veracating around the bush here. Like, I'm random Joe Joe x. I'm gonna you know, I meet you in the gym. Like, hey, what do you do? I'm a software developer. How long does it take to get into that? Six?
Dan Shappir:
Again, if
Jack Herrington:
React
Dan Shappir:
somebody...
Jack Herrington:
Go.
Dan Shappir:
But you know, I might not even send them React way. I might send
Jack Herrington:
Hmm.
Dan Shappir:
them towards WordPress or Wix because if they really want to start making some money quickly and effectively, I mean, why not? There are way more sites built using WordPress than there are websites built using React. So...
Jack Herrington:
Yeah, I did an interview with a guy once who is all into WordPress themes. And he made
TJ VanToll:
Oh yeah,
Jack Herrington:
he made
TJ VanToll:
that's.
Jack Herrington:
bank on that, you know, OK, I didn't even know the whole subgenre of
Dan Shappir:
Yeah,
Jack Herrington:
this.
Dan Shappir:
there's that ongoing meme
AJ:
Alright.
Dan Shappir:
that I hate about, I'm
Jack Herrington:
Hahaha
Dan Shappir:
a
TJ VanToll:
Thanks.
Dan Shappir:
PHP developer, here's my Lambo.
TJ VanToll:
This is... Yeah.
AJ:
Well, that's, that's an interesting one. Cause I think that that actually is a cultural, that's a cultural thing. We, we do suffer from open source of Titus and open source is a cancer. It's,
TJ VanToll:
Hmm
AJ:
it is,
Jack Herrington:
What?
AJ:
it is life. It is life sucking.
Jack Herrington:
I had to listen to this podcast more often. Whoa.
TJ VanToll:
Mm-hmm.
Jack Herrington:
OK.
AJ:
But no, it is,
Jack Herrington:
Life
AJ:
it
Jack Herrington:
sucking.
AJ:
is. It's like, oh look, a cool growth. And then it's like, oh, it's killing me.
Jack Herrington:
Hahaha
AJ:
It's a good marketing gimmick, and it's a good bad religion to sell people that are looking for something to believe in, but it's a cancer. So you gotta
Dan Shappir:
What
AJ:
give
Dan Shappir:
do you
AJ:
credit
Dan Shappir:
mean
AJ:
to
Dan Shappir:
by...
AJ:
people
Dan Shappir:
just
AJ:
that...
Dan Shappir:
to make sure that I understand what you're rallying against. If I understand correctly, it's not the concept of open source so much as the overuse of open source in people's projects. Or am I misunderstanding it?
AJ:
Uh, it's no, it's not the open, the overuse. It's actually the concept because it, you think like, Oh, cause I used to be in that camp and I still like the idea of information wants to be free. But the reality is if you create something useful and you spend your time doing that and it's truly useful, someone else is going to spend their time making money off of what you did. Right. And So people that actually charge for their libraries, I have a lot of respect for them for having the good sense to do that. Cause the people that are charging for their library. So I'm going to call WordPress themes. Those are libraries. They're just libraries of CSS and you know, components
Jack Herrington:
A little bit of JavaScript. Yeah.
AJ:
maybe,
Jack Herrington:
Yeah.
AJ:
but, but those, those people had the foresight to say, Hey, I want to be able to do this today and still be able to do it tomorrow. And that, that's
Jack Herrington:
I
AJ:
something
Jack Herrington:
mean, it's an old
AJ:
that
Jack Herrington:
saying that, you know, if you're good at something, don't do it for free.
Dan Shappir:
Yeah, but
Jack Herrington:
But...
Dan Shappir:
we might be upsetting Richard Stollman by saying this,
Jack Herrington:
HA
Dan Shappir:
but
Jack Herrington:
HA!
Dan Shappir:
the reality
TJ VanToll:
Nice.
Dan Shappir:
is that... Yeah,
AJ:
He needs to be upset.
TJ VanToll:
Eddie's listening.
Dan Shappir:
for sure. I'm sure he's listening. For those of you who don't know, he's like kind of the grand, the OG of open source. He invented the GPL. He created Emacs. He cursed out Steve Jobs. He did a lot of things.
Jack Herrington:
Oh, didn't know that last time.
Dan Shappir:
Yeah,
Jack Herrington:
Cool.
Dan Shappir:
he basically said that he was happy he was dead or something along these lines. Yeah,
Jack Herrington:
Whoa!
Dan Shappir:
but yeah, but anyway, my point is, well, the point that I was going towards is that these days, as opposed to several years ago, people working on successful open source projects, usually find some way to make a living off of it. or to at
TJ VanToll:
Yeah.
Dan Shappir:
the very least make it worth their while. Either actually making money from it or at the very least having their career benefit from it. Or maybe they enjoy being flown to conferences. So that's what they're getting from it. But they're getting something from it these days. So that's at least
Jack Herrington:
Jobs,
Dan Shappir:
the way that it seems
TJ VanToll:
That's.
Jack Herrington:
you know
Dan Shappir:
to
Jack Herrington:
a
Dan Shappir:
me.
Jack Herrington:
lot of companies that use that would then go and hire you to
Dan Shappir:
Yeah,
Jack Herrington:
work
Dan Shappir:
think
Jack Herrington:
that
Dan Shappir:
about all the frameworks. All the frameworks in the React land are open source and all of them have people associated with it that are making money or raised money or working somewhere. Somebody is paying them for working on the open source.
AJ:
But that's the exception. And not only that, but it was a marketing gimmick by Facebook, right? I mean, yes, somebody created it because he wanted to create it, but it was a marketing gimmick and it was a very, very, very, very successful marketing gimmick to have that open sourced.
Jack Herrington:
It was
Dan Shappir:
for
Jack Herrington:
a recruiting
Dan Shappir:
recruiting
Jack Herrington:
gimmick,
Dan Shappir:
people,
Jack Herrington:
but yeah.
Dan Shappir:
yeah, recruiting.
Jack Herrington:
Yeah. Yeah.
AJ:
Right. So if you look at the general case, uh, so the, the core JS guy, I think is the more, the more common case, right? Remember for the last two or three years, you got this thing every time you did an NPM install that said, Hey, I'm looking for a good job, which the way that it was phrased, you could tell the guy was better, right?
Jack Herrington:
Yeah, yeah, yeah.
AJ:
Cause
TJ VanToll:
Yeah
AJ:
cause he, what
Dan Shappir:
I'm
AJ:
he,
Dan Shappir:
laughing
AJ:
he should
Dan Shappir:
but
AJ:
have.
Dan Shappir:
it's sad.
AJ:
He should have, he should have. changed his message slightly. And part of it is, I'm not sure. I think he was a native English speaker. I think he was parents were Russian. He was American. If I'm, if I'm correct, I might be wrong. Now he's stuck in Russia. And then, you know, there's all this Ukraine stuff. He can't get any money because if you were to pay him, you're a terrorist, right?
Jack Herrington:
Mmm.
AJ:
And, and so because because of things happened in the way that it worked out with his, with his visa, And so he's trying to be this like philanthropist, but really he's digging himself a hole and somebody said that in one of the comments, I went through one of, one of the posts that came out recently with him, cause he basically, I mean, I hate to say it this way, but he made a crybaby post. Um, it's like,
Dan Shappir:
Well, there
AJ:
Hey,
Dan Shappir:
are plenty
AJ:
my life
Dan Shappir:
of those.
AJ:
sucks. And I've, and I've tried to help people and all I'm doing is trying to help people and my life sucks and it keeps getting worse
Dan Shappir:
Yeah.
AJ:
and somebody basically said, well, You need to man up and start, you know, get a real job. It doesn't, but, but the other, the other problem is look at express, right? The most popular JavaScript server in the world, more API's run on express than anything else, right? If we're
Dan Shappir:
Yeah,
AJ:
going to talk to API's, no maintainers, no money, no
Dan Shappir:
but
AJ:
sponsorship.
TJ VanToll:
and
Dan Shappir:
that was created a while ago and to an extent effectively abandoned, like you're saying. If you look at like Fastify or whatever is supposed to replace it, the people do have some sort of a business plan associated with it as far as I understand.
AJ:
Right. And so in that case, but that's, that's the thing is if you don't have a plan to make money, it doesn't end well for you and it doesn't end well for your customers, which, uh, what, what do we call open source users? It doesn't end well for your users because they didn't become customers.
Jack Herrington:
Yeah.
TJ VanToll:
I think it just depends what you're going into it and what you're wanting to get out of. I don't think very many people go in super naive nowadays. The open source
AJ:
I think they do. I think they
TJ VanToll:
rules
AJ:
do.
TJ VanToll:
of the road are pretty well established. I don't know. It depends on what perspective you're coming
Dan Shappir:
But
TJ VanToll:
out of.
Dan Shappir:
yeah...
TJ VanToll:
But what Dan had mentioned earlier, just what you get out of open source, he's basically telling my personal story because... I got into open source. And I, one of the reasons I know the jQuery timeline really well is because I was on the jQuery team as part
Dan Shappir:
Hmm
TJ VanToll:
of jQuery UI for a few years.
Dan Shappir:
I use
TJ VanToll:
And
Dan Shappir:
that.
TJ VanToll:
so I put it up. Yeah. It was an awesome framework. And I put in a lot of time, like a lot of thankless work into that project that I got no direct financial compensation for, but I feel like that time investment is paid off over and over again, just in terms of the notoriety I got from that, the exposure I got from that. Right, and
Jack Herrington:
And going
TJ VanToll:
I.
Jack Herrington:
back to an earlier point, the mentorship, right? That
TJ VanToll:
Yes.
Jack Herrington:
gives you the ability to work on a really good team.
Dan Shappir:
Yeah.
Jack Herrington:
And I think so many people are hamstrung
TJ VanToll:
And
Jack Herrington:
by that.
TJ VanToll:
it
Dan Shappir:
And
TJ VanToll:
gave
Dan Shappir:
again.
TJ VanToll:
me a perspective beyond just the little insurance company I was working on.
Jack Herrington:
Yeah!
Dan Shappir:
And that was eight or 10 years ago. And now what I'm saying is that not always, and there are always exceptions to every rule, but it seems that in the general sense, things are better now in that regard than they used to be. That's what I'm trying to say. It's still not perfect. It's far from perfect, but it's better than it used to be. It's so it seems to me. But going back to your question, Jack, I think somebody can react newbie fairly quickly. I think
Jack Herrington:
Oh,
Dan Shappir:
that you can be like a,
Jack Herrington:
six months,
Dan Shappir:
yeah,
Jack Herrington:
a year. Okay.
Dan Shappir:
six, I think that within six, I think people forget how simple react is at its core in a
Jack Herrington:
Hmm.
Dan Shappir:
lot of ways. So if you're not being overly fancy about it and you don't mind leaking memory and overly re-rendering then
Jack Herrington:
You know, my brain crap code.
Dan Shappir:
you can write crap code that works. If you want to be truly proficient in React, I would say that really depends on your experience, obviously, but if you're like out, you know, like from a bootcamp, let's say, and you're not like super genius, then I would say somewhere from four to ten years.
Jack Herrington:
Okay. All right. TJ?
TJ VanToll:
Yeah, I think that's pretty good. Obviously the answer to this is really, it depends, like
Jack Herrington:
Of
TJ VanToll:
any
Jack Herrington:
course.
TJ VanToll:
good technology question, but I think that's about right. I think new people really struggle with, I mean, to be a modern quote unquote web developer, the amount of things that you're expected to at least know, or be a aware of is kind of nuts because you can get into, well, should you know source control, should you know HTTP? Should you know how and like, like the list, we could make a list of 20, 30 things that we're
Jack Herrington:
Oh,
TJ VanToll:
probably.
Jack Herrington:
easy.
TJ VanToll:
all like moderately
Dan Shappir:
Oh yeah, for
TJ VanToll:
familiar
Dan Shappir:
sure.
TJ VanToll:
with. But, and I think that's where like the four to 10 years feels about right before you at least have a basic understanding of all those things. But I tend to agree with Dan that like, you would do quick and dirty stuff within about six months to a year. Like, wouldn't be someone I trust on my production website, but if somebody just needs to go in and start with some junior tasks and has somebody to sort of look over their code and teach them, I think you can start building things, right, and have a... basis, everybody's got to start somewhere.
Jack Herrington:
Hmm AJ?
TJ VanToll:
And if you limit the scope of, if you limit the scope of it, I think it makes it a lot easier. And then over time, you can introduce all that other stuff.
Jack Herrington:
Yeah. AJ, what do you think?
AJ:
I really don't, I really don't know. I don't know how to put a timeline to it. I think that because everybody's different and there's that, there's that quote about, are you having four years of experience or the same four years of X or the same year of experience four times?
Jack Herrington:
Yes,
AJ:
I
Jack Herrington:
like
AJ:
think there's.
Jack Herrington:
active learning versus just like doing the same things over and over and over again, right? Active learning is you're pushing your boundaries as you learn
Dan Shappir:
But that's
Jack Herrington:
all
Dan Shappir:
the
Jack Herrington:
the
Dan Shappir:
thing
Jack Herrington:
time.
Dan Shappir:
about React. I mean, every three years or whatever, React totally changes and then you start from scratch. So you can't stay in place. I mean, what, are you still using Create Class or whatever?
Jack Herrington:
You would be surprised how many people still use create class, or not create class, but like classes. I don't know anybody is using create class.
AJ:
think it's very different whether you're whether you're approaching it as a job or a craft. I
Jack Herrington:
Mmm...
TJ VanToll:
Yeah.
Jack Herrington:
Mm-hmm.
AJ:
because I the thing is I didn't get into programming because I was thinking gosh, I got to start looking for a job. And
TJ VanToll:
same.
AJ:
so that gives me a completely different perspective. I got into programming because I wanted a creative outlet to change things that weren't what I wanted them to be. So
Jack Herrington:
Yeah.
AJ:
I saw problems and then I was like hmm. I wonder if I could do this. And it started with, for me, it started with probably. I mean, just, just tinkering back in middle school, I added a, a, uh, a basic script that would prompt for a password before windows 95 would boot. I, I don't know why I did it. And then, and then it progressed to the calculator and, and I wanted to write a program that would help me solve my physics, physics problems where there was only basically four permutations of the homework. Right. And so I could just write it either you're solving for distance or you're solving for speed or you're solving for, uh, maybe it was, uh, acceleration or something, you know,
Jack Herrington:
Yeah,
AJ:
it was
Jack Herrington:
yeah.
AJ:
like, you're solving for one of these things. And so I just wrote all four permutations of it in my calculator. And then I knew that I'd get the right result and it, and it kind of progressed from there. It's just, I realized, Oh, Like I can write little snippets of script and little snippets of code. And it started as just a few lines. And then, and then it got to the point where I realized, Whoa, people, people want to pay me for this.
Jack Herrington:
Right,
Dan Shappir:
Yeah, there
Jack Herrington:
right,
Dan Shappir:
used to be
Jack Herrington:
right.
Dan Shappir:
a saying about the software developers back in the day that software, the good software developers are always surprised by how much people are willing to pay them to do something they would do for free. But
TJ VanToll:
Yes, that's great.
Jack Herrington:
That's
Dan Shappir:
But,
Jack Herrington:
true.
Dan Shappir:
but, but here's the thing. It's especially these days that this is not true for everybody. I think it's true for everybody who's probably a podcaster and it's probably more true for people who are listening to podcasts. But it's not necessarily true for the industry at large. There are a lot of people these days who are in it in order to make a living.
Jack Herrington:
Totally. You know, where's my 70k gig? That's what I was promised. You know, there was I learned this gobbledygook. And then you give me my 70k. And
TJ VanToll:
Yeah,
Jack Herrington:
that's
TJ VanToll:
I-
Jack Herrington:
why I mean, that's okay. But I mean, at a certain point, like, you're gonna be limited in the upper boundary. If you have that mentality going forward, you really need to get into exactly what AJ was talking about, which is tinkering, right? That's why he knows that's how he knows that a code he kind of took things apart. How does it work? Learn more? keep going, get fascinated by this, and then you get into that world where it gets really fun.
Dan Shappir:
Also a lot of people just get into management and then they don't need
Jack Herrington:
Yeah,
Dan Shappir:
to deal
Jack Herrington:
sure.
Dan Shappir:
with
Jack Herrington:
All
Dan Shappir:
the tech anymore at all
Jack Herrington:
right. Yeah. It's amazing how much those skills atrophy like me guy guy has been in management for like a year. It's like, Whoa, I don't know code. What is that again?
Dan Shappir:
But
TJ VanToll:
Mm.
Dan Shappir:
by the way,
Jack Herrington:
What?
Dan Shappir:
that's a very dangerous place to be in, as a side grant. I mean, you know, it's perfectly legitimate for people to go the management route, you know, somebody has to do it. And there are some people who turn out to be really good at it and enjoy it, and, you know, advance or found companies or whatever, or become, you know, CTOs or CEOs of huge software. you know, organizations or whatever. But for people who are stuck in middle management,
Jack Herrington:
Hmm.
Dan Shappir:
that's a very risky position to be in because
Jack Herrington:
Yeah.
Dan Shappir:
in the downturn, you're one of the first to go because upper management is not gonna fire themselves, obviously,
Jack Herrington:
Hahaha
Dan Shappir:
and they also need the actual developers to actually produce the code. So instead of one manager for every four developers, we'll make do with one manager for every six or eight developers and voila, we've cut out half of middle management. And in previous downturns, I've seen a lot of middle managers trying to get back into coding and it's hard.
TJ VanToll:
Yeah, I've seen that too, because I've been mostly working DevRel for the last decade or so. And even though coding is a part of my job as DevRel, right? I have to run demos and all that sort of stuff. It's different working on those sort of apps versus working on like a really important big production app. It's just different. Like it's less real. And so in the last year or two, I've... sort of forced my way into a role where I am doing, like working on an actual big web app, because I found that otherwise, if I'm not in there, if I'm not in the trenches on a day-to-day basis, it's just not the same. It's just not the same experience.
Dan Shappir:
Yeah, for sure. I can sympathize because a lot of my job as a performance tech lead also has to do with jumping between projects. And then sometimes I don't get to dig in as much as I would like. And I even get like pushback from managers saying, well, it's not for you to dig in. You should tell the developers what they should be doing and you should be moving on to the next project.
Jack Herrington:
Yeah.
TJ VanToll:
Yeah.
Dan Shappir:
And yeah, sometimes I kind of, you know, dive deep behind their back. Ha ha
TJ VanToll:
Yeah.
Dan Shappir:
ha.
Jack Herrington:
It's hard not to you know, you find this is that problem solving. That's what we all get excited by. You know, you
Dan Shappir:
Yeah.
Jack Herrington:
see something I love it when somebody has a comment in one of my threads, you know, when one of my videos is like, you know, oh, I tried that and that doesn't work. And you know, I'm like, or whatever, and they come up with some random permutation. And you're like, wait, what? And I really want my Give me the code. I want to see I want to see how you mess this
Dan Shappir:
Oh
Jack Herrington:
up.
Dan Shappir:
yeah,
Jack Herrington:
Because
Dan Shappir:
for
Jack Herrington:
it's
Dan Shappir:
sure.
Jack Herrington:
interesting to me how you messed it up. Because then, for every one person come to me and say, I messed it up. There's 100 people that don't say that. And it's amazing how
Dan Shappir:
By the
Jack Herrington:
you
Dan Shappir:
way, I cannot
Jack Herrington:
mess stuff up.
Dan Shappir:
look at code without automatically starting a code review process. So,
Jack Herrington:
Mmmhmm.
TJ VanToll:
Hehehe
Dan Shappir:
I remember, you know, just a few days ago, I was looking at some code with one of the team leaders at Next Insurance where I work, and she was asking me about, you know, some code, why it works some way and not some other way, why it should be implemented like this and not like that. And I was going like, yeah, yeah, but why is that variable named like this? And
Jack Herrington:
Hey, haha!
Dan Shappir:
I...
TJ VanToll:
Yeah, you can't help
Dan Shappir:
I
TJ VanToll:
yourself.
Dan Shappir:
can't help myself.
Jack Herrington:
Oh yeah. What do you mean
TJ VanToll:
Yeah,
Jack Herrington:
to use
TJ VanToll:
I-
Jack Herrington:
a VAR? What the heck?
Dan Shappir:
No.
TJ VanToll:
I think
Jack Herrington:
What?
TJ VanToll:
it gets back to AJ's point about motivation earlier, making a big difference, because I feel like that's the thing to answer your question, Jack, if some random person came up to me in public somewhere and asked about it. I think the reason that question is hard to answer is because I found that the people who are really good at software development and really like it are the ones that have a natural interest, something in it that just makes you really enjoy and interested. The same thing that makes Dan see code and instantly... think about variable names and stuff like that. That's just something that's kind of baked into you. So I feel like if you find somebody who has that, I think that's why it makes sense for everybody to try it at some point in their life, right? To see if that's something that appeals to you. But I think like it's like anything else in life. If it's something you're not interested in doing or it doesn't click, you're gonna have a hard time fighting against that
Jack Herrington:
Yeah, yeah,
TJ VanToll:
to
Jack Herrington:
totally.
TJ VanToll:
sort of force yourself. Same reason people have trouble. Like if you don't like going to the gym while you're getting- you're going to have a constant struggle in life trying to force yourself to do it. It's the same thing. Like I could be, I'm sure I could have been a lawyer in life, but like I stand, can't stand reading
Dan Shappir:
Oh yeah,
TJ VanToll:
things
Dan Shappir:
for
TJ VanToll:
like
Dan Shappir:
sure.
TJ VanToll:
legal documents or anything like that. So it would have been a life of pain trying to do it, right? I'm sure it's technically possible, but
Dan Shappir:
Yeah.
TJ VanToll:
if you enjoy, if you have interest in it and your brain tends to work that way, it likes the sort of puzzle solving nature of coding. You're going to be proficient a lot faster than somebody who doesn't have that natural interest.
Dan Shappir:
Also, you can't ignore the fact that we've either been lucky or a product of certain amount of privilege. Not
Jack Herrington:
Hmm, hmm, hmm.
Dan Shappir:
everybody has these opportunities. I would like to pull us back though in a different direction because we were talking about the fact that if you kind of disconnect from the technology, it's very easy to lose track because things tend to change so quickly. And if we talk about React for a minute, React, like Jack, I don't remember if you said this before the show or during the show, that React is kind of like, what did you call it? Like stage, like
Jack Herrington:
Oh, it's in phase three.
Dan Shappir:
phase
Jack Herrington:
Yeah.
Dan Shappir:
three, that's it. Like taking the Marvel kind of thing.
Jack Herrington:
Hahaha
Dan Shappir:
It might even be phase four, depending on how you count it. Because we moved from create class to classes, then from classes. to hooks and even then, it's not just classes versus create class, it's higher order components versus mutexes. So mixing, sorry, there was a mixing period and then
Jack Herrington:
Right,
Dan Shappir:
higher
Jack Herrington:
right,
Dan Shappir:
order
Jack Herrington:
yep,
Dan Shappir:
components
Jack Herrington:
oh
Dan Shappir:
and
Jack Herrington:
right,
Dan Shappir:
then
Jack Herrington:
yeah!
Dan Shappir:
hooks. So we did go through a couple of phases along the way. And one of the things that you said or hinted at. before we started recording is that this phase appears to be less popular than previous phases or the transition to this phase seems to be getting more pushback than previous ones.
Jack Herrington:
It's a different pushback. I mean, there was some there was certainly some pushback against hooks. Although I would say functional components that come out a couple. God, obviously, my timelines are awful. But like, I want to say the least came out a year ahead of hooks.
Dan Shappir:
Well, way
Jack Herrington:
And so it
Dan Shappir:
longer
Jack Herrington:
was like,
Dan Shappir:
than that, by the way.
Jack Herrington:
okay, cool. All right. So a couple years before hooks. And so that gives people a little bit of time to get into it, right. And then, and then hooked him around and be, oh, I guess I my my functional components can do more now. Awesome. Okay, cool.
Dan Shappir:
The way
Jack Herrington:
But then
Dan Shappir:
I remember,
Jack Herrington:
like
Dan Shappir:
by the
Jack Herrington:
RSC
Dan Shappir:
way,
Jack Herrington:
is
Dan Shappir:
yeah, just a comment, the way I remember it, and I might be mistaken, is that functional components came out alongside classes. That we got classes together with functional components, but that hardly anybody was actually using functional components, and everybody was using classes. Because the problem with functional components was that you, you know, the likelihood that you would need some sort of a state in the component was fairly
Jack Herrington:
Mmm.
Dan Shappir:
high, at least the way that people were writing the code back then. And the transition was kind of painful because you effectively needed to do a lot of rewriting of boilerplate code to go from a functional component to a class-based component.
Jack Herrington:
I'm gonna rebut that a little bit because I think at the time, as I recall, the common wisdom was a redux, like you never put any state inside of a component outside of maybe at best,
Dan Shappir:
That
Jack Herrington:
like
Dan Shappir:
happened
Jack Herrington:
animation
Dan Shappir:
a bit later.
Jack Herrington:
the state. And then, okay, fair enough. And and, you know, so you've functional components were okay, because you're going to
Dan Shappir:
Hmm
Jack Herrington:
be wrapping them
Dan Shappir:
with
Jack Herrington:
in
Dan Shappir:
a higher
Jack Herrington:
in the with
Dan Shappir:
order components
Jack Herrington:
a redox stocks
Dan Shappir:
and stuff like
Jack Herrington:
exactly.
Dan Shappir:
that.
Jack Herrington:
And you're
Dan Shappir:
Hmm.
Jack Herrington:
going to get your your state from there.
Dan Shappir:
You might be correct
Jack Herrington:
You know? Yeah. So whatever phase two phase three, but I do think your assessment is right. I think there's a lot of folks pushing back on RSCs. One, they don't see the value of it. Like our SSR isn't as important to them as it does. It seems to be. I think there was this weird thing, weird vibe in the community. Like SSR was true. React, you know, like next. Yes, that sort of stuff was true. React. But, you know, now that our seas are come out, you find there's actually a big contingent of folks like, you know what? Spas are fine, man. That's what I was doing. Like, I need this stuff.
Dan Shappir:
No, SPA, SSR is for SPA. If it's not SPA, then it's just server rendered. It's not SSR. For me, the term SSR versus server rendering is the difference of whether or not it's that phrase that's hardly used anymore is a morphic code, whether it's the same code running back and back. But let's put it this way. In this day and age of of the mobile web and search engines and whatnot. If you're just doing client-side rendering, then either you don't really care about mobile users, or you don't care about search engines. Now, there are applications out there that fall into these categories. Like, I don't know if you're writing dashboards, or if you're implementing,
Jack Herrington:
Yeah, fully logged in experiences.
Dan Shappir:
yeah.
Jack Herrington:
We, you know, yeah,
Dan Shappir:
Yeah.
Jack Herrington:
they're not going to.
Dan Shappir:
Or like, I don't know, internal enterprise applications where you could care less about your end user.
Jack Herrington:
Hahaha!
Dan Shappir:
But otherwise, how can you not do SSR?
TJ VanToll:
Well, I mean, I think this is the biggest thing to me going on in the React world the last few years is just people throwing different things at the wall when it comes to server rendering. So you have technology like frameworks, like Astro experimenting with things like islands architecture. You have react working on react server components. You have next with their multiple different ways of doing server side rendering. So
Dan Shappir:
Gatsby
TJ VanToll:
it's a complicated.
Dan Shappir:
and...
TJ VanToll:
Yeah, it's a complicated space. And I think some of the pushback on the React world is just dealing with that complexity and not knowing what crap, which one of these do I use? I'm just building an e-commerce site. Like somebody just tell me which, which, what's the right way of doing this. Um,
Dan Shappir:
Use Shopify
TJ VanToll:
I just feel like we're.
Jack Herrington:
Hahaha!
TJ VanToll:
Yeah.
Dan Shappir:
or Wix
Jack Herrington:
Yeah. Yeah.
Dan Shappir:
or WooCommerce. Why if...
Jack Herrington:
Although Shopify has Oxygen, which is now Remix,
Dan Shappir:
Yeah, but
Jack Herrington:
you know,
Dan Shappir:
nobody's
Jack Herrington:
all that.
Dan Shappir:
using that yet.
Jack Herrington:
Ahahaha!
Dan Shappir:
No, seriously,
TJ VanToll:
What is this?
Dan Shappir:
I mean, not nobody's using remix. Nobody's yet, hardly anybody
Jack Herrington:
Yeah, and you
Dan Shappir:
is
Jack Herrington:
have no idea what oxygen is.
Dan Shappir:
using oxygen or hydrogen for building Shopify sites. I think that like, I'm guessing you could probably count these sites on one hand versus the millions of Shopify websites built on liquid.
Jack Herrington:
for sure.
Dan Shappir:
But I'm serious though. I mean, if you're implementing an e-commerce site using client-side rendering, you're doing way, way, way more harm than good. You know, whichever way you look at it. I mean...
Jack Herrington:
Okay, just I actually do come out of this space. I was working at Nike as a principal worker architect over there principal architect at Walmart labs. And we had an MPA architecture. So every, every experience you go on to would be a different app. And so for example, like our carton, the carton checkout experiences were universally straight up client side rendered because there was nothing you could do on on on the server really maybe the header.
Dan Shappir:
Yeah, but at that
Jack Herrington:
You
Dan Shappir:
point,
Jack Herrington:
know, and
Dan Shappir:
first
Jack Herrington:
that's
Dan Shappir:
of
Jack Herrington:
it.
Dan Shappir:
all, those pages don't need to rank. And
Jack Herrington:
Right, exactly.
Dan Shappir:
in those pages, the customer is already committed. And even then, you're probably doing harm because the likelihood of you losing a customer due to some lengthy delay increases. Let's put it this way.
Jack Herrington:
Uhhhh
Dan Shappir:
But. But that's kind of acceptable. But for the home page? I mean...
Jack Herrington:
No, no, you're right. Yeah, homepage and product detail page in particular,
Dan Shappir:
Yeah,
Jack Herrington:
heavy
Dan Shappir:
product
Jack Herrington:
SSR
Dan Shappir:
pages,
Jack Herrington:
targets.
Dan Shappir:
yeah.
Jack Herrington:
But I gotta say, that's an interesting thing. You know, that's to me is where you start TJ's point, the islands architecture, because I got
Dan Shappir:
That's SSR.
Jack Herrington:
an example
Dan Shappir:
That's the technicality of
Jack Herrington:
that
Dan Shappir:
SSR.
Jack Herrington:
is SSR but but it you know, SSR isn't even enough. You know, you have to get to the point where like, you're not actually react rendering the header as an example, because it's not interactive enough or whatever, only mildly like whatever all of that.
Dan Shappir:
We are using NextJS at Next Insurance where I work, no relation to Vercell.
Jack Herrington:
Uh
TJ VanToll:
Yeah
Jack Herrington:
huh, okay.
Dan Shappir:
But we are actually using NextJS for the homepage. Now
Jack Herrington:
Mm-hmm.
Dan Shappir:
they do have the advantage of having me, but
Jack Herrington:
Haha!
TJ VanToll:
Hmm
Dan Shappir:
we are not yet on React Server Components, it's too new.
Jack Herrington:
Hmm.
Dan Shappir:
By the way, we are... It's interesting. It used to be a WordPress site.
Jack Herrington:
Hmm.
Dan Shappir:
And they moved off of WordPress even before I joined. Now, had I been there, I might not have recommended Next.js for the marketing part of the website. I might have recommended something like an Astro or something like that.
Jack Herrington:
Yeah.
Dan Shappir:
But they were thinking, but two things were guiding them, or us at the time. I had not joined yet. Two things were guiding them. when they made that choice. First of all, you don't get fired for choosing React and Next.js.
Jack Herrington:
No kidding, yeah.
TJ VanToll:
Yeah.
Dan Shappir:
You are able to find developers for
TJ VanToll:
Yeah.
Dan Shappir:
React and Next.js. You're able to find components for React and Next.js, lots of code samples, videos by people like Jack. And yeah.
TJ VanToll:
Events, training, yeah.
Dan Shappir:
Exactly. And in our performance, and again, despite not using server components yet, and you know, hydrating the entire thing. Oh, and we're, oh, the interesting thing I forgot to mention, we're actually still using WordPress as a headless CMS behind
Jack Herrington:
Hmm,
Dan Shappir:
the scenes,
Jack Herrington:
sure.
Dan Shappir:
because the marketing
Jack Herrington:
Yeah.
Dan Shappir:
people are just used to working with it. So for them, nothing really changed. into the WordPress backend, only instead of having WordPress render it, it's now being rendered by React and Next.js. And our developers are able to do more sophisticated things with it. Also they could not really find developers anymore who wanted to work with PHP.
Jack Herrington:
Hehehehehehe
Dan Shappir:
So that was becoming a really big problem.
Jack Herrington:
So Dan,
Dan Shappir:
And just to
Jack Herrington:
all
Dan Shappir:
finish
Jack Herrington:
right,
Dan Shappir:
that point, just one more thing.
Jack Herrington:
yeah.
Dan Shappir:
Uh, we're on, you know, for desk, uh, like Lighthouse desktop scores, something like 98
Jack Herrington:
Mm-hmm.
Dan Shappir:
mobile is not
Jack Herrington:
Nice.
Dan Shappir:
that great, but it's 74, which is not that bad. And if we're looking at a Google search console, uh, out of like 1500 pages that we have on the website, like all of them are scoring good, except for something like 30, which are in the high needs improvement cat space. So we are, you know, good all over. in terms of performance even though we're doing the whole hydration thing.
Jack Herrington:
Yeah. Yeah, I think hydration only gets you when it's time, I think time to interactive. But you know, I never
Dan Shappir:
And
Jack Herrington:
I mean,
Dan Shappir:
even there, the biggest problem was marketing pixels.
Jack Herrington:
Oh, right. Yeah, which you can go and offload them in web
Dan Shappir:
And
Jack Herrington:
workers
Dan Shappir:
we actually
Jack Herrington:
and all that now.
Dan Shappir:
implemented. So one big thing we did relatively recently is actually used Party Town. And by the way,
Jack Herrington:
Oh yeah.
Dan Shappir:
we had the people from Party Town on the show, on JavaScript
Jack Herrington:
Mm-hmm.
Dan Shappir:
Jabber as well.
Jack Herrington:
Yep.
Dan Shappir:
We used Party Town and that improved the situation dramatically. but it's not an easy thing to do.
Jack Herrington:
Yeah. Okay, so Dan, interestingly, you mentioned like the ecosystem around react, the libraries, the authors, the content, all that sort of stuff. That's, that's to me, over the past like years, two years, I would say, what's really been holding react together, it was it's not react, react is sort of doing weird stuff. They're, you know, adding hooks that we don't understand. They're doing this RSC stuff. I don't know. But like The stuff that was still really good was like, tan stack query and movie and all that sort of stuff. It was, oh, wow, that's great ecosystem and tooling around it. And I think that's what is interesting about react 13. And the app writer stuff is they're basically saying, all that stuff goes away, right? tan sack query, you might not need that anymore. Movie, it's not even compatible with app writer. Like, I mean, it's, it's gonna be interesting to see, like, when they when next.js or when it becomes a thing, they're literally saying half the ecosystem goes away and I don't know if React survives that.