Your SlideShare is downloading. ×
Engineering Anti-Patterns @JQueryTO 2014
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Engineering Anti-Patterns @JQueryTO 2014

433
views

Published on

Engineering Anti-Patterns @JQueryTO 2014 …

Engineering Anti-Patterns @JQueryTO 2014

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
433
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. nahim nasserVP of Engineering @BNOTIONS @NAHIMNASSER
  • 2. ANTI-PATTERNS ENGINEERING
  • 3. WHAT are ANTI-PATTERNs?
  • 4. Repeated patterns that result in negative consequences
  • 5. Repeated patterns that result in negative consequences When solutions exist
  • 6. 84%Of ALL software projects fail
  • 7. anti-patterns ARE Lessons learned
  • 8. anti-patterns ARE Heavily Documented
  • 9. Hope you weren’t apart of this one
  • 10. Not to be confused with Test Driven Development
  • 11. Ouch.
  • 12. Whats wrong with that? Haha…
  • 13. Key takeaways
  • 14. anti patterns are bad
  • 15. it is good to be able to recognize them anti patterns are bad
  • 16. it is good to be able to recognize them It’s even better to know what to do when you find them anti patterns are bad
  • 17. it is good to be able to recognize them overcoming anti-patterns unlocks incredible potential in your organization anti patterns are bad It’s even better to know what to do when you find them
  • 18. Encounters with Anti-Patterns
  • 19. Analysis paralysis AntiPattern #1
  • 20. Analyzing for too long, while the opportunity passes
  • 21. Choosing A TECHNOLOGY STACK
  • 22. Convergence in language features, fragmentation in the number of languages
  • 23. Comparsion MAtrices
  • 24. Comparsion MAtrices TODO APPS
  • 25. Comparsion MAtrices TODO APPS Community Research hiring market research
  • 26. Comparsion MAtrices TODO APPS Community Research COST-benefit Analysis hiring market research Tradeoff analysis
  • 27. Comparsion MAtrices TODO APPS Community Research COST-benefit Analysis hiring market research Tradeoff analysis EASY TO GET TRAPPED
  • 28. 0 25 50 75 100 Opportunity Cost Benefits analysis paralysis
  • 29. 0 25 50 75 100 Opportunity Cost Benefits analysis paralysis
  • 30. Agile was designed to attack analysis paralysis to handle changing business requirements
  • 31. incremental development the solution was
  • 32. everyone started applying this to business requirements
  • 33. what if we applied this to our technology stack?
  • 34. What if we accounted for incremental renovation right from the start?
  • 35. Language agnostic
  • 36. framework Agnostic Language agnostic
  • 37. platform agnostic framework Agnostic Language agnostic
  • 38. acknowledge the rebuild
  • 39. SIDE EFFECTS
  • 40. birth of the ‘polyglot' programmers
  • 41. technology choice agility is also a great motivator for engineers
  • 42. EXTINCT BY INSTINCT
  • 43. ANALYSIS PARALYsIS extinct by instinct
  • 44. design by committee AntiPattern #2
  • 45. too many software designers
  • 46. No unifying plan or vision too many software designers
  • 47. erwin edge-case
  • 48. not bad to have a few designers, but unification is critical
  • 49. Your app might work
  • 50. ok now lets create some new features
  • 51. vomit
  • 52. more vomit Insult to injury
  • 53. “It is better to have a system omit certain anomalous features… than to have one that contains many good but independent and uncoordinated ideas.” -Frederick brooks (mmm)
  • 54. recommended solution: Designated design leader !
  • 55. Designated design leader ! reform meeting processes recommended solution:
  • 56. Designated design leader ! reform meeting processes explicit roles and outcomes recommended solution:
  • 57. “…conceptual integrity is the most important consideration in system design. “ -Frederick brooks (mmm)
  • 58. reinventing the square wheel AntiPattern #3
  • 59. Failing to adopt an existing solution
  • 60. Failing to adopt an existing solution and instead adopting a custom solution
  • 61. which performs much worse than the existing one
  • 62. “Hey, there’s this great library that does exactly what you need” -you
  • 63. “That library will take a while to learn, and i can write it better myself faster” -Ricky Rewrite
  • 64. rookie management
  • 65. rookie management & pride
  • 66. Recommended solution: period of library mining !
  • 67. lean towards battle-tested solutions
  • 68. lean towards battle-tested solutions libraries that have been tried, tested, and have traction.
  • 69. impact organizational structure Antipatterns
  • 70. impact Management principles Antipatterns
  • 71. impact how effective you are as an engineer Antipatterns
  • 72. BNOTIONS ENGINEERING ANTI-anti-patterns manifested in
  • 73. mastery
  • 74. mastery Autonomy
  • 75. mastery Autonomy purpose
  • 76. constantly improving your craft mastery
  • 77. manifestation: mastery internal education Technology choice Agility challenging work
  • 78. Autonomy
  • 79. Autonomy acting with choice and influence
  • 80. manifestation: autonomy self-directed teams teams choose what they work on teams choose who they work with teams choose how they build projects
  • 81. BOTTOM UP TECHNOLOGY ADOPTION
  • 82. purpose intrinsic motivation beyond profitability
  • 83. manifestation: purpose constant alignment with the organization’s vision
  • 84. mastery
  • 85. mastery Autonomy
  • 86. mastery Autonomy purpose
  • 87. positive effect on business outcomes
  • 88. positive effect on personal happiness
  • 89. positive effect on ‘work’ engagement
  • 90. anti-patterns design patterns
  • 91. anti-patterns design patterns well rounded leadership
  • 92. @NAHIMNASSER @BNOTIONS email me your stories: nahim@bnotions.com