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.

Choosing Technology


Published on

Ruby on Rails or PHP? MySQL or MongoDB? Java or C#? Heroku or Amazon? Will this scale? Will it perform? With so many options, it's hard to make decisions about which technology to use to build and deploy your next web idea or application, difficult to convince others and risky to trust someone else to make these decisions for you.
In this course you will learn how to approach this problem, discover the essential vocabulary of technology stacks and learn which questions to ask. This class is equally suited for both a technical and a non-technical audience and will focus on the decision-making process using some real world examples of modern technology start-ups.

Published in: Technology, News & Politics
  • Be the first to comment

Choosing Technology

  1. 1. CHOOSING Technology<br />Tuesday July 5th<br />@dblockdotorg #gachoosingtech @ gnrlassembly<br />Daniel Doubrovkine -<br />
  2. 2. Building SOFTWARE<br />unlike building _________________<br />
  3. 3. Problem domain<br />
  4. 4. what is IT going to do?<br />Who is going to use it and how?<br />What stories will it tell?<br />
  5. 5. Choosing technology<br />TRADITIONAL APPROACHES<br />
  6. 6. stack<br />a stack that works<br />a stack that worked<br />
  7. 7. STACK: Ruby on Rails<br />Backbone.js<br />Rails<br />+60 gems<br />Ruby<br />MongoDB<br />Heroku<br />+ addons<br />AWS (S3, Cloudfront)<br />
  8. 8. STACK: LAMP<br />Zend<br />Django<br />PHP<br />Python<br />Apache<br />MySQL<br />Linux<br />Rackspace<br />
  9. 9. Stack: J2ee <br />JAF<br />JTA<br />JM<br />IDL<br />JTS<br />JSP<br />JS<br />RMI<br />XML<br />JMS<br />JDBC<br />JNDI<br />EJBs<br />Java<br />JVM<br />Windows<br />
  10. 10. What do stacks do?<br />Help You Focus on The Domain<br />Classify Problems<br />Offer Generic Solutions<br />Provide Consistent Experience<br />Map Software Evolution<br />Reuse Skills<br />
  11. 11. Data storageeasy choice<br />
  12. 12. Business logicimpossible choice<br />
  13. 13. SCALABILITY<br />Effort to Provide Service with More ________<br />Users<br />Traffic<br />Data<br />Calculations<br />Unit of Scale<br />
  14. 14. complexity<br />Number of Moving Parts<br />Time to Rebuild from Scratch<br />Developer Bus Factor<br />
  15. 15. COST<br />People + Time + $ for ________<br />Minimum Viable Product<br />Hosting and Storage<br />Features and Bugs<br />Operations<br />
  16. 16. Choosing technology doesn’t have to be boringLESS TRADITIONAL APPROACHES<br />
  17. 17. Developer happiness<br />Developers Are Happy with ______<br />Their Own Choices<br />Cutting Edge Technology<br />
  18. 18. Bullet proof logic<br />It Worked For Me Before<br />It Didn’t Work for Me Before<br />It Sounds Exciting<br />______ Uses It<br />
  19. 19. Choosing technology doesn’t have to be a science<br />Personal approach<br />
  20. 20. Pragmatic<br />Try It … Iterate … Keep It … Toss It<br />Easy to Learn<br />Frustration-less<br />Quick to Leverage<br />Vibrant Community<br />Elegant Solutions<br />
  21. 21. Did YOU make a good choice?<br />Good Technology Choices Help Developers Focus on the Problem Domain<br />
  22. 22. IS it time to reset?<br />Reset Early, Several Times<br />Rational Thinking Kills Companies<br />Incremental Rewrites Take Forever<br />Think “Startup”<br />
  23. 23. QUESTIONS?<br /> name: Daniel Doubrovkine(aka. dB.)<br />company: twitter:@dblockdotorg<br /> blog:http://code.dblock.orglink to slides here<br /><br />