Wednesday, November 19, 2014

The Obligation of the Programmer (Robert C. Martin ) versus reality


After "Clean code", the book and the rules, are inspired from Hippocratic Oath, Robert C. Martin has elaborate now "The Obligation of the programmer" , a code of ethic inspired from the "Order of the engineers" (http://en.wikipedia.org/wiki/Order_of_the_Engineer) code.

http://blog.cleancoder.com/uncle-bob/2014/11/15/WeRuleTheWorld.html 

Some significant ideas from this code:
  • Human progress depend on "those who manipulate information"
  • The result of any programmer is depended on the "accumulated knowledge and experience " - that mean this experience must be known and used
  • It is important to participate only to honest enterprises 
  • The programmer skills and experience it is a public good
Starting from Uncle Bob sentences, here some ideas about why this code it is important. How the reality looks like:
  • Human progress it is stalled because of software development problems (high costs and low productivity, where defects management it is included)
  • Too many programmers does not learn enough from "accumulated knowledge and experience" -  the re-invent the (...squared) wheel syndrome is not rare - and too many of them blocked in stone-age of the design (... no design).
  •  "Honest enterprises..." - the short term goals (combining with poor skills) are destroying the products and productivity
The programmers and the others involved in this domain are smart people, but the domain is very difficult and we need to be also disciplined and deliberate dedication.