Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
{
A Developer’s
Nirvana Fallacy
Embracing the Imbalanced Relationship between
Business and Technology by Matthew Montañez
 Create a technical foundation of such superb
quality and architecture that it is capable of
seamlessly integrating chang...
{The Evolution of Coding Style
The Origins of the Goal
 First phase of development
 Learned and sharpened during formal
education and small business development
 Focus is get...
‚At some point, all programmers will experience this.‛
http://imgur.com/l3aFizL
 Phase two of a developer’s evolution
 Learned when confronted with large scale,
evolving systems
 Required for GROWING...
 Third phase of development
 Learned in team environments focused on a
high traffic, large scale code bases
 Focus on r...
 Final pursuit of development
 A desire for simplicity created by the
complexity of large scale systems
 Requires a vis...
Hack
Maintainable
Scalable
Elegant
The Evolution of Coding Style
{An Imbalanced Relationship
Why I Will Never Succeed
An Imbalanced Relationship
Technology Business
We CANNOT expect
business to completely
inherit the goals of
technology and vice-versa.
 Technical Debt
 Developers are incapable of moving beyond the
‘hacker’ stage due to incompatibility with the
speed and ...
Initial technical platform
is constructed.
Short-term business
needs outweigh the
long-term need for
technical stability.
...
{Striving for the Ideal
Why Failure is OK
The nirvana fallacy is the informal
fallacy of comparing actual things with
unrealistic, idealized alternatives. It can
al...
‘Le mieux est l'ennemi du bien’
‘The perfect is the enemy of the
good‘
Voltaire (1694 – 1778)
 We can achieve balance through awareness
 Through balance, we can achieve and minimize
the costs of an imperfect code b...
 Avoidance of technical debt
 Solid, technical foundation motioning towards
the ‘ideal’
 Business remains agile and com...
The Developer's Nirvana Fallacy
Upcoming SlideShare
Loading in …5
×

The Developer's Nirvana Fallacy

721 views

Published on

The perfect code base will never be achieved; an inherent imbalance exists within the relationship between business and technology.

Published in: Technology
  • Be the first to comment

The Developer's Nirvana Fallacy

  1. 1. { A Developer’s Nirvana Fallacy Embracing the Imbalanced Relationship between Business and Technology by Matthew Montañez
  2. 2.  Create a technical foundation of such superb quality and architecture that it is capable of seamlessly integrating changes in business logic without error.  Crafted – Elegant – Beautiful  Allows for rapid modification and deployment  Completely bug free; always 100% tested  This is the ‘ideal’ The Developer’s Single, Most Important Goal
  3. 3. {The Evolution of Coding Style The Origins of the Goal
  4. 4.  First phase of development  Learned and sharpened during formal education and small business development  Focus is getting things ‘to work’  Important for startup cultures  Vital for launching initial technical platforms  Essential for productivity in new and uncertain environments Becoming a Hacker
  5. 5. ‚At some point, all programmers will experience this.‛ http://imgur.com/l3aFizL
  6. 6.  Phase two of a developer’s evolution  Learned when confronted with large scale, evolving systems  Required for GROWING software  Involves writing code that easily accommodates change Discovering the Value of Maintainability
  7. 7.  Third phase of development  Learned in team environments focused on a high traffic, large scale code bases  Focus on readability by ‘other’ developers and efficiency in code execution  Thoughtfulness towards overall code base architecture and design Coding for Scalability
  8. 8.  Final pursuit of development  A desire for simplicity created by the complexity of large scale systems  Requires a vision for the potential elegance of a code base  Occurs when code is managed holistically and thoughtfully  Only drawn upon by passion for development and pride in craftsmanship  In poetry, no word is wasted  Draws developers toward the ‘ideal’ code base Code as Poetry
  9. 9. Hack Maintainable Scalable Elegant The Evolution of Coding Style
  10. 10. {An Imbalanced Relationship Why I Will Never Succeed
  11. 11. An Imbalanced Relationship Technology Business
  12. 12. We CANNOT expect business to completely inherit the goals of technology and vice-versa.
  13. 13.  Technical Debt  Developers are incapable of moving beyond the ‘hacker’ stage due to incompatibility with the speed and nature of business  Code becomes bug-ridden  Becomes apparent only in the ‘long run’  Undesirable environment for developers  Leads to overall organizational frustration  Stifles innovation The Cost of Imbalance
  14. 14. Initial technical platform is constructed. Short-term business needs outweigh the long-term need for technical stability. Technical debt compiles.Productivity diminishes. Complete code rewrite is desired.
  15. 15. {Striving for the Ideal Why Failure is OK
  16. 16. The nirvana fallacy is the informal fallacy of comparing actual things with unrealistic, idealized alternatives. It can also refer to the tendency to assume that there is a perfect solution to a particular problem. A closely related concept is the perfect solution fallacy. http://en.wikipedia.org/wiki/Nirvana_fallacy
  17. 17. ‘Le mieux est l'ennemi du bien’ ‘The perfect is the enemy of the good‘ Voltaire (1694 – 1778)
  18. 18.  We can achieve balance through awareness  Through balance, we can achieve and minimize the costs of an imperfect code base  We do not have to achieve the ideal code base but we must make an effort towards it  Requirements for Organizational Success  Energy  Open Communication  Pride in Craftsmanship  Execution via Pride not Fear Achieving Organizational Success
  19. 19.  Avoidance of technical debt  Solid, technical foundation motioning towards the ‘ideal’  Business remains agile and competitive  Satisfaction for both business leaders and technical developers  Real value for the cultivated technical platform  Poised for innovation Benefits of Balance

×