In IT, we suffer from continuous collective amnesia and we are even
proud of it! [2]
We do not value the wisdom of the past.
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.
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/>
I agree. Many have been the tims when the tiniest company with the tiniest application has insisted on moving it over to k8s, when a regular VM with[Massive Snip]
a classic LAMP-stack (or equivalent) would have done a better and more reliable job, for a vastly lower price.
But oh no, everything has to be k8s these days, even if the service only
has 10 local users that just use a web frontend to enter data in a
database.
On Mon, 15 Apr 2024, Ben Collver wrote:
The Continuous Amnesia Issue
============================
by Uwe Friedrichsen
October 2, 2020
From: <https://www.ufried.com/blog/continuous_amnesia_issue/>
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.
Obviously, nobody in the room ever had heard anything about what we
as an industry already had figured out about reusability.
The discussion moved at a level as if nobody ever had said or written a single word about reusability in the past 50 years.
Ben Collver wrote:
The discussion moved at a level as if nobody ever had said or written a
single word about reusability in the past 50 years.
That’s because most of that 50 years was spent talking about it, not actually doing it.
I think the problem is pretty much solved now. Open Source has become
the established way to develop most parts of the software stack
(except perhaps the most specialized bits at the top). And code reuse
follows very naturally from the ability to share, modify and
redistribute other people’s code.
A cursory search finds only a couple of remarks about re-use.
- Leverage them design patterns, architecture principles,
and software frameworks
He refers to a NATO conference, and the reports are online:
The quoted blog is very vague about what the author thinks is being ignored/forgotten.
On 2024-04-17, Richard Kettlewell <invalid@invalid.invalid> wrote:
The quoted blog is very vague about what the author thinks is being
ignored/forgotten.
I don't know what specifically the author is referring to, but i have
heard retired professionals talk about technical advertising and announcements of innovations, and having responses like "That's not
new! We were doing that decades ago using _____!" I've heard it so frequently that it lends credibility, in my mind, to this article.
The idea is that software entities should be open for extension, but
closed for modification.
We actually live in gerontocratic societies and the power of young
people is just an illusion. Age of US congressists[*] is a good
evidence of that.
We haven't even learned how top-posting is bad.
On Tue, 16 Apr 2024 21:34:09 +0100, Kerr-Mudd, John wrote:
We haven't even learned how top-posting is bad.
I like to repurpose lawyer jokes to make the point. E.g.
A: A Rolls seats six.
Q: What’s the saddest thing about seeing a Rolls with five top posters go off a cliff?
Do note that in europe the fashion du jour is to appoint children to
senior political office ...
On Thu, 18 Apr 2024 11:03:26 +0200, D wrote:
Do note that in europe the fashion du jour is to appoint children to
senior political office ...
They tend to score higher on measures of democracy than the US does,
though.
On Thu, 18 Apr 2024, Lawrence D'Oliveiro wrote:
On Thu, 18 Apr 2024 11:03:26 +0200, D wrote:And lower on freedom.
Do note that in europe the fashion du jour is to appoint children to
senior political office ...
They tend to score higher on measures of democracy than the US does,
though.
On Thu, 18 Apr 2024 11:03:26 +0200, D wrote:
Do note that in europe the fashion du jour is to appoint children to
senior political office ...
They tend to score higher on measures of democracy than the US does,
though.
On Fri, 19 Apr 2024 10:42:23 +0200, D wrote:
On Thu, 18 Apr 2024, Lawrence D'Oliveiro wrote:
On Thu, 18 Apr 2024 11:03:26 +0200, D wrote:And lower on freedom.
Do note that in europe the fashion du jour is to appoint children to
senior political office ...
They tend to score higher on measures of democracy than the US does,
though.
Some countries which score higher on press freedom than the USA: Taiwan, Tonga, Jamaica, Trinidad and Tobago, South Africa, Namibia, Timor-Leste.
In article <uvs665$2g9b9$7@dont-email.me>,
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Thu, 18 Apr 2024 11:03:26 +0200, D wrote:
Do note that in europe the fashion du jour is to appoint children to
senior political office ...
They tend to score higher on measures of democracy than the US does, >>though.
Thing is, we're not actually a democracy...or, at least, we're not
supposed to be.
by Uwe Friedrichsen October 2, 2020
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.
On Thu, 18 Apr 2024, Lawrence D'Oliveiro wrote:
On Thu, 18 Apr 2024 11:03:26 +0200, D wrote:
Do note that in europe the fashion du jour is to appoint children to
senior political office ...
They tend to score higher on measures of democracy than the US does,
though.
And lower on freedom.
Didn't your declaration of independence start out with all men are
equal?
Lawrence D'Oliveiro wrote:
On Fri, 19 Apr 2024 22:05:31 -0700, Dave Yeo wrote:You mean where slaves had rights, a course to citizenship and could buy
Didn't your declaration of independence start out with all men are
equal?
Remember, the authors of that were mostly slave owners. By “men” they
meant “white men”. They didn’t mean “nonwhites” and they didn’t mean
“women”.
It was a “democracy” in the original, Athenian sense. Not the way it is >> understood in actual democracies these days.
their freedom, as well being protected from violence by the State? Also
not a racial thing.
In article <7c490eda-e041-8cdd-5bcf-5b886a32f65f@example.net>,
D <nospam@example.net> wrote:
On Thu, 18 Apr 2024, Lawrence D'Oliveiro wrote:
On Thu, 18 Apr 2024 11:03:26 +0200, D wrote:
Do note that in europe the fashion du jour is to appoint children to
senior political office ...
They tend to score higher on measures of democracy than the US does,
though.
And lower on freedom.
Depends. If you look at the total percentage of population currently incarcerated, the US is an order of magnitude higher than any European country.
On the other hand, the US does have some interesting protections that
most European countries don't have. That's mostly not a problem there,
but situations can be imagined where it might become one.
It really is interesting seeing how much Americans are just plain afraid
of things in ways that Europeans aren't.
--scott
On Mon, 15 Apr 2024 22:34:53 -0000 (UTC), Ben Collver wrote:
The discussion moved at a level as if nobody ever had said or written a
single word about reusability in the past 50 years.
That’s because most of that 50 years was spent talking about it, not >actually doing it.
I think the problem is pretty much solved now. Open Source has become the >established way to develop most parts of the software stack (except
perhaps the most specialized bits at the top). And code reuse follows very >naturally from the ability to share, modify and redistribute other
people’s code.
by Uwe Friedrichsen October 2, 2020
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.
On 2024-04-17, Richard Kettlewell <invalid@invalid.invalid> wrote:
The quoted blog is very vague about what the author thinks is being
ignored/forgotten.
I don't know what specifically the author is referring to, but i have
heard retired professionals talk about technical advertising and announcements of innovations, and having responses like "That's not
new! We were doing that decades ago using _____!" I've heard it so frequently that it lends credibility, in my mind, to this article.
There is no doubt in my mind that---at the very least in computer science---one's education is better invested by studying the field's
history than giving any attention to any current trend.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 388 |
Nodes: | 16 (2 / 14) |
Uptime: | 05:27:57 |
Calls: | 8,220 |
Calls today: | 18 |
Files: | 13,122 |
Messages: | 5,872,261 |
Posted today: | 1 |