We fight the Software Wars...

What are the Software Wars?

 They have been with us ever since the first human wrote code to control a machine.  We’ve struggled and battled with this code for decades producing more and more complex code.  It has been a war without a name, passed from generation to generation, and we’ve made great strides.  But we’ve also been losing the war because of three simple things:

 1.      The Software War gets more and more complex without any end in sight, and

2.      The Simple Things that were problems at the beginning of the Software War are still unsolved and waiting for solution, and

3.      We, the Warriors and Soldiers of the Software War, have within us the solutions that have not yet been recognized, developed, and put to proper use.  The strategies, tactics, and Katanas that we need have yet to be fully produced and used.

 In short, we fight the Software War endlessly and not as Warriors and Samurais but as peasant soldiers.

What's a Software Warrior?

Software Warrior is my term for what I do...And how I do it...

First, there are programmers, of varying skills and competency. Some...Most...are really just maintenance programmers...Who are often called upon to build things that are really beyond their competency levels...And thus they build not systems but things that are slapped together and barely work...And break regularly. That's why software is always breaking...And we throw more and more programmers at the software...

In their partial defense...There really aren't ready to use templates and Optimal Practices (beyond Best Practices) in software development...

But many (most?) just want to do the minimal and go home...

And since when has doing the Minimal ever been something from which something good comes from?

Imaging a minimal iPhone...

A Minimal computer...

Not pretty...Buggy...Difficult to handle...Breaks often...

And that's right where software is nowadays...

Some of these programmers...Seems like only a few...Develop and hone their skills and knowledge and become developers capable of better programming and larger systems...or things that should be systems...

We should be developing systems instead of "writing" code like we write a novel...

A Carnegie Mellon professor Mary something wrote an excellent paper many years ago that I was very impressed with...

It called for software development to develop into an Engineering type profession...

Which was excellent clarity...But her paper instead of igniting improvements...was ignored.

Why?

People have several significant Cognitive Defects...These are areas in which they are fail or are not good at cognition...

ChatGPT charts out 7 major Cognitive Defects...And encourages me to list them and write about them...Because no one else is...

So I will but I have to handle (juggle) quite a few other tasks and projects first...

So...What does this mean?

It means these Cognitive Defects are why most/virtually all programmers and developers "write" bad code...

I don't "write" bad code...I structure it and build SYSTEMS...App Systems...Web Systems...Back End Systems...

I come from a hardware engineering background and that helps teach you things that just slinging code around does not.

I also have a Samurai mindset...

Here's the plaque that I have up on my wall:

I won't explain about each one here but I will in a future post.

Suffice it to say for here and now that I care about my work and what I do...

And endeavour to design and build great systems...

Not throwing together a bunch of code.

And, yes, you cannot and will not get this from AI...

AI is useful but AI does NOT train on the best and most optimal code...

Nor can it really tell what is the best and most optimal code...

So you get something in the middle of the road...

Missing the Human element of Optimality...

More about this in another/other blog posts...

  • Grant