Press "Enter" to skip to content

Coders are herd animals – FunFunFunction #18


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

Please follow and like us: