GeneralAssemb.ly Summer Program: Tech from the Ground Up

927 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
927
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

GeneralAssemb.ly Summer Program: Tech from the Ground Up

  1. 1. Daniel Doubrovkine (dB.) @dblockdotorgTECH FROM THE GROUND UP Summer Program – Monday, July 30
  2. 2. Take a good idea …
  3. 3. … and make working software
  4. 4. Day 0 What will you do? “Dear ___, Saw your presentation at ___. I liked the Q&A and learned a bunch of new things. I have a favor to ask. I’ve joined a NY startup, ___. We’re just starting, and I am hoping to do things ‘right’ from the start. I was wondering whether I could borrow someone’s time at ___ next week (yours or someone who works for you) and maybe bring 1-2 people with me to see how your code and tooling is organized. Sincerely, -Me”
  5. 5. Day 1 Pick a Code Namethis is “Gravity”
  6. 6. Day 2 Documents Go Here Hosted Free or Cheap Private Shareable Backed Up Passwords
  7. 7. Day 3 Tasks Go Here Create Tasks Take Tasks Start Tasks Complete Tasks
  8. 8. Day 4 A Bit of Process Extreme Programming Scrum Waterfall (XP) Agile Not Agile What do we do during the What are all the things we What do we do next? next month? need to do this year? Grow this way  #FAIL
  9. 9. Day 5 Learning Domain Driven Design Taxonomy Specifications Wireframes People
  10. 10. Week 1 Scheduled exciting meetings with other startups Created a place to store information, a team wiki Created a KB and a way to create new knowledge Created a place to manage and track work.
  11. 11. Week-End Sustainable Pace
  12. 12. Day 1 A Plan Story: Users Can Sign Up
  13. 13. Day 1 Source Control Repository Commit Push Pull Merge
  14. 14. Day 1 Code Reviews Peer review of every check-in Shared knowledge Shared responsibility It’s common to push back Reviewboard Crucible
  15. 15. Day 1 Your First Commit README GettingStarted.md
  16. 16. Day 2 A Friendly Visit 2-3 People Bring Pastries Tell Your Story Be Impressed Ask “Why?” 3x Owe One
  17. 17. Day 3: Choosing Technology
  18. 18. Stacks
  19. 19. A Web Stack Backbone.js  Django Rails  Python Ruby  Apache MongoDB  MySQL Heroku  Linux AWS  Rackspace
  20. 20. Stacks Help You Focus on The Domain Classify Problems Offer Generic Solutions Provide Consistent Experience Map Software Evolution Enable Reuse of Skills
  21. 21. Big Company: Bakeoff Identify Candidates ASP.NET / RoR / J2EE / LAMP Develop Metrics scalability, complexity, cost Gather Data feature matrix, metrics data Compare =SUM(A:Z) Pick a Winner =MAX(SUM(A:Z))
  22. 22. Alternatives: Personal Favorite
  23. 23. Alternatives: Trustworthy People It worked before It didn’t work before It’s new and shiny Someone I trust uses it
  24. 24. Alternatives: Simplicity The Emperor’s Old Clothes Charles Hoare, 1981 http://dl.acm.org/citation.cfm?id=358561&bnc=1
  25. 25. Alternatives: Developer Happiness Developers Are Happy with Their Own Choices Cutting Edge Technology
  26. 26. Does it really matter? Try It … Iterate … Keep It … Toss It Easy to Learn Frustration-less Quick to Leverage Vibrant Community Time Elegant Solutions Results Fighting Learning
  27. 27. Day 4 Implement a Story w/ Tests Setup Continuous Integration “Writing tests makes development faster, not slower from day one four.”
  28. 28. Day 4 Continuous Deployment Development Staging Production Demo
  29. 29. Day 5 Demo Day! Developers know how to get started. Developers can commit code with a peer code review. Every time a developer checks in code, continuous integration runs tests and e-mails results to the team. Every time continuous integration executed tests successfully, staging gets the latest code. We can deploy to production by hitting a button!
  30. 30. A Sprint: Week 3 & 4 User-Facing Stories Under-Promise and Over-Deliver Make People Happy Keep Things Simple Don’t Acquire Technical Debt
  31. 31. People People make all the difference Cultural fit is more important than technical abilities  There’re excellent developers that are a bad cultural fit  There’re bad developers that are an excellent cultural fit Generalists are Often Better than Specialists Pigs, not Chickens
  32. 32. Your Resume Passion to Professionalism Examples of Doing Consistent Delivery Demonstrable Experience Strong References
  33. 33. You Doer Humble Listens Self-Sufficient Thorough
  34. 34. Questions name: Daniel Doubrovkine (aka. dB.)company: http://art.sy twitter: @dblockdotorg blog: http://code.dblock.org email: dblock@dblock.org slides: http://slideshare.net/dblockdotorg

×