Press "Enter" to skip to content

Why care how your tools work?


good Monday morning today I would like
to talk about why it is important to
understand why you are doing things and
specifically why you’re using a certain
library what is the problem that this
library is actually using why is the
industry using this tool why is your
workplace using this tool I am your host
mpj and you are watching function
Oh my hair color has faded and I have a
different t-shirt oh it means I’m mvj
from the future I’m just dropping into
this timeline to tell you that today’s
episode is sponsored by dev lifts the
only fitness company focused solely on
developers Devlin’s creates all your
workouts and nutrition info so that you
know exactly what you do to keep you
motivated they also have a helpful slack
community of other developers go to dev
lifts dot i/o to check him out and if
you decide to sign up don’t forget to
use the coupon code
fun fun function because that gives you
20% off all right I’m gonna hand it back
to UM BJ from the past so what prompted
this episode was that I’m doing this
other series on machine learning and
what makes this series is from different
from from other series about machine
learning is that it builds something
very much out from scratch I’m forcing
myself not to use any high level machine
learning libraries like tensorflow for
instance I got an interesting objection
in the comment field on one of these
videos that I’m going to address here
because the the comment contains a lot
of good misconceptions that are very
common and they’re all baked into this
this comment and I want to address it
because it’s very it’s very core to what
fun fun function is and why I do the
things I do and why I make the videos in
the way that I do this is comment no.1
programs neural networks manually
anymore there there’s toolkits for that
please go back into the web dev arena
smiley face the reason why I wanted to
do a some videos on making a neural
network from scratch
and not using a premade library like
tensorflow J’s for instance he is that I
just found myself getting very confused
when learning
getting into machine learning because so
many tutorials just threw you into okay
we’re gonna use this tool we’re going to
use this tool to do our multiplication
you should also do this thing you should
you should normalize your inputs you
should usually do this and that and you
should add a learning rate and because
of thing and I find that whenever I do
something in order to be motivated I
need to kind of see a failing example
that demonstrates why something is
important so I want to start with like
just okay we’re gonna cover it in your
legwork we’re gonna make it from scratch
and we’re gonna fail and we’re gonna run
into problems and we are gradually going
to like try to solve these problems
until we end up with tensorflow know so
we’re not gonna start with test flow
we’re gonna like create a series of
failures
that lead us to use tensorflow we’re
gonna try to follow the path of the
people that created tensorflow the
reason why this is so important is that
we would lose interest otherwise so if
you watch this video
that’s sorry if you watch this channel
for a while then you you might have
picked up on that I’m very big on why
whenever I talk about a tool or a
technique or whatever I tend to spend a
lot of time on like why it’s important
to learn this where did it come from who
invented it and and what was their
motivations at the time I don’t always
succeed in that but I try to always do
that
I think it’s valid question to challenge
why that is important do we really need
to understand why things exist in order
to use them I mean like you might be at
a workplace and they’re using angular
whatever we’re using angular our app is
built in jQuery you work in jQuery
you get paid I’m never gonna build a
jQuery I’m never gonna build an angular
so why should I care my reasoning is
this programming is constantly changing
right and in order to adapt to a
changing landscape we need to constantly
learn in order to constantly learn we
need to stay constantly motivated to
learn we need to stay passionate we need
to stay interested and then the question
of course becomes how do you stay
motivated
how do you stay interest where does that
come from
and I am a firm believer that that comes
from asking why understanding why why is
react important what’s the problem that
it’s solved why is tensorflow important
what is an example where we need to use
tensorflow it’s important to be critical
here and like fully understand if it’s
important for you to learn it and like
ask yourself is the does a problem that
Facebook had when they created react
really applied to my application jQuery
gained a lot of popularity back in the
day ask yourself are those reasons still
relevant are the problems that these two
saw applicable to you alright let’s talk
about constant change for a little bit
so you might have heard the term like
the only constant is change
like just learn to roll with the concept
of change in your life and you you will
have an easier time to deal with life if
you try to stand still as the universe
moves you’re basically gonna lose
because the universe is heavier than you
but to be honest I think that there are
actually industries and lines of work
where you can kind of sort of get away
with learning one thing well at the
beginning of your career and just
sticking with that until you die there
absolutely fields and lifestyles that
are like that and will allow for that
programming it’s not one of those know
what I’m saying here is that as a
software developer you need to be a
person with a relatively high tolerance
for change you need to be able to roll
with the punches okay but be honest now
aren’t you saying this just because
you’re a web developer specifically like
I’m thinking about JavaScript frameworks
and how JavaScript frameworks are
released five minutes per second like
just spare me that it’s that’s not what
I’m saying at all like I think that the
rate of change in JavaScript is one of
the most exaggerated things like people
just love to rant about who how many
frameworks are released in four
JavaScript’s every second the two big
mainstream frameworks that are used
today in production are angular and
react we have like up and comers like
UJS but it’s like this tiny angular was
released seven years ago and react was
released five years ago you might be
following a media space like people on
Twitter or medium blogs that yes oh my
god this is a new framework but if you
just calm down and look at things that
actually gained like more than 1% market
penetration then you you need you to
learn something new perhaps every two or
three or four years or something like
that
if that rate of change intimidates you
then yeah you are definitely in the
wrong field I don’t know there’s gonna
be like new databases and stuff in
between there so like the actual number
of new tools that you’re gonna learn
it’s probably gonna be a couple of tools
per year that’s not all that crazy
that’s not unreasonable but it does
require you to have an attitude of
interest of constant learning that other
industries might not require
interests or excitement or or passion or
or motivation or self-efficacy maybe
it’s very much one of the core things
that this show is about for example like
I have a video about monads
I’m pretty content with it as a like a
monad video munna
tutorial or whatever you like to call it
but here’s the thing I can’t teach you
what a monad is in a video when it comes
down to it only you can teach yourself
monads by actually making a monad just
looking at somebody explaining about
that just looking at somebody making a
monad it doesn’t really make you get it
so ironically the the objective of a
function function video is it’s not
really to make you learn a concept
because a video just can’t achieve that
really it is meant to give you the why
the motivation to learn it and like a
feeling of hey I’m able to do this and
motivate you and push you to make that
little extra journey on your own like
give you the first steps maybe of course
but in the end it’s you that have to
learn these concepts I can only guide
you in the right direction and perhaps
instill a spark in you but I can’t
follow you all the way only you can do
that and I think that a common thread
with becoming an adult and going and
going from a junior developer to being a
senior developer one of the key things
there is understanding context
understanding why why are we doing this
why was this true belt why are we doing
what we do it’s really interesting that
this common says get back into the
WebDAV arena because this this show has
never meant to teach web development in
any way I mean III
a web developer by trade and many of the
things I teach are useful in web
development but the objective of this
show has always been to target a person
that is about one year into their
full-time job and they’re asking
themselves okay I am a developer now
what now how do I go from developer to a
great developer so this show is it’s
more about like okay I assume that you
you kind of know react or whatever was
popular about it at the time you got
into programming and my when I got into
web development knockout was really
popular for instance like I was this
and talking to you these persons
and helping them understand the context
that they are in like what came before
what what were what are the steps that
led us up to this point why are we doing
things we do why do we use a tool like
tensorflow why why don’t just code the
math why is your organization using
react what is the problem that react
solves does your organization actually
have that problem I can buy that that is
interesting but is there actually a
purpose to this exercise just constantly
challenging everything sounds like a lot
of work and it seems like it might also
you just turn you into like an asshole
in the workplace I also understand that
it’s very better that I’m asking why it
is important to ask why it is important
to know why we are doing things because
that determines our motivation to do
things and that determines our attention
spans I recently ran across this really
interesting article that compared Mayan
kids with kids in the United States and
their attention spans and the difference
between the two cultures are it’s like
ninth and a the the US children they
have almost no attention span
while the Mayan kids just say
I’m super focused and really attend
attentive to the task their attention is
a ludicrously better than us kids there
are several aspects to this of course
but one of the things that researchers
have discovered are key to attention
than attention span and focus is
motivation knowing why you are doing
something if you look at this research
it seems like boredom and disinterest or
actually Nature’s Way of making us avoid
things that are not valuable to us so
that we don’t waste time on a bunch of
activities that are not really servicing
our interests so they performed an
experiment on on a bunch of people and
they divided it into two groups and both
groups were tasked to perform a series
of towns the difference between the two
groups
was that one group was told that if they
did well on the results the they could
get out of the lab sooner that was the
only difference between the two groups
that little thing where they just told
them that their results would effect an
outcome so basically one group was given
motivation and one group was not
personally I was not really surprised
per se to see that this increased the
attention span of people but it
surprised me to what extent did the
people that had been giving been given
motivation were able to sustain
attention for 50% more than the people
that did more than 50% and from a
statistical standpoint that is just
bizarre that is HUGE
they also measured brain activity while
they were doing this experiment and they
could see clear differences where the
people that were given motivation they
had like the the attention center the
that’s what the parts of the brain that
control attention
we’re lit up or pretty much constantly
while the people that did not receive
motivation the motivation Bob was with
basically like flashing on north and
that is why I’m spending so much time on
the question of why we are learning
something because if you don’t know that
you’re not gonna pay attention and
that’s not a criticism against you it’s
it’s just how our brains work
programming is constantly changing so we
need to be constantly learning and in
order to constantly learn we need to be
constantly interest and pay to
constantly have attention and interest
and in order to do that we need to
understand why things are important mmm
don’t forget our sponsor deadlifts you
can find them at dev lifts dot i/o and
don’t forget to use the coupon code fun
fun function because it gives you 20% if
you’re new this was an episode of fun
fun function I release these every
Monday morning Oh 800 GMT if you are
forgetful you can click here to
subscribe so that you don’t miss it or
you can check out another episode right
now by clicking here
I am mpj until next Monday morning stay curious
Please follow and like us: