unit of work
Learning is a big deal

Learning new stuff is not without consequences.

Jean Piaget defined the word schema to represent the mental structures of knowledge, understanding and memory within certain subject areas that are created in the brain of individuals.

These schemas represent what we know and understand about the world, our family, our selves, our craft and about love, hate and so on. Everything we know and understand can be thought of as belonging to one or more overlapping schemas.

When we learn we add to our knowledge and understanding or we change what we thought we knew and understood. If what we learn change more than one schema at once or that entire schemas break up, the learning may become traumatic.

Learning may be (analytically) seperated in to four categories:

  • Cumulative learning takes place when we learn something new that we cannot connect to existing schemas. This type of learning is often based upon repetition.
  • Assimilative learning takes place when we add new knowledge and understanding to existing schemas. These expand and change gradually as we learn. This type of learning is often based upon a gradual and stable proces.
  • Akkomodative learning takes place when existing schemas are restructured due to new and surprising knowledge that does not fit with existing knowledge. This type of learning is also called transcendent learning.
  • Transformative learning takes place when a larger number of schemas restructure or break up at the same time. This type of learning is also called sigificant learning. This type of learning penetrates the entire personality of the individual and is often painfull and associated with crisis of existential character.

So while learning may be about gaining new skills or improving existing ones it also affects how the individual understands the world and how he feels about it - changing his attitude, perspective and even behavior if the learning is of akkomodative character and certainly if it is of transformative character.

Hypothesis: The net complexity of software is constant

Post-structuralistic theories share the premise that reducing external complexity requires an equivalent increase in the internal complexity.

In other words (in social sciences); if you want to understand sociological aspects of ever increasing complexity, you must understand and use relevant theories that allow you to observe, analyze and understand it. So by increasing your inner complexity, the outer complexity is reduced (conceptually at least).

I think the premise is true for developers and software as well.

Anyone writing software knows that to control complexity, to maintain understanding of it while it grows, it is necessary to understand and apply principles of orthogonality to ensure this. We must increase our inner complexity, our mental models, to reduce the perceived complexity of the software.

The premise is also observable in most (good) software. We write APIs/components/frameworks etc. which makes difficult tasks easy to perform, but only at the cost of a corresponding higher complexity internal to the APIs/components/frameworks etc.

In conclusion: If you reduce the complexity in one part of the system, it must increase correspondingly in another, thus keeping the net complexity constant.

Back in the blogsphere

I’ve been out of the blogsphere the last couple of years, spending most of my time on my diploma of leadership, which I’ll finish ultimo June 24th this year.

But I’m back and I’ll be writing a bunch about software development, leadership and lastly about whisky, which I enjoy immensely.

Glad to be back :)