Skip to content

CognonicLabs/what-you-know

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

What You Know

misc. proverbs for developers


Note: If you come across this scratch pad of programming, development and project management concepts that you would like to add to, please add an Issue item. All sorts of thoughts will be considered for inclusion, but preference is given to wisdom that speaks to Truth and science based evidence and less to "Geek Social Memes"


Developer things you know that you know even if you don't know why you know that...

1. the easiest code to develop is no code at all. Most companies should NOT be developing code anymore than they would design their own office buildings, parking lots and electrical distribution systems.

2. agile development just hides the mess you just made somewhere else and is a huge contributer to very low quality products

3. agile development changes the ill-advised practice of fantasy arbitrary deadlines into a formalism of fixed (and therefore arbitrary) deadlines

4. agile development is an example of non-scientific anecdotal social uptake of development methodologies by hordes of non-science based "programmers" who simply don't understand the concept of scientific bias and how it applies to their own perceived socially comfortable assumptions

5. adding people to a late software project makes it later. an absolute truth that periodically gets fogotten and then rediscovered, and surprisingly stays just plain forgotten in many organizations.

6. managing programmers is like herding cats. an absolute truth that is so inconvenient to socially acceptable business processes that it gets purposely forgotten. Businesses that understand the concept of "managing Talent" (such as film and music) understand the difference between Talent and people that other companies just label "resources" (people as interchangeable widgets) in their project management programs.

7. the corollary of Herding Cats is not knowing that if you don't have that problem you have creatated a "selection bias" in your team that selects for "non-cat-like team player" and if you feel proud of that for some perverse reason, you are on your way to creating a "mono culture" in your organization which ends up being the anti-thesis of "excellence" and "competitive" which can work out well for organizations that should not be developing code in the first place.

8. calling the complex Art of Programming some variation of "Engineering" and labeling programmers "Engineers" is both stupid and a disservice to real Engineers everywhere. The origin of this unfortunate recent social meme is probably startup culture seeking to reassure the stock market but misguided perversions like that have a habit of taking on a life of their own...

9. the concept of "technical debt" is an absurd metaphor comparing programming to the banking industry. In the real world, debt is physical money that someone is expecting to get from you. The hogwash of the term "technical debt" implies you have borrowed some sort of entity that you are obligated to repay where nothing of the sort actually occurs in the digital domain. Every time you here anyone mention "technical debt" either run away quickly or mentally replace the words with "I was too lazy to design things propery and I wish somebody else would cover for me there so I don't look so stupid, in fact if I come up with a smart sounding phrase you might even think the opposite"

10. the thing that made Extreme Programming methodologies work was "continuous refactoring" and "no code at all is much better than code you will never need" and then people prompty forgot all those gains because well, refactoring is real work, that also requires real understanding of the entire code base. Which requires Talent.

11. "Keep your hands off my stack" is a line in Pink Floyd's Money (the famous Dark Side of the Moon album) and that is where the word "stack" should remain. Aside from the hipster culture origins and "my stack is better than your stack" is the obvious distinction that silicon computers don't think like that (well, other than an actual STACK instruction) but the word has been hijacked to mean a nebulous or distinct bundle of arbitrary development software that magically takes precedence over good architecure and design work. The word is a Red Flag warning of lazy and shoddy thinking

12. "Use the best tool for the job" might be smart for carpenters, but lacks any sensibility in the digital domain. The industry is rampant with inappropriate metaphors, memes and anecdotal "experience" which sounds plausible to the uneducated ear but is simply an innappropriate abstraction at best and dangerously ignorant at worst. Software programs that are used to help make other software programs should probably not be called "Tools" since that invokes a ton of real world baggage of playing with hammers and screwdrivers that leads quickly to cognitive errors of judgement. Exanples of this mistake in human thinking are too numerous to list right now...

13. Triskaidekaphobia https://en.wikipedia.org/wiki/Triskaidekaphobia


Your ideas could go right here if you want...

  • you said it!
  • you don't say...
  • say what?
  • say what you like,
  • say it isn't so

Releases

No releases published

Packages

No packages published