there is continuously dumb takes on
YouTube but I don't think we have a dumb
take here my friends I get this question
literally multiple times a day I get
emails I get whispers about it so I
wanted to watch this and TJ was just
like you can watch it go for it I've
been getting asked a lot lately about my
thoughts about the future of software
development whenever a new AI Advance is
released I get a flood of questions
asking what is the future for software
developers and I think the question they
are not asking is will I still be
allowed to code in the future obviously
everything besides c will still be
legal he's correct I don't know if you
know this but Gemini won't even show you
C++ code unironically that's not me
exaggerating that's not me saying some
nonsense C like literally Gemini will
not allow you to see C++ code if you're
below 18 because it's it's not it's not
safe for work literally it's not safe
for
work that's kind of funny I didn't I
didn't realize how funny that was until
I just said it out loud I feel like the
real question that they're asking is
will I still be able to get paid with
the skills that I'm learning while I
learn a code yeah that's reason and so
the first thing I want to say is I hate
predicting things particularly in public
if you would have asked me five years
ago about if any of this AI Tech if we
would have it today I'm pretty sure I
would have said no and I'm not talking
about the crazy hyped up demos I'm
talking conversational AI that returns
some semence of a conversation even if
it's mostly hallucinated I I I don't
think I wasn't thinking that was going
to be possible so I've had to update my
good take right there by the way public
prediction especially on Tech is just
like just the worst it it you're wrong
100% of the time Ires many times
throughout the last few years regarding
Ai and its capabilities and therefore
its future capabilities as well so I
just don't have enough hubris to think
that I know what's going to happen in
the future did we just get a hubus
mentioned is TJ just dominating us with
some some Thomas aquinus level speaking
here maybe I guess I do have just enough
huis though to post this video about my
thoughts so there's two major points
though that I want to talk about the
first is that I think software is more
than coding and then the second is that
programming itself is more than coding
and before I sort of go deep on those I
want to just seed for the sake of
argument that AI will be able to do
coding tasks that a junior engineer is
currently exposed to do AI will be able
to perform these as faster faster and
more cheaply than those Junior engineers
and AI will be able to do this and
productionize right sort of rolled out
to people um sometime in say the next 5
years I realize some people in my chat
keep telling me that this is going to be
in six months but that roll out seems
quite difficult to change the entire
structure of an industry in that time
this is actually a super good take
because what you might be missing I
don't actually even agree with TJ in 5
years I think it's going to be a touch
longer uh a I think the expensiveness of
of producing chips to be able to keep up
with the demand is just going to be too
high and for a long time it'll just be
way too expensive to have a junior
engineer that is AI uh specifically with
the amount of things that's going to
continue to get wrong I think we're
still one generation away from things
being at least moderately useful you
know we we had a we had a ban so like
let's let's just calm it down flip take
this part out you take it out
flip who got banned I don't even
remember that's how insignificant the
situation was flip you can pick it up
right here okay now now I remember I
remember where we're at all right I
actually I think the thing is I actually
think TJ is even off on that because
just think about how slow the industry
moves just like in in in all aspects how
slow things move it takes a long time to
do industrywide changes right it takes a
long time so when people think like oh
AI is going to replace all these jobs
it's
like you know like you still have to
like I mean think about how many checks
and balances and new roles and
discoveries and failures and all these
things that have to happen before we
even know how to integrate these things
in well it's going to take a long
long long time I I I don't foresee
anything within this decade we will
probably have the time as a 32-bit 2036
problem before we have ai completely
sweeping out all jobs that's my public
prediction I go way way way way way
further is it 2038 2038 20
2032 uh or 2036 2038 it's somewhere in
there anyways 203 something we're going
to have some
issues and from there we'll we we'll
work on it January 19th 2038 okay maybe
that's when the a maybe that's how the
AI get integrated into these workflows
is that they're able to to solve all of
our old crappy cobal code and all the
other codes and now they can move right
so you just got to remember how slow
these companies move so that's just like
something to just keep in your head so
even if AI let's just pretend that AI
today was good enough to replace a
junior how fast do you think that would
happen like real talk I don't think
you're going to see that
happen even in 5 years if it could fully
replace a junior like that it would be
so D complicated cuz just think about
the sheer chip generation that would be
needed to even handle that workload
let's just pretend it's it's 100% yeah
firing people isn't free it costs money
it costs time you have a whole
management structure that's going to
have to change you have get workflows
that have to change like there is just a
lot of things that you have to like
think about that's surround this this is
why when he says that I mean just the
industry change alone he's saying 5
years I I I'm adding a good 10 on top of
that five right the reason I say that is
cuz I don't want to fight about what I
think the particular capabilities of AI
are going to be instead I want to talk
about that with sort of that scenario in
mind and if you think any of those
points are much too aggressive and your
AI takes are so bad now you must explain
yourself what was bad about that take
literally what was bad about that take
saying even if it's purely equal to a
junior engineer it's purely equal to a
junior engineer it's still going to take
so long the amount of like dude you
cannot replace a million people and turn
it into into like we don't even have the
machine power for that like what the
hell are you even talking about what's
the bad part you got to hit me you got
to hit me be Union hit me be Union come
on come on we'll let him cook hey please
cook remember your job isn't by the way
for those that know when I challenge you
I want I want you to you can take two
minutes and cook up a good response
don't you don't need to cook fast okay
we don't need a microwave meal we want
something good okay so if your response
is like three words and it's just like I
think it's bad that's stupid right you
you
idiot the old dick twist got him with
the old dick twist well that was
anti-climatic uh this is why we just
stay neutral in this chat oh you you
should not you should not stay you
should you should not stay neutral if
you have an opinion and you think I'm
wrong I don't mind like I actually like
this part I want you guys to know that I
genuinely appreciate when people try to
say I think this is bad that's why I
bring you up on the big board because I
want
somebody
that that that has an alternative
opinion to my mine your AI takes are so
bad okay he hasn't responded he hasn't
responded
yet don't be an echo chamber I
you're genuinely you genuinely like
singling people out for public shaming
how do you think this is public shaming
how exactly do you think this is public
shaming now we got two people going okay
we got two conversations going at the
same
time I'm giving somebody the chance to
say their peace I'm giv I'm given the
chance right and we're even waiting
we're waiting classic hell this is
buling this is buling how is this
bowling okay now you guys are having L
takes dude is B Union not going to
respond did did B un did B Union run
away
damn I think I think we had B Union
leave man I will say that if you're
going to say something you should be
willing to you should be willing to back
it up you know what I mean lost a viewer
that's fine if you're not willing if
you're not willing to put a little um
behind what you're saying I I think
you're being weak okay that's soft
energy that's soft energy that's like
Microsoft uh
Microsoft VP of soft energy right there
uh I don't think AI will take over soon
either but I think your example is not a
b is bad in my opinion uh companies
mainly move slow if something does not
give them a lot of profit companies are
quick to lay off people but it's so much
more than that like like I I see what
you're saying but the problem is is you
have to think about all of the other
[ __ ] that has to go into this they have
to set up contracts they have to have
guaranteed up time they have to have the
ability to ensure that if anything goes
down even for an hour how does it
respond how do production issues respond
how do do you roll back do you roll
forward who's monitoring the monitors
who's actually doing all that [ __ ]
that's involved how many seniors can you
have per AI is committing code how long
do you let the code sit do you trust the
tests that are being written like it is
a huge amount of like just testing and
slow moving that's going to require a
long long long long time before they
actually go okay we're willing to hand
this over because it saves us a million
dollars a year right there's so much
more than just simply oh it works so
therefore let's go right there's there's
there's a lot to it like there's so much
people you have to hire so much so much
process you have to set up there's so
much everything that has to happen right
uh all of these things need uh uh
processes developed in order to work at
Enterprise scale the Enterprise scale is
the only thing that could afford to
adopt this right now that's like there
you go this is Beautiful by the way this
is the crazy ju a position that we're
kind of in which is how do you like it's
like building a program that requires
users to submit information uh to make
it relevant but you won't get users
using it because it doesn't have
relevant information you know it's like
the old chicken in the egg thing which
is why like a lot of these when you have
the double when you have the double
relationship it's really really hard all
right let's see if let's see if B scale
actually did it B scale I really wanted
to see uh or B Union man be Union I I
will say be Union that was a little weak
okay damn little weak little weak weak
mindset I personally agree with you on
AI uh maybe not on co-pilot 100% that's
fine weak take that's a weak take that's
a common L right there say it with your
chest okay you got something to say say
it with your chest okay I don't hate
co-pilot I don't love co-pilot I don't
hate co-pilot I don't think AI is
terrible I think AI can be very useful
but to think that the world is about to
change to the point where companies are
just going to be like forget everybody
we're run with AI just show that either
a you're completely unn knowledgeable
about companies B you're completely unn
knowledgeable about the skill you're
trying to say that you know or C you
just are you you actually think AI are
magic it's none of the three right I
think you're overestimating Ai and
you're underestimating how slow things
move right favor of AI then that's
totally fine my argument will just be
bolstered in my in my corner the other
clarification I want to make is that for
the rest of the video when I say coding
I'm sort of referring to this act of
sitting in front of a computer typing
autocom completing copying pasting a
programming language into an editor and
then shipping that to prod in some sense
the exclusively physical act of creating
software so when I say software by the
way I love that TJ whenever he makes
arguments and stuff this is again why TJ
is such a talented developer and I think
he's one of the best like coders out
there is that notice that how he's
creating this he's like setting up all
the definitions and everything great job
is more than coding what do I mean I'm
saying people don't pay for code they
definitely don't pay to just watch you
Cod unless you're a twitch streamer I
guess then people like doing that hell
yeah but what they pay for is for
problems to be solved and when you're
coding you're not getting paid for that
code you're getting paid to solve
somebody else's problems real or
perceived these problems might be for a
client or they could be for your boss or
they could be even for other software
developers right but the reason you're
getting paid is because the problem
you're solving for someone is valuable
enough for them to part with their
beloved cash this boils down to software
being able to maybe provide something
that's faster or cheaper or more
reliable than what could have been
accomplished previously and software is
a super set of just those coding tasks
of just literally typing into the
computer because you need more than just
good algorithms or a nice type system to
create value for your customers not to
was that o camel did we just get o camel
mentioned did teach just sneak in a
little bit of O camel right there by the
way I agree with this entire take which
is that it just happens that the we all
are just solving problems it just
happens that the way in which we solve
it the manifestation of it is by coding
and coding is an exceptionally difficult
skill to get good at therefore if we
could solve all of our problems with
horses we would just use horses instead
but that day and age of using donkeys
and horses has left and now we have to
use our mind and so therefore it just
cost more because to be able to get
somebody that could use a donkey
somewhat well was a lot cheaper than
someone who can communicate and take a
problem from an abstract sense into a
physical and exact meaning into a
computer that works well with a bunch of
people using it goorse mentality
absolutely that's why it's just gotten
so uh that's I mean that's why it's so
dang so dang valuable right now to no
coding by the way every argument for AI
amounted to it's gotten this far this
quickly but that's the first 80% yeah
yeah this one's very difficult on this
one I can't say whether you're right or
wrong on this specific one uh meaning
that is it going to go faster is it
going to go far farther uh but why male
models but like but real talk like is it
going to be is it going to continue to
grow this fast maybe it might even grow
faster but it might also grow way slower
so it's extremely extremely difficult to
know what the future is going to be for
AI That's why whenever I talk about AI
you'll you'll typically see me say
something along the lines of I think
next Generation AI will be a lot more
useful for these reasons because I'm not
saying a time period I'm saying a uh a a
step function you know like I'm saying
the next iteration right that could
happen in one year that could happen in
five years that could happen in 20 years
we don't know when it's going to happen
but the next Leap Forward whenever that
next Leap Forward happen
I do think we will see a much different
um Enterprise response to how this is
going to happen right I think there will
be a significantly different response I
think Devon will probably be a lot
better we won't all be saying yo [ __ ]
Devon we'll be saying why does Devon
cost so much you know we might we might
change our tune a little bit when that
time comes you know you know what I mean
and maybe hey we could also solve how
exponentially expensive these things are
right like I don't want to put bounds on
what we can and can't do but also [ __ ]
Devon yo [ __ ] Devon right I don't want
to put bounds on what what can or cannot
happen it's kind of like a it's dumb to
think that because when I was younger
would I have thought that we would have
our computers now where they are are no
I would have thought we would have been
much faster that's because I didn't
understand technology and I just thought
wow we went from 1.3 gigz to 1.8 GHz and
like you know only so many months man
here in like 5 years I'm going to have
like a 5 G gz processor it's going to be
awesome in 10 years it's going to be
like a 20 GHz processor but that's
because I was incompetent to the scaling
problems that exist right I just didn't
understand because I was young I was I
was a young man not understanding
anything say those aren't important I
just wanted to play Unreal Tournament
important just I'm saying there is more
to software than that you need to be
able to understand requirements and
update them when things change this may
even involve I hesitate to say it
talking to a client or to a stakeholder
you need to be able to practice
communication understanding the
non-technical aspects communicated to
you sometimes called listening in the
area of someone else's expertise and you
also need to be able to communicate
technical Concepts to non-technical
people in your area of expertise you
need to be able to say no to feature
creep and scope management your project
can't do everything right you need to be
able to say no to something you'd like
to do but think the cost is more than
what it's worth like maybe rewriting
your front end in Rust there by the way
there's so many things here that is
actually really really really awesome I
should have paused it sooner but I
wanted him to get his idea out like one
of the the one of the chief goodnesses
of a good engineer is the ability to say
no to improvements features things that
come down the pipeline and the reason
why that is is it can it can become an
overall bad experience for people
and this would be like like imagine an
AI future where you can just say what
you want you could imagine that every
single product that we create gets
obtusely complicated everything's FFM
Peg because at some point you have every
possible feature that some person
thought about that doesn't even
understand what the customer wants and
now you you have literally just the most
complicated everything right when we are
not held back by time it it will be
still very difficult I think creating a
good program will be very difficult even
if it was as simple as speaking what you
wanted into an existence infinitely
configurable exactly FFM Peg is a great
argument against monoliths it is it
really is because FFM Peg is obtusely
confusing G streamer holy cow you know
what I mean it's like holy cow it's
difficult to be honest I am always rude
to the non-technical sales who only
shoot uh who only shoots to the Moon any
AI uh won't do that because they'll
report this AI is bad uh and buy another
AI that will always say yes to any of
their
needs yeah that's that's also I mean you
should try not to be rude but uh always
is also you know usually a bad argument
for anything you do because I'm sure
there's plenty of times that you're not
actually rude you know I know you're a
little exaggerating here but again
saying no is a very important part of
the process because what you think the
customer wants and what the customer
wants are often very very very different
things and so to be able to constantly
give them what they want is not good
there's an old saying I think about
democracy I forget how it goes but it
goes something along the lines as like
democracy is uh giving the people what
they want and giving it to them hard
right it's like this it's it's this
funny hell divers 2 mentioned that's
actually even better with hell divers
now around dude we're giving them
democracy hard right I forget who said
this phrase it's some funny phrase where
it's just like not only do the people
get what they want but they get it hard
like it's funny hell divers 2o mentioned
yeah we need manage democracy
immediately there's social aspects to
software and to making software like
list I do want to take one more thing
that he said just
imagine like for all those here who here
uses chat GPT fairly regularly who here
has been who who here is a proter okay
we there's definitely some pters in here
you can see a lot of PRS going on in
here okay maybe we don't need to know
the exact number now for all of these
PRS in here um let's just say company
comes by and says man we don't even
need AI is just going to build it for us
we don't need none of y'all imagine how
the pring is going to go right it's
extremely hard to even say what you want
to say to get the thing created and
that's hard like me talking to another
engineer that's super good like that's
already a challenge it's like that is
such a challenge just to get that right
and that's like me and one other person
both paid to be here and both actually
find each other good to work with and we
want to be successful and we're like oh
[ __ ] I got that completely wrong why was
I doing uh what's it called Red Rum uh
why was I doing that nobody knows but
you get the idea like that's it's
already so dang hard so just imagine
that it's like again this is why these
things this is why you get paid what you
pay get paid is because programming is
so much more it's really good to be good
at your craft and that's usually what I
emphasize in this because I think a lot
of people foro getting good at their
craft for pursuing the soft side which
is not good either right it's it's you
don't want to forgo one for the other
listening to feedback and giving
constructive feedback there is mentoring
and being mentored there's patience
kindness and respect all of these things
create teams that are generally seeming
to be more effective at creating
software and there's also asking and
understanding things like how do we make
money at this company the best software
developers I've Snapchat mentioned was
that a was that Snapchat mentioned right
there
or shall we say Discord Discord how do
we make
money
ads Discord is like going to show ads
people how do we make money at this
company the best software developers
I've ever worked at were great at all of
these including coding they definitely
were great at writing code but they
understood each of these and helped me
to learn to do each of them better all
of these skills will still be useful for
as long as we have jobs there are skills
that you can practice and hone while
working as a software developer or
learning to be a software developer
regardless of your seniority and tex
stack I like that but even beyond that I
want to say programming itself is more
than just
coding and maybe this section should be
titled something more along the lines of
programming can be a superet of coding
and if I'm being very reductive
and I I want to be clear very
reductionist I see sort of two
categories of programmers there's
solution copiers and there's problem
solvers solution copier is not
exclusively about using copypaste
Solutions it's about using copypaste
solutions for copypaste problems without
examination as a clarification there are
a lot of people who primarily sort of
copy and paste code and solve a
ridiculous amount of problems they could
be like a scrappy solo startup right and
they are copy pasting because they don't
have an engineer uh you know a legion of
Engineers to write a bunch of code they
need to take the solutions that are
available and ship quickly and iterate
or maybe they're a non-programmer using
Excel and copy pasted Python scripts to
power some ridiculous real estate Empire
I don't know he's totally right about
all this this is this is it is a good
breakdown because there's a lot of just
like startups that are just like they're
just you know how many marketing pages
are just copy pastas of another
marketing page they all look the same
right they're all just like uh we got to
get log in we're going to put in clerk
we need to host this somewhere put it on
for sale oh we need to do this we better
use this uh we better do that we better
you know like they're just all using the
same
technology right it's just like just
copy paast to get the thing out as fast
as possible let's go know the point is
I'm not actually talking about that
group of people here those people are
still problem solvers they're just
focusing on a different set of problems
and a different set of solutions yeah
that that's fair I when whenever I when
you know like I think of Rockstar Dan if
you guys don't know Dan he's awesome he
used to do a whole bunch of startups
here on Twitch uh he's a pretty smart
fell uh and what I see with him and and
and a lot of people like that is that
their focus is purely on a business and
coding is incidental right coding is
just like the the happy accident that
has to that that exists to allow them to
create the business right and so coding
is like a cost center for them they just
simply have to get the thing out and it
doesn't matter about anything else
coding is purely a means to an end
that's a good way to put it coding is a
or a necessary evil it's just like they
just have it's the only way they can to
specify what they want the solution
copers they're not interested in how
things work just getting passed to the
next task they're sort of unaware of the
ways that different libraries and
language and tools can solve their
problems or might not solve their
problems they just copy paste the first
solution from a stack Overflow problem
or now maybe their favorite llm until CI
is green there's no concept of
considering the context that they're
that they're currently in but this isn't
just limited to technical problems like
we've been talking about it might be
that they're not interested at all how
their business works or how their makes
money or what their customers want right
it maybe that they've never considered
does the structure of our own
organization help us meet the goals and
desires that we're setting out to do in
contrast we have the problem solvers
these are curious people who try to
solve problems via understanding
and I think these skills will remain
useful even if we never write a single
line of code
again and this is sort of where I think
people are underestimating the skills
that they can once again can learn via
software development right and my point
I'm going to quickly pause him here
there's this uh do you guys remember the
article by Lane by the way boot.
mentioned it uh by the way if you want
to support to TJ and I at the exact same
time boot. by the way become a backend
Dev support TJ and I exact same time but
Lane made this argument which is like I
had this coding problem and I had
somebody try to solve it and they
effectively worked around the library
right and by working around the library
it didn't
uh it it did solve the problem but it
wasn't actually the solve to the problem
right you fixed the symptom you didn't
fix the underlying problem and so
instead I believe it had to do with like
a squeal C and some sort of null string
if I'm not mistaken and he said like if
only he would have went and looked at
the documentation gone through it he
would have realized that the problem
isn't right here it's actually how we
defined the schema and we should have
just taken a bit of time and fixed the
schema then we would have fixed this
problem and so like that's that's like a
a very important problem solving skill
which is to be able to take a step back
and say what is the root cause and I I
absolutely love that I absolutely love
the root causing of things uh this is a
good I think te just underestimating the
number of software developers out there
that do not want to learn anything they
want to make a buck move into management
and be done with it these low performers
we all work with will contribute uh
little or so little but fill uh the jobs
sure they do fill the jobs and these are
also the first people out of the door
when as as AI is integrated more deeply
into Enterprise okay because guess what
also happens can anyone guess what also
happens middle management also gets
trimmed as a lot of these jobs go a lot
of middle management also gets trimmed
and so these ineffective employees that
become ineffective management become
ineffectively jobless right like they
they they go from one step to the next
step to the next
step so middle management goes first in
the next five years interesting
take no people no managers and so I I
don't like to consider that because I
first off I don't think we can qualify
how big that group is so I don't want to
say that it's most Engineers I don't
want to say that it's some Engineers I
don't want to say it's the plurality of
Engineers I don't want to say it's the
minority of Engineers cuz I have
absolutely no idea how much of them
there are I've been in places where
there's a lot of them I've been in
places where there's absolutely none of
them and so it's very very difficult to
know that number and I I I most
certainly don't want to emphasize that
but they do exist but again I think that
people who just don't care will always
be the first ones out right people who
don't care will always be the first ones
out here is that it's it's possible to
not learn these and to
not all right hold on I'm just going
to there we go not practice these even
if you've been writing code for a long
time so for example I think logical
thinking is something that we can
practice while we're doing software
development we can practice decomposing
large problems into smaller ones for
those that didn't catch it he was just
saying stuff like firing is hard don't
hire dogs [ __ ] your company [ __ ] ass
interview I don't really know what he's
trying to say just not communicating
well we don't need a bunch of Noise
Okay iterating and solving issues for
customers that they're actually willing
to pay for you can get better at domain
analysis right understanding a problem
set possible solutions and then how to
implement some business logic or process
to solve that you can work on predic
edge cases or failure modes for those
processes you here's a good story uh
when Netflix was started to do live live
service games I went into some of the
chats and I listened to uh hold on this
is some of the most band streams people
have been weird today you know people
been weird people just being weird today
you know the thing is I'm going to be
I'm going to be real here for a second
one step to creating a good Community is
you have to be willing to lose a viewer
and when when people are just like
really explosive
and when people get really really
negative it often makes everyone in chat
feel a certain way and when everybody
starts feeling negative you know what
they don't want to do they don't want to
be in this area and I've tried extremely
hard to make this one of the most
positive upbeat streams because that
like that's what got me through all the
[ __ ] in my life is being like just
trying to
continuously believe in the bright side
of things and so that's why we do that I
I I do watch the reason why I watch chat
is for these reasons is that I want to
make sure that people like you know y
yall yall leave this stream feeling good
right you feel like hell yeah I I got a
I got a purpose and I got a point to
what I'm doing and I want to be able to
keep on crushing ass like that's that's
why we do what we do people okay um I
forgot exactly what I was going to say
here so I'm going to rewind it a couple
moments we can work on recognizing
iterating Netflix um so when Netflix
started doing the live service games uh
I was I I joined some of the chat rooms
because this was like a year and a half
ago because or two years ago I was
starting to get interested and and at
that point I I built a lot of these
super cool kind of test tools I thought
it was built some drivers for some cool
devices blah blah blah blah cool stuff
um and then I just was watching everyone
talking about like what's going on and I
saw that everybody was saying something
without saying it which is hey we're
kind of Flying Blind on some of these
things and it's very very difficult and
so what did I do without telling anybody
without without getting anyone's consent
without saying hey this is what we
should do I went I'm going to start
scraping this [ __ ] database which
contains a bunch of data points I'm
going to scrape some of these logs these
Cabana logs I'm going to go through and
I'm going to just I'm going to really
just take apart a bunch of things and
what I'm going to do is you're going to
give me your played game ID and I'm
going to come back and tell you how was
your frame rate did you drop frames how
was audio did you drop audio what was
going on what was the server doing how
much load was the server on how much
things happened and then at the end of
it was this a good game can I just give
you a green check mark or a red X can I
autod do your experience if you say I
had a bad experience I can say why this
was a bad experience and then I showed
my boss I'm like hey yo autod do and he
was just like do it and the thing about
AI at least in this current generation I
don't think AI can make that kind of
leap right is that I don't think AI can
see a bunch of people saying wow like
these things are really I we really
struggling here hey hey we're really
struggling over here hey what was the
frame rate of that last game and go you
know what we actually need let's take a
step back and let's try to figure out
let's try to root cause the root of
these problems and then give somebody
something that can just give them a
green check mark or give them like give
them a thumbs up thumbs down right and
that was kind of the goal and honestly
that tool lasted for about four months 6
months and then we threw it away because
better things came out we got a team
started up to build like this they built
it react bless their little hearts uh
they built like this nice little website
BL blah blah blah and they did that
right and that's what that's what they
did and that was great I didn't do that
though I just built the first one which
was a CLI to try to help get them you
know to get us into a good a good place
and like that's the thing that people
are missing a lot here and this is what
TJ is saying about problem solving being
able to take a step back and instead of
trying to solve the thing that is at
hand you go why do we have these
problems in other words not being
reactive to the current situation
but proactive to the next 10 situations
that you can see there's some
intentionality you know what I mean
there's some intentionality behind it of
how to uh how to figure it out and
solving issues for customers that
they're actually willing to pay for you
can get better at domain analysis right
understanding a problem set possible
solutions and then how to implement some
business logic or process to solve that
you can work on predicting edge cases or
failure modes for those processes you
learn how to do trade-off management and
understand that there exists tradeoffs
that you need to manage then there's
pattern recognition which is useful all
around us and so each of these skills
seem to me at least like muscles that
you can train and get better at you can
use software development as a vehicle
for doing that training and all of these
skills by the way very good again like
the Netflix story being able to identify
the real problem and creating something
that is really useful and you got to
remember that like that that process is
the exact same process as creating a
successful company or creating an
amazing game is to be able to see what
the people want and be able to take that
idea and turn it into something that
meets those needs those desires those
wants in a way that is both useful and
enjoyable right it's like it's a skill
set and it's the same skill whether
you're building a CLI tool for three
devs to be a little bit better or you're
attempting to create a company it's it's
really the entrepreneur mindset right if
you want immediate money make what the
VCS want if you want the big bucks you
make what the people want you know what
I mean by the way thanks for the hype
train again people okay I know we're
just a little lowly just a little lowly
little lowly stream here but I
appreciate that okay hey I appreciate
the hype
train those are going to be useful once
again for as long as we have jobs to do
same with the soft skills that I
mentioned in the software
section let me give you an example sort
of illustrate this A Tale of Two Neo
viers if you will and I know some people
are arguing to say using neovim that's
just a waste of time that's okay that's
fine if you don't like neovim that's
fine but I want to give a parable sort
of of two different people using neovim
uh it's not an exhaustive list just just
two examples so the first person tries
out neovim because of some extrinsic
reason and they're hurried to get to
Step One of using neovim they don't take
time to read or understand or explore
something breaks in their config and
they just post on Reddit until someone
posts reply with solution they might
make an issue with no reproduction steps
and we've seen this kind of person in
every Dev community and you can probably
relate in my opinion this person
actually is wasting their time with
neovim which by the way is totally okay
we all like to waste our time in
different ways I like playing stard to
Valley with my wife and we waste time
together and it's really nice Pac-Man
users wouldn't understand however that
was an Arch Linux joke by the way for
those that didn't catch it he just
dunked just dunked on your just dunked
on your waifu pillow
I don't know I don't know how many
people out there right now are just just
in shambles over the the stardew valley
with wife Pac-Man pokem man wife pillow
situation that just went on there non-
sexs I know tell me your sex without
telling me your sex by the way Bastion I
I did see it earlier I I while I'm while
I'm watching these videos and and trying
to stay on my
um no sex no sex is definitely not a sex
unless if that's like one of those
ironic names like little John um I have
a girlfriend okay uh anyways hey well I
genuinely appreci I just want to let you
know I do recognize it I do see it I
just I I typically don't interact with
those kind of things while I'm trying to
because I'm trying to stay on track for
the most part and I'm already I'm
already really bad at staying on track
okay you've seen me you've seen me in
real life I'm not good at this okay I am
not good at thoughts and success I got
ADHD my girlfriend lives in Canada you
wouldn't you wouldn't know of
her teach just doesn't know PCO there
isn't any learning going on through this
neovim experience love this which is bad
if it
characterizes every interaction that you
have with skills that sort of are the
culmination of your field compare this
to someone who's enjoying using neovim
they learn to understand how to read
documentation they might learn a new
programming language they learn new
idioms and apis that can teach them
about software design when something
breaks in their configuration they learn
how to read an error message I know
controversial in 2024 they learn to
debug software systems they learn about
rolling back about lock files they may
even create a PR to fix a problem they
build solutions for themselves and are
able to rapidly iterate on them towards
something that solves a real world
problem for them they're their own by
the way um I love building a solution
for
yourself I think a lot of people don't
don't do that enough they constantly try
to build a solution for everybody
especially in this modern day and age of
uh you know I got to get the best
portfolio out I got to make like a a big
splash open- source project I got to do
something to be able to get you know you
got to get all these things but instead
it's just like maybe you need to build
something for yourself honestly my most
successful open source project had
nothing to do with anybody but how I
envisioned navigating files and that's
simply because this was for me it was
only for me it was never for anybody
else it was for me by
me 5.4 th000 Stars that's pretty good
right that's a that's a decently sized
thing W selfish exactly it is
selfish Break It Build It determine TJ
oace D we got oace TJ oh dude even TJ
when I pause him gets good faces what's
that about what is that about the fact
that
if you pause me I'm
like you know I just make it the dumbest
dude this man is this man's Making Mr
Beast
thumbnails even when I'm pausing own
customer this person has learned a lot
even if they end up with exactly the
same code AS person one both people
spend a lot of time on neovim uh and the
but the first one though was a solution
copier and the second a problem solver
the skills attitudes and perspectives
characterizing the problem solver are
helpful in many other domains even if AI
takes overwriting software for them
forever and they never get to use a
modal text editor again which obviously
would be very sad agreed rip Mo modal
text editors love modal text editors
they're very fantastic in the examples I
gave you can replace neovim with
whatever technology you want react spel
rust HX XL whatever it doesn't matter
the pattern and the idea is the same and
my ultimate point here is that you get
to choose how you're going to tackle
problems and the takeaways you'll have
from actually solving that problem to
move from copy Paster to gigachad
Problem Solver as someone in my chat put
it largely revolves around you deciding
to start thinking and asking questions
today and that's pretty much it then you
make that same Choice tomorrow and the
day after that and the day after that
and then you just keep doing that in a
practical example in Practical terms of
something you could try to do this with
just build something for yourself that
solves a real problem that you have it's
okay if someone else has already built
it the point is that you're going to
build it for yourself to see if you can
solve this problem something difficult
when making products for other people
particularly in you know large
businesses or with a bunch of other
people working on the project it's very
hard to distinguish good feedback from
loud feedback it's common to have some
loud feedback that seems to overwhelm
and outweigh all of the other feedback
that you are getting absolutely right
again paused it absolutely fantastic
face again totally normal looking person
not sure how he does this uh this man is
not real it is AI this might be this
might be Sora uh but he's 100% right on
this one and this is again why making
something for yourself so I I'm going to
give you one little strategy that I
personally like to do is that I will
build something and I kind of do as he
puts it the uh I have something I want
to build and I like hack my way through
it I find the first API that kind of
works I do this I do that and I just
build it and whenever I build it it's
ugly I didn't like it I didn't like a
lot of the things I did I didn't like
the the ways I handled it I did that and
that what it does is I go okay I have
some things I need to investigate what
it does is first iteration for me is not
even learning first iteration for me is
what do I need to learn so by me
building this real-time Engine with with
uh with with go and neovim something
that I realized I really need to
understand with go because I didn't
really know what to learn with go right
the syntax is super easy but what do I
need to learn to be effective with go
well I learned that I just using
channels isn't the right way I need a
little bit more I need to be able to add
in some context I need to be able to
kind of like how do you structure a
program such that when a user say closes
their TCP connection or the server wants
to close the TCP connection like like it
has a nice uniform way clear make sure
all the memory is cleared out there's no
dangling anything there's no running G
funks that are just forever stopped on
some sort of Select statement like how
do I use this and how do I build
something in a more holistic way that is
actually useful and I would have never
come to that conclusion as the thing
that I need to learn about go unless if
I would have first built something and
just hacked my way through it and so
it's like one of these things is that
even knowing what to learn is such a
hard hard thing to do and so by building
something yourself you will learn where
you're bad and what you don't understand
or you will learn what you don't like
why does this why does this part feel
difficult I need to research why this
feels difficult cuz with my current
understanding in tool set I can't solve
the problem in a way that
feels uh like scalable so thank you by
the way for that hype train genuinely
appreciate it and you'll have fun doing
it that's the best part when you build
something for yourself it's fun right
you got no stakeholders demanding time
it's just you building something that's
actually making your life better you're
like I have this problem I'm going to
solve this problem this problem will
make me more effective it will give me
something I like I will be able to have
more something if I just solve this
thing boom you're motivated you're happy
you're intrinsically motivated which by
the way intrinsic motivation is always
going to be your Str strongest source to
finish things if you are extrinsically
motivated you will often find yourself
going in and out of hype Cycles right
because when you're extrinsically
motivated and you have to do something
boring you're like H and you're going to
sludge through it and it's just so awful
but when you're intrinsically motivated
that's just one necessary step to the
end and you're like oh yeah now I got to
do this part here we go like I have to
refactor some of my go- code do you
think I'm excited about refactoring I
largely don't love refactoring I find
refactoring to be a lot of kind of pain
in the ass it just means I didn't make
good decisions to begin with it means I
have to go learn a new effective way to
do stuff and but I'm so motivated to do
that because I want to finish my little
engine so now I actually like this
refactor because this refactor purpose
is to learn how to use context and
channels effectively and then apply it
to a problem I already
understand
beautiful for real I love refact
refactoring for the point of just simply
taking a problem and changing it into a
new way I often don't like because it
just means typically what it means is
that I I I just simply messed up and now
I need to take a moment to try to make a
better API and I oft what what that
usually means to me is that I'm going to
do this exact same operation again here
in two months I'm going to do that exact
same operation again here in two months
because whenever you refactor what
you're saying is I don't understand this
problem well enough to create a solution
that's going to hold or things change
and so for me it's just like
damn I'm going to have I know I'm going
to do it again so I'm going to meet I'm
going to meet this goal right here I'm
going to try to refactor it into
something that's going to be useful for
longer and then I find that I can go
longer I can enjoy the API have set up
but eventually some new requirement
comes in that defeats my previous
refactor and so then I have to rethink
about where are things at I'm not sure
I've ever written something uh that was
correct the first time I've done a
couple corrects I've done couple
corrects but they're always very limited
the more limited your scope the more
simple your uh your your correctness is
right well tiny corrects yeah t small
corrects like one time I was building a
program with uh someone in 2016 it was a
it was a it was a it was an Arbitrage
bot for cryptocurrencies and we did it
in no JS bless my heart hey just let it
happen okay just let it happen and one
small thing I built back then this is
when PR await and async of weight was
just kind of coming out is that I did a
little weight function right and so you
just handed it some milliseconds and it
handed you back out of promise that
would
resolve great little API there's never a
needed item again from it it was
absolutely fantastic and so I was very
happy about that that's an example of
just building something just some small
abstraction correct once but it's such a
tiny problem that almost everybody would
have got that correct once you expand
that it just gets progressively more and
more difficult I've written that six
times already I dude I I actually had
that function on a neovim hotkey which
is space ww and it would actually just
write function or a or function uh
weight number number return promise
void just just write the whole thing oh
man it was funny so the nice thing about
building something for yourself by
yourself was the bot successful yes the
bot was very successful but uh the
problem is is that I just needed more
cash to be able to do a proper arbit bot
especially when you're doing cross
exchanges so we did cross exchanges we
did a m we did a we did a a minmax flow
a Max flow algorithm across graphs being
able to do like a Min cut and be able to
do this kind of like hey you want to
change through five different currencies
across three different exchanges and you
will make how much money the big problem
came down to of course being able to
transfer stuff out of exchanges and B
just having enough money for that to
actually work I needed millions of
dollars uh we made I think one day we
made like $55,000 it was awesome
but then as things got like once you
started making money unless if you had
like a good relationship with these with
these places I couldn't transfer out
more than like ,000 and so then it's
just like you're stuck and so you're
just unless if you have tons of money
you can't right uh were you arbitraging
internationally uh I was doing it across
Kraken bitf bitf bitf bit bit bit
something
binance coinbase so you know we had four
different things I dude I I made zero
dollars in the end okay okay you know I
bit connect bit connect bit bit bit
finex bit fex bit these nuts I can't
remember anyways at the end of the day I
made no money with uh with
cryptocurrency okay I some the the easy
if you were in 2016 the proper thing was
just a huddle okay I didn't huddle I
thought I could be smarter than the
market and typically whenever you think
you're smarter than the the market you
always lose okay I'm a loser I learned a
very valuable lesson which is never be
smarter than the market bisco I'm not
even I'm not even playing that video
self is you get to be that loud and
obnoxious user and then eventually
you'll get to decide if you've solved
your problem or not and if you didn't
that's okay you iterate as I tell my
three-year-old son it's okay to fail
that's part of how we learn the
important part is that we use our
roughness and our toughness to try again
and you can translate that to any age
appropriate way of saying that for you I
love that we read that article yesterday
where I for Julia talked about how uh
she was scared and all these different
reasons with software development and
how fear uh makes bad software and all
that kind of stuff and it fundamentally
comes down to a lot of people are afraid
of
failure and like unless if you have it
ingrained in your body that failure is
natural and failure really is the only
way to learn then you're going to be
forever stuck in this permanent
this you're going to be forever stuck in
impostor syndrome right it's true it's
you just I it sucks it's a CH it's it's
a it's an it's an unfortunate product of
our society you know what I mean and we
can blame it on this that and the other
right some people had childhoods where
they grew up and they got over punished
right and so therefore they're like well
you know I got over punished like but
you know those things right why is it
stopping you now
the thing is is once you know you got to
try to make Corrections at all points
you know and if you are afraid to do
something to be brave is to to to not be
not afraid it's to do something while
afraid right there's a difference
between the two in conclusion what I
want to make clear though is that I'm
not saying solution copiers are bad
people or that I don't like them instead
I'm trying to communicate that I would
be a bit more concerned if all the
skills that I've developed D around
regurgitating existing solutions that to
me seems an area that is more likely to
be automated by AI in some fashion and
more quickly than other areas of
software development agreed agreed
that's because there's there's the the
answers are a bit clear
like getting a website that has three
boxes that has different price points
and a log in with Clerk and hosted on
for
sale like you're not really doing
anything right at some point an AI will
do
that it just will now right now even
maybe even Devon could do that right now
and that's because it's not doing
something that is in itself impressive I
don't like giving advice on the internet
mostly because life is much too
complicated for someone to explain their
situation to me and then it's much too
complicated for me to explain my advice
to them through this medium again how
many times have we seen in chat where
someone's like hey should I learn X or Y
hey this happened at my job what should
I do it's just like yo this is a bad
place to get this is a bad place to try
to get advice CU I don't know your
situation I don't know you I don't know
who you're talking about and is my life
experience good to give you advice on
this one right I should I ditch Arch and
try to find a wife yes so I I generally
don't give advice but sort of despite
this advice for me like be curious pay
attention work hard don't be afraid to
fail those have never really led me
astray thinking this way once again in
my opinion right gives someone the best
chance at success regardless of how
quickly and thoroughly AI expands into
other software Fields I don't know what
the future is going to look like I'm
just a regular mortal I put my pants on
two legs at a time but I do think even
discounting
did TJ just admit that he sits down
while he puts his pants
on TJ sits and puts his pants on on the
floor he probably is like up in the air
just just putting his pants on
ridiculous absolutely
ridiculous pants put on sitter yeah dude
pants put on dude he's doesn't make any
sense here all the arguments I made
throughout the video right that if your
current hypothesis is that billions of
new lines of code are going to be
generated it seems likely that
truly understanding some things about
code now not everything not every
language not every framework not every
type system but just some things about
software itself that seems to me to be a
beneficial skill compared to many other
possible skills you might have or might
want to learn particularly if you like
learning about it and you want to get
really good at it I hope that this can
be encouraging to you to both learn and
work hard in your software Endeavors and
also some confidence that maybe even if
we never get to write code again that a
lot of what we're learning can be really
useful and transferred to other domains
let me know what you think let me know
if you like the video thanks everybody I
love you see you later it's the
W it's a w by the way you should like TJ
uh for those that don't know what a
weirdo uh if you don't know who TJ TJ is
right here here I'll just give him a
proper shout out uh T DV there you go
there's a proper shout out with TJ uh
generally I I find that I I almost
exclusively agree with TJ TJ is one of
the few people that I would definitely
Echo chamber with hard um very good guy
please uh keep your pants on Prime I'm
trying to keep my pants on okay but it
just feels so good to take him off uh go
like this video apparently I
can't copy
pasta all right go like the video go
give him a go give him a a sub on the
YouTubes absolutely
fantastic um someone just said in the
chat that hey I left for an hour and
came back and he's still on the same
video yo dog this was a this was a
15minute
video you think
that you think that I'm taking less than
an hour to watch it come on man there
was a lot of sauce in there we had to
think about things I want we we wanted
to talk about it right you gotta talk
about it you gotta think like real talk
if you're watching videos by yourself
you should pause them for a second and
think about what is being said you know
what I mean you should take a moment to
think about that because it is such a
it's it's it's it there's so much dense
information even in simple statements
and taking a moment to like argue with
yourself why it's true and why it's
false is really good what's the longest
video I watched on stream oh man I did
like a 20 some minute video and it
literally was like an hour and 40 minute
outcome it's why it's why I typically
it's why I typically don't watch longer
videos on stream just because it it it
takes entirely too long for me to get
through them you know what I mean you
know another piece of advice that I
actually thought was really good I think
this one was this was given to me by
Alex Heros which thus which which in
turn got it from somebody else well
actually it was given to me by my wife
who was who received it from Alex Heros
who received it from somebody else but
what I got was uh it's not about how
many
books you
read it's about how many good books you
read and when you find a good book read
it multiple times and so I find that I I
like when I find a good book I will read
a section multiple times there's one
book that I've read a section I mean I
I've done many books where I I reread
something over and over and over again
because I want to understand the point
like uh one thing I've really struggled
with understanding is there's a there's
one of the great poets one of the great
English poets uh his name was Coolidge
he was considered one of the last men to
know to to know everything he had uh he
had a degree in physic he had a degree
in uh he he just like knew everything
he's one of the last last men to know
everything and that was a and he wrote
poetry he wrote like a rhyme of the
Ancient Mariner right and so trying to
understand his philosophy on God and
life is extremely difficult cuz he never
quite wrote it down and he had a lot of
rambling thoughts on it so it's like it
took a a a physic physic back then it's
called physic it's called physic right
which isn't physics it's like that was
like medicine right um uh what's his
name Benjamin Rush also another physic
guy right um Founding Father America for
those that don't know Benjamin Rush very
interesting story I've gone through half
of his biography but anyways uh like
going over and over again through
someone's argument is really really
difficult you know because you really
want to understand it like I you do you
do the same thing with like data
structures right to understand data
structures you can't just simply watch a
video Once
like a really good example is what I
want you to do is I want you to go on
YouTube and I want you to watch how B
tree uh deletions work and every single
video you will watch on how B tree
deletions work completely skip a very
important step all of them I I watched
every last one of them and all of them
skip a very important step and so it is
very very interesting to watch How It's
Going how do you delete something when
you have multiple intermediate nodes in
between right and so like how do you rem
merge up a tree they never mentioned the
fact that you need to REM merge up a
tree and all that and so just like watch
it think about it and then how do you do
that you have to take all the things
they've said and reapply it into this
one situation and so it's like I think
this is a lot what TJ is saying in this
video which is it's not about the simple
Act of completing it right it's not
about oh I read 10 books this year no
it's like did you understand one book
well does that make sense I'd rather
understand one book well than have read
10 books yeah good times hey the
name weird tangent at the end there that
was a very bizarre t a very very very
bizarre tangent at the very end someone
said Chesterton mentioned I've actually
never read anything from Chesterton I've
only read a couple of his little little
things uh but I would I there there will
be a day there will be a day we'll see a
j