Posts

Showing posts from October, 2022

Lo-code No-code

Image
    Loco Moco What is no-code and why? A fair amount of the work we do as Software Engineers is repetitive, low value-add work.  Relatively speaking, our time is expensive.  The tendency in technology is to gain efficiencies by moving to higher levels of abstraction.  We've moved from circuits to operating systems to higher level languages.  Computing has come a long way.  However, progress is slow compared to the pace of competition most of our employers operate in. The business tends to view engineering as a (expensive) cost center.  The war on costs is ever present.  Engineering costs are no exception.  With every small victory the front line is simply shifted.  In the late 90s we saw the rise of outsourcing which gave birth to the H1B.  Recently there's effort to shift the labor supply curve with coder boot camps and even social trends such as wome...

The Greatest Commandment of Software Engineering

Image
   Thou Shalt Minimize Cognitive Load! Computers don't make mistakes, people do.  Computers do exactly as they're told.  Problems happen when they're told to do the incorrect thing or how to do the correct thing incorrectly. People make mistakes when they're Hungry, Angry, Lonely, or Tired .  As a matter of dignity, we generally leave it up to the individual to manage this for themselves.  However, there are things we can do at an organizational level to help.  One of these is to reduce the complexity of the individual's problem domain and thereby reduce their tendency towards mental fatigue.  We can do this by striving to keep cognitive load to a minimum. This has been stated in other ways: K.I.S.S - Keep it Simple Stupid Principle of Parsimony Occam's Razor A good programmer is lazy Eschew Obfuscation Human cognitive load is said to max out at around 7+/-2 .  Helping engineers stay within this range not only reduces mental fatigue but also ...