good Monday morning I’m MP J and this is
fun fun function so today I have a cold
my head feels twice the size it normally
is today I want to talk about the
programmer in the context of humans
being herd animals and if you think that
yeah I’m not a herd animal that’s just
other people then you are probably the
worst herd animal of all because this
affects everyone because it’s built into
backbone of our brains first we’re gonna
talk about what is a herd animal what’s
the definition of a herd animal and what
are the cognitive biases that we have
that we need to be aware of secondly
what are the benefits of being a herd
animal what are the benefits of a huge
amount of programmers all doing the same
thing and then of course what already
downsides of being a herd animal when
does this go wrong for us as programmers
and finally we’re going to talk about
when it is appropriate rate from the
earth and what it’s not a thing that I
tend to repeat on this channel a lot is
that there is no best tool and the
reason I repeat that a lot is that
people ask me that a lot what is the
best tool there is no such thing as a
universal good you need to have some
kind of context some sort of criteria in
order to judge the thing against this is
actually true in general not just
programming there’s actually a great
book on the subject called sin and the
art of motorcycle maintenance I I don’t
seem to have it in my bookshelf but
trust me it’s amazing you should read it
either way I don’t think that most
people need to read a book in order to
figure out that in order to know what
the best tool is you first need to
understand what your problem is and then
and only then evaluate tools to figure
out which tool is the best fist or your
problem but even though most people know
this deep inside they keep asking I know
that I do whenever I start learning a
new
development I start intuitively to look
for the recommended way of doing things
I’m searching for best practices to do
this
so why do why do we do that all the time
and my theory is that we do it because
people hurt others so what is a herd
animal I’m gonna look up the definition
on Wikipedia the group tends to act
together for example all living in the
same direction at a given time but that
this does not occur as a result of
planning or coordination rather each
individual is choosing behavior that
corresponds to that of the majority of
the other members possibly through
imitation or possibly because all are
responding to the same instance
circumstance this behavior is well
documented in humans and it is called
social default bias if you want to read
up on social double bias I blame the
great article in the description but the
TLDR is whenever we can’t make informed
decisions we copy others so are there
any benefits to this I mean it’s obvious
that it’s beneficial for a herd of
animals escape being a lion but is it a
useful behavior for programmers as well
I would say yes absolutely I would say
that PHP is probably the best example of
it PHP is a language with a few flaws
but the fact that so many people use it
makes everybody very aware of the flaws
and creates tooling and documentation
and all around help in order to
compensate for that when many many
people use the same tool it allows us to
create this big ecosystem around it and
not ecosystem is often way more valuable
than the core technology itself some
communities or herds are also very good
at finding a single way of doing things
the Python community is really good at
that
the c-sharp community – there is one way
of naming private variables there is one
way of in anything there’s one way of
inheriting it’s it’s pretty calming it’s
pretty comfortable the JavaScript bird
does not quite have that cohesion so if
you are used to something like Python
you’re gonna be very frustrated when you
when you start learning JavaScript and
in wonder how do i do inheritance and a
person asked well that depends on what
kind of person you are on what are known
size of being a herd problem is that you
kind of risk stagnation it’s a bit
annoying when I heard is unstable like
the JavaScript community is on some
points but it is way worse when our herd
is too stable it makes it really easy to
get into the herd because all the rules
are very clear but it also makes it
really hard to change them and if you
become too unresponsive to change you
might miss out on a lot of good change
for example like washing your hands
around the Year 1846 there was this guy
called Semmelweis he was the person that
first figured out that washing your
hands stops disease from spreading at
that point they didn’t know what
bacteria was but he figured out with
clear statistical significance evidence
of and everything that if you have your
doctor’s wash your wash their hands in a
hospital a lot less people died after
this was discovered proven and
documented it took out 80 years before
doctors started washing their hands as a
common practice when people have a habit
especially in a group it’s really hard
to change that but that’s doctors that’s
medicine
Nexxus that slow us programmers we’re
agile we don’t do that right well I
would say yes we do I know that I
certainly do I would say that the web
development evidence in question is JSX
I remember clearly when I saw JSX
first time I hated JSX
it’s not like I started using it and
then hated it
no I started hating it from the second I
saw it and the reason I hated it was
that it mixed JavaScript and HTML in one
file and that was clearly against
beliefs of us as web developers so after
a while quite a while
we the web developers and me along with
them started to learn that just because
we want to do separation of concerns
doesn’t mean that we need to do
separation of technologies and we
learned that gas access
that’s pretty awesome so there’s upsides
and downsides to being a nerd then the
question arises when do we break with
the herd when do we go in a new
direction and when do we not what’s
important to realize is that there will
always be a better tool available that
the one is using always somewhere
someone has to but earlier we talked
about how the earth builds an ecosystem
in bills documentation in bills tools
and that ecosystem has tremendous value
so in order for a switch to something
new to make sense this new thing has to
be a lot better not just a little better
a lot better because we will be throwing
away a lot of this ecosystem in order to
make the switch and this is why a dark
veil guard is a clear improvement upon
JavaScript I think you can safely say
that it is objectively better but it’s
not like it’s ten times better and that
is just not better enough an example of
something that is better enough is git
git is amazingly good compared to its
predecessor subversion it completely
rethinks how we knew version control
it’s such a big difference that I would
I would personally not not wanna work
for a company that used subversion
the difference is so huge throwing away
the subversion ecosystem made a lot of
sense because get offered so much more
value in the case of dart not so much so
today we have explored the programmer as
a third anyone we have thought a bit
about what a herd animal is what the
upsides are of being a herd animal what
the downsides are and when it is a good
idea to break from the herd and when to
take the herd in a new direction
I am mvj this is fun fun function until next Monday morning stay curious