Posts

Showing posts from June, 2020

Innovation vs. Creativity (or Tactics vs. Strategy)

Nokia Nokia. My first cellular phone was Nokia. Those days Nokia created best cellular phones. Nokia, once a dominant force in the mobile phone industry, has experienced a dramatic decline. From a market capitalization of $550 billion in 2000, it plummeted to just $18 billion. This decline prompts a critical question: Why did Nokia fail while companies like Apple soared to unprecedented heights ? While Nokia excelled at producing high-quality cellular phones, it missed the boat on the smartphone revolution. Smart phones slowly gain more and more customers, and, of course, who bought smart phone did not buy cellular phone. Nokia did not lost it's domain of cellular phones. Nokia just missed this moment when new market of smartphones was created. Those two markets could not coexist. Such situation defined by " Struggle of Informations " model as "antagonistic informations" where only one information will survive and other will totally disappear. The critical ques...

Big Software Contradiction

One of the renowned books in software industry is " The Pragmatic Programmer: From Journeyman to Master ". This book offers acomprehensive set of practical guidelines for creating superior software. As I read each section, I contemplated how to implement the advise and what it would look like in practice.   The section on "The Evils of Duplication" introduced the DRY principle (Don't Repeat Yourself) - the idea of having a "single source of truth" for code functionality. My initial thought was to create functionality only once and reuse it wherever needed. This would obviously simplify maintenance and ensure changes are made in just one place if needed. The following section discussed the concept of "Orthogonality." It explained that unintended side effects can occur when fixing software code. Orthogonality means that changes over some dimension will not lead to changes in other (orthogonal) dimension. In other words we need to try to creat...