The Continuous Amnesia Issue

Liste des GroupesRevenir à c misc 
Sujet : The Continuous Amnesia Issue
De : bencollver (at) *nospam* tilde.pink (Ben Collver)
Groupes : comp.misc
Date : 15. Apr 2024, 23:34:53
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <slrnv1rafb.3l3.bencollver@svadhyaya.localdomain>
User-Agent : slrn/1.0.3 (Linux)
The Continuous Amnesia Issue
============================
by Uwe Friedrichsen
October 2, 2020

As an industry we continuously forget what we have learned

The continuous amnesia issue
============================
In this post I want to discuss an issue that I, being for a longer
time in IT meanwhile, observe over and over again. It is the
observation that as an industry we continuously forget what we have
learned.

What do I mean with that claim?

The very first discussion--again and again and ...
==================================================
Probably I best illustrate this by sharing an experience I had. About
two years ago I attended an unconference. It was not the first time I
attended it. I liked it a lot. It always had a very energetic
atmosphere. The participants were very active, loved to share and
discuss. But unlike the previous times, I decided to do something
different that year.

As an experiment, I decided not to share myself, not to offer
sessions myself where I drive the topic of discussion, but to listen
only. I know that this is not the idea of an unconference, but I was
curious. As I wrote: It was a little experiment, I wanted to conduct.

I knew that always a very active group of people gathered at this
unconference and I wanted to use that as an unbiased opportunity to
learn about the state of IT, how people think about topics, what
moves them, and so on. So, I looked forward to what I would learn.

To be frank, it was a devastating experience for me.

The session that really killed it was a session about reusability. A
group of people came together to discuss reusability. I was really
curious as I dealt with the topic for many years already. A great
community. A topic I am particularly interested in. I was looking
forward to learning something new. I did not expect a lot of new
ideas, but maybe one or two.

So, I listened ... and could not believe what I heard.

The discussion moved at a level as if nobody ever had said or written
a single word about reusability in the past 50 years. I felt set back
to a pre-1968 discussion, set back to a time before the NATO Software
Engineering Conferences were held. Where had all the ideas about
reusability from the 1970s, the 1980s, the 1990s and all the years
after gone?

Obviously, nobody in the room ever had heard anything about what we
as an industry already had figured out about reusability. They
discussed the topic completely from scratch, and due to that in a
totally naive way, not touching any of the important learning of the
last 50 years. I sat there listening and did not understand what
happened. I felt the urge to jump up and scream: "Shut up, all of
you! You do not know sh*t about reusability!"

Of course, I did not. Besides the fact that it would have been very
rude, it also would have been unfair.

As I wrote before: It was a very active community that gathered
there, all of them adding with their best intentions to a vibrant
discussion. So, I eventually decided to leave. Not all sessions felt
as devastating as this one but I had similar experiences in most of
the sessions I attended.

I was quite confused and had a lot to ponder. I went to the
conference to learn something new and ... well, I learned something
new. But it was definitely not what I expected to learn. I learned
that the people in the sessions I attended did not seem to have any
knowledge about the discussions that we had before in our industry
about the very topics.

Continuous collective amnesia
=============================
What happened? It kept me a while thinking. Eventually, I realized
that I had observed a disease of our whole industry in its purest
form: We continuously forget what we have learned. We always reinvent
everything from scratch. My personal observation is that discussions
in the IT community start over about every 5 years [1]. That is how
long we remember as a community. After that we need to rediscover
your insights from scratch.

Or how I like to phrase it in a bit provocative way:

In IT, we suffer from continuous collective amnesia and we are even
proud of it! [2]

Again, this is not about the people who discussed in that room. All
of them did their best, they eagerly discussed hoping to gather new
insights. They were simply victims of a widespread disease in IT:

We do not value the wisdom of the past.

We suffer from extreme youth obsession, not only regarding the age of
people but also regarding how we value knowledge. Old knowledge is
considered "worthless", while new knowledge is considered "great".

A tweet that Mark, founder of Bitmen Studios sent me in a little
conversion we had via Twitter IMO really nicely describes the
effect:

My point here is rather not searching for a unique "best" solution
but everywhere software devs across the globe are solving the
"same" problem again and again (and fall into the same pitfalls).
The increase in tech needed and the associated complexity amplifies
that problem.

We reinvent the wheel over and over again, making the same mistakes
again and again, not learning as a community. And as Mark correctly
pointed out, the growing technology complexity amplifies the
problem--and, as I would like to add, vice versa: Our continuous
collective amnesia amplifies our growing complexity problem.

Why is it this way? Why do we loose our collective memory every
5 years?

I am not sure about the causes. My current attempt of an explanation
consists of 5 factors:

1. We consider ourselves a dynamic, fast moving industry. New
   concepts, tools and technologies emerge every day. How can
   knowledge of yesterday still be applicable to problems of today?
   That is what we keep telling ourselves. We wallow in our perceived
   vigor and speed of innovation, neglecting that we keep solving the
   same problems over and over again, just with different tools and
   technologies. Yes, some things change, but usually 80%+ of the
   problems stay the same. But we refuse to see that. We prefer
   considering ourselves the "masters of new".

2. We are technology believers. We are convinced that we can solve
   any problem by simply applying the right tool or technology. E.g.,
   if people have a collaboration problem, the typical reflex is to
   look for a tool that solves the problem, neglecting that it almost
   certainly is not a tool problem. The same is true for all other
   kinds of problems. Whenever we face a non-trivial problem, we try
   to solve it by applying a tool or technology to it instead of
   solving the actual problem. This has become such a natural pattern
   that we do not realize it anymore. And as past tools and
   technologies did not solve the problem, we look for new ones.

3. Insights grow slower than knowledge. Our knowledge continuously
   grows, the longer we work in IT. Of course, not everything we
   learn is valuable. Quite often we learn that some of our knowledge
   is plain crap. If I, e.g., think back to SOA: Wow, what a crap!
   Would never do it again this way! But not everything was bad. I
   also took some great insights from the SOA times. It takes times
   to separate the wheat from the chaff. In the beginning of our
   careers we basically learn new stuff all the time. It takes some
   years until we start to see the recurring patterns, to separate
   real insights from plain knowledge.

4. We face a continuous stream of new developers. I feel as if I face
   a new generation of developers every 5 years [3]. Maybe that is a
   very subjective experience. But for me, people just coming from
   their IT education, being 5 years in business, 10 years or 15
   years and more feel very different, like different generations.
   All those new people in IT have to build their own insights from
   scratch. They have nothing to build on as in IT we created a
   cult(ure) of new, celebrating the new and despising the old.

5. If you combine the "cult of new" with what I call "the arrogance
   of the youth", you get an explosive mixture. Before you think that
   I want to talk bad about younger people: I just talk from personal
   experience. I was a graduate myself years ago and believe me: I
   was arrogant! I knew better! I had to learn humbleness the hard
   way, and I am still not sure if I arrived (it is a lot easier to
   judge an old self than to judge the current self). So, I do not
   want to reproach any young person for being somewhat arrogant. I
   guess that is natural and also healthy to a certain degree because
   it helps against persisting in outdated ideas as an industry. But
   in a culture of new, this habit works as an unhealthy accelerant.

If we put these factors together, we end up with an environment where
we only value new things and despise old things. If we face a
problem, we never look if someone solved the same problem before [4].
We only look for a shiny new solution, ideally a new tool or
technology. If we learn a good solution for a problem, we forget it
after a few years and start again from scratch.

It is not that individuals do not learn and do not grow insights.
They do.

But as a community, we do not.

Unlike other engineering disciplines, we do not create our body of
knowledge, foster our timeless insights, work to extract the essence
from the solutions we found yesterday and make it available to the
community of today. We do not only not create a body of knowledge, we
despise it. We always look to the horizon hoping to spot a silver
bullet (which does not exist as we know) instead of looking back once
in a while and trying to learn from the wisdom of our ancestors.

Moving on
=========
This is what I observe all the time. Again, this does not mean that I
do not meet individuals who act differently. But in general, I see
the same discussions recurring again and again about every 5 years.

To be honest, I do not have an actual idea how to change this. This
cult of new is so deeply embedded in our culture and self-perception
that it would take a long time and effort to change it.

Personally, I try to share some of the old wisdom, e.g., with my talk
"Excavating the knowledge of the ancestors". There is also the
"Papers We Love" movement that tries to share such knowledge.

But overall this is just a drop in the ocean. It would require a
radical rethinking to stop our continuous collective amnesia. We
would need to accept that most of our problems are not new, but that
most of the times we solve the same problems again and again, just
with different technology.

But until we learn this, I am afraid we are not yet an engineering
discipline, but rather a bunch of people obsessed with "new", not
learning.

As so often, there would be a lot more to write. But I leave it here.
I hope I gave you something to ponder.

And maybe you will come up with a great idea how to change it. If you
have one, please share it! We need it--more desperately than most
people are aware of ...

[1]
Maybe it is 7 years, maybe just 4 years, depending on the topic. But
if you are long enough in this industry, you start to get these
deja-vu feelings more and more often.

[2]
I explain the "we are even proud of it" part a bit further down the
post. Basically it means that we celebrate ourselves for being so
"innovative" and "fast moving", using it as a welcome excuse to
ignore everything we could learn from the past.

[3]
I have seen charts that claim the number of software engineers
doubles every 5 years. As I do not know the source of these charts, I
cannot tell if they are right or wrong. Yet, any level of growth
would leave us with more inexperienced engineers than experienced
engineers at any point in time which would amplify the "lack of
actual insights" effect.

[4]
I do not talk about coding tips shared on platforms like Stack
Overflow. I talk about more fundamental problems like, e.g., the
aforementioned reusability, its benefits and risks, when to use it,
when to avoid it, what you need to consider, etc. I talk about the
insights that outlast technology waves.

From: <https://www.ufried.com/blog/continuous_amnesia_issue/>

Date Sujet#  Auteur
16 Apr 24 * The Continuous Amnesia Issue31Ben Collver
16 Apr 24 +* Re: The Continuous Amnesia Issue4D
16 Apr 24 i`* Re: The Continuous Amnesia Issue3Kerr-Mudd, John
18 Apr 24 i `* Re: The Continuous Amnesia Issue2Lawrence D'Oliveiro
18 Apr 24 i  `- Re: The Continuous Amnesia Issue1D
17 Apr 24 +* Re: The Continuous Amnesia Issue12Javier
18 Apr 24 i`* Re: The Continuous Amnesia Issue11Lawrence D'Oliveiro
18 Apr 24 i `* Re: The Continuous Amnesia Issue10D
19 Apr 24 i  `* Re: The Continuous Amnesia Issue9Lawrence D'Oliveiro
19 Apr 24 i   +* Re: The Continuous Amnesia Issue5D
19 Apr 24 i   i+* Re: The Continuous Amnesia Issue2Lawrence D'Oliveiro
19 Apr 24 i   ii`- Re: The Continuous Amnesia Issue1D
20 Apr 24 i   i`* Re: The Continuous Amnesia Issue2Scott Dorsey
21 Apr 24 i   i `- Re: The Continuous Amnesia Issue1D
20 Apr 24 i   +- Re: The Continuous Amnesia Issue1Lawrence D'Oliveiro
21 Apr 24 i   `* Re: The Continuous Amnesia Issue2Lawrence D'Oliveiro
21 Apr 24 i    `- Re: The Continuous Amnesia Issue1Lawrence D'Oliveiro
17 Apr 24 +- Re: The Continuous Amnesia Issue1Stefan Ram
17 Apr 24 +* Code Reuse (was Re: The Continuous Amnesia Issue)11Lawrence D'Oliveiro
17 Apr 24 i+* Re: Code Reuse (was Re: The Continuous Amnesia Issue)9Richard Kettlewell
17 Apr 24 ii+* Re: Code Reuse (was Re: The Continuous Amnesia Issue)3Stefan Ram
17 Apr 24 iii`* Re: Code Reuse (was Re: The Continuous Amnesia Issue)2Stefan Ram
18 Apr 24 iii `- Re: Code Reuse (was Re: The Continuous Amnesia Issue)1Lawrence D'Oliveiro
17 Apr 24 ii+- Re: Code Reuse (was Re: The Continuous Amnesia Issue)1Stefan Ram
17 Apr 24 ii`* Re: Code Reuse (was Re: The Continuous Amnesia Issue)4Ben Collver
17 Apr 24 ii +- Re: Code Reuse (was Re: The Continuous Amnesia Issue)1Richard Kettlewell
12 May 24 ii `* Re: Code Reuse (was Re: The Continuous Amnesia Issue)2Johanne Fairchild
12 May 24 ii  `- Re: Code Reuse (was Re: The Continuous Amnesia Issue)1Lawrence D'Oliveiro
21 Apr 24 i`- Re: Code Reuse (was Re: The Continuous Amnesia Issue)1Scott Dorsey
20 Apr 24 +- Re: The Continuous Amnesia Issue1Eric Pozharski
23 Apr 24 `- Re: The Continuous Amnesia Issue1Eric Pozharski

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal