SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Daniel Doubrovkine (dB.)
                          @dblockdotorg




TECH FROM THE GROUND UP
    Summer Program – Monday, July 30
Take a good idea …
… and make working software
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”
Day 1
   Pick a Code Name




this is “Gravity”
Day 2
   Documents Go Here
    Hosted
    Free or Cheap
    Private
    Shareable
    Backed Up

    Passwords
Day 3
   Tasks Go Here
    Create Tasks
    Take Tasks
    Start Tasks
    Complete Tasks
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
Day 5
   Learning

    Domain Driven Design
    Taxonomy
    Specifications
    Wireframes
    People
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.
Week-End
   Sustainable Pace
Day 1
   A Plan
    Story: Users Can Sign Up
Day 1
   Source Control

    Repository
    Commit
    Push
    Pull
    Merge
Day 1
   Code Reviews
    Peer review of every check-in
    Shared knowledge
    Shared responsibility
    It’s common to push back
                                    Reviewboard




                                      Crucible
Day 1
   Your First Commit
    README
    GettingStarted.md
Day 2
   A Friendly Visit
    2-3 People
    Bring Pastries
    Tell Your Story
    Be Impressed
    Ask “Why?” 3x
    Owe One
Day 3: Choosing Technology
Stacks
A Web Stack

   Backbone.js      Django
   Rails            Python
   Ruby             Apache
   MongoDB          MySQL
   Heroku           Linux
   AWS              Rackspace
Stacks
   Help You Focus on The Domain
   Classify Problems
   Offer Generic Solutions
   Provide Consistent Experience
   Map Software Evolution
   Enable Reuse of Skills
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))
Alternatives: Personal Favorite
Alternatives: Trustworthy People
   It worked before
   It didn’t work before
   It’s new and shiny
   Someone I trust uses it
Alternatives: Simplicity
   The Emperor’s Old Clothes
    Charles Hoare, 1981
    http://dl.acm.org/citation.cfm?id=358561&bnc=1
Alternatives: Developer Happiness
   Developers Are Happy with
    Their Own Choices
    Cutting Edge Technology
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
Day 4
   Implement a Story w/ Tests
   Setup Continuous Integration


      “Writing tests makes development faster, not
      slower from day one four.”
Day 4
   Continuous Deployment
    Development
    Staging
    Production
    Demo
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!
A Sprint: Week 3 & 4
   User-Facing Stories
   Under-Promise and Over-Deliver
   Make People Happy
   Keep Things Simple
   Don’t Acquire Technical Debt
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
Your Resume
   Passion to Professionalism
   Examples of Doing
   Consistent Delivery
   Demonstrable Experience
   Strong References
You
 Doer
 Humble

 Listens

 Self-Sufficient

 Thorough
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

Weitere ähnliche Inhalte

Was ist angesagt?

Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR 2017
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR  2017Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR  2017
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR 2017Sylvia MacDonald
 
Getting Things Done for Technical Communicators
Getting Things Done for Technical CommunicatorsGetting Things Done for Technical Communicators
Getting Things Done for Technical CommunicatorsKaren Mardahl
 
Getting Things Done for Technical Communicators at TCUK14
Getting Things Done for Technical Communicators at TCUK14Getting Things Done for Technical Communicators at TCUK14
Getting Things Done for Technical Communicators at TCUK14Karen Mardahl
 
Taming scary production code that nobody wants to touch
Taming scary production code that nobody wants to touchTaming scary production code that nobody wants to touch
Taming scary production code that nobody wants to touchMike Clement
 
Life of a Remote Developer - Productivity tips (MSBuild 2020)
Life of a Remote Developer - Productivity tips (MSBuild 2020)Life of a Remote Developer - Productivity tips (MSBuild 2020)
Life of a Remote Developer - Productivity tips (MSBuild 2020)Davide Benvegnù
 
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...Technical Agility institute
 
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile designIgor Moochnick
 
Don't be too hard for agile; How to go lean with hardware
Don't be too hard for agile; How to go lean with hardwareDon't be too hard for agile; How to go lean with hardware
Don't be too hard for agile; How to go lean with hardwareMoriya Kassis
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Kung fu Programming
Kung fu ProgrammingKung fu Programming
Kung fu ProgrammingWisecube AI
 
[EN] Great software development quotes
[EN] Great software development quotes[EN] Great software development quotes
[EN] Great software development quotesEudris Cabrera
 
Building an Awesome Engineering Culture
Building an Awesome Engineering CultureBuilding an Awesome Engineering Culture
Building an Awesome Engineering CultureUri Nativ
 
NorDevCon 2016 pair programming
NorDevCon 2016 pair programmingNorDevCon 2016 pair programming
NorDevCon 2016 pair programmingJon Jagger
 
sicsa-phd2016
sicsa-phd2016sicsa-phd2016
sicsa-phd2016turingfan
 
Design At Scale Workshop
Design At Scale WorkshopDesign At Scale Workshop
Design At Scale WorkshopDane Petersen
 
Synergistic Effects: A Mixed Remote/In-house Team Can Be Better than the Sum ...
Synergistic Effects: A Mixed Remote/In-house Team Can Be Better than the Sum ...Synergistic Effects: A Mixed Remote/In-house Team Can Be Better than the Sum ...
Synergistic Effects: A Mixed Remote/In-house Team Can Be Better than the Sum ...C4Media
 

Was ist angesagt? (20)

Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR 2017
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR  2017Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR  2017
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR 2017
 
Getting Things Done for Technical Communicators
Getting Things Done for Technical CommunicatorsGetting Things Done for Technical Communicators
Getting Things Done for Technical Communicators
 
Mob programming - Without the Torches and Pitchforks
Mob programming - Without the Torches and PitchforksMob programming - Without the Torches and Pitchforks
Mob programming - Without the Torches and Pitchforks
 
Getting Things Done for Technical Communicators at TCUK14
Getting Things Done for Technical Communicators at TCUK14Getting Things Done for Technical Communicators at TCUK14
Getting Things Done for Technical Communicators at TCUK14
 
Taming scary production code that nobody wants to touch
Taming scary production code that nobody wants to touchTaming scary production code that nobody wants to touch
Taming scary production code that nobody wants to touch
 
Life of a Remote Developer - Productivity tips (MSBuild 2020)
Life of a Remote Developer - Productivity tips (MSBuild 2020)Life of a Remote Developer - Productivity tips (MSBuild 2020)
Life of a Remote Developer - Productivity tips (MSBuild 2020)
 
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
Demystifying pair programming, swarming and mob programming - Shrikant Vashis...
 
Part Time Agile
Part Time AgilePart Time Agile
Part Time Agile
 
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Don't be too hard for agile; How to go lean with hardware
Don't be too hard for agile; How to go lean with hardwareDon't be too hard for agile; How to go lean with hardware
Don't be too hard for agile; How to go lean with hardware
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Kung fu Programming
Kung fu ProgrammingKung fu Programming
Kung fu Programming
 
[EN] Great software development quotes
[EN] Great software development quotes[EN] Great software development quotes
[EN] Great software development quotes
 
Building an Awesome Engineering Culture
Building an Awesome Engineering CultureBuilding an Awesome Engineering Culture
Building an Awesome Engineering Culture
 
NorDevCon 2016 pair programming
NorDevCon 2016 pair programmingNorDevCon 2016 pair programming
NorDevCon 2016 pair programming
 
sicsa-phd2016
sicsa-phd2016sicsa-phd2016
sicsa-phd2016
 
Design At Scale Workshop
Design At Scale WorkshopDesign At Scale Workshop
Design At Scale Workshop
 
Preocupações Desenvolvedor Ágil
Preocupações Desenvolvedor ÁgilPreocupações Desenvolvedor Ágil
Preocupações Desenvolvedor Ágil
 
Synergistic Effects: A Mixed Remote/In-house Team Can Be Better than the Sum ...
Synergistic Effects: A Mixed Remote/In-house Team Can Be Better than the Sum ...Synergistic Effects: A Mixed Remote/In-house Team Can Be Better than the Sum ...
Synergistic Effects: A Mixed Remote/In-house Team Can Be Better than the Sum ...
 

Ähnlich wie GeneralAssemb.ly Summer Program: Tech from the Ground Up

Genomics data insights
Genomics data insightsGenomics data insights
Genomics data insightsVishwas N
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)Mike Harris
 
AATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate GameAATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate GameDana Pylayeva
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestCory Foy
 
Contribution in the Drupal community
Contribution in the Drupal communityContribution in the Drupal community
Contribution in the Drupal communityKálmán Hosszu
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesIgor Moochnick
 
Do testers have to code... to be useful?
Do testers have to code... to be useful?Do testers have to code... to be useful?
Do testers have to code... to be useful?lisacrispin
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interviewEric Brooke
 
Digital Tools for Teaching in the 21st Century
Digital Tools for Teaching in the 21st CenturyDigital Tools for Teaching in the 21st Century
Digital Tools for Teaching in the 21st CenturyFederico Espinosa
 
The Journey to LINE TODAY Large-Scale Agile.pdf
The Journey to LINE TODAY Large-Scale Agile.pdfThe Journey to LINE TODAY Large-Scale Agile.pdf
The Journey to LINE TODAY Large-Scale Agile.pdfDerek Chen
 
Advice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsAdvice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsPuppet
 
Mainframes agile2012
Mainframes agile2012Mainframes agile2012
Mainframes agile2012drewz lin
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training ReportRakuten Group, Inc.
 

Ähnlich wie GeneralAssemb.ly Summer Program: Tech from the Ground Up (20)

Genomics data insights
Genomics data insightsGenomics data insights
Genomics data insights
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 
Design Sprints
Design SprintsDesign Sprints
Design Sprints
 
AATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate GameAATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate Game
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
 
Contribution in the Drupal community
Contribution in the Drupal communityContribution in the Drupal community
Contribution in the Drupal community
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best Practices
 
Do testers have to code... to be useful?
Do testers have to code... to be useful?Do testers have to code... to be useful?
Do testers have to code... to be useful?
 
01.intro
01.intro01.intro
01.intro
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interview
 
Digital Tools for Teaching in the 21st Century
Digital Tools for Teaching in the 21st CenturyDigital Tools for Teaching in the 21st Century
Digital Tools for Teaching in the 21st Century
 
The Journey to LINE TODAY Large-Scale Agile.pdf
The Journey to LINE TODAY Large-Scale Agile.pdfThe Journey to LINE TODAY Large-Scale Agile.pdf
The Journey to LINE TODAY Large-Scale Agile.pdf
 
Advice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsAdvice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOps
 
Agile Practices
Agile PracticesAgile Practices
Agile Practices
 
Double diamond-nodes
Double diamond-nodesDouble diamond-nodes
Double diamond-nodes
 
Mainframes agile2012
Mainframes agile2012Mainframes agile2012
Mainframes agile2012
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training Report
 
Project Connect: Connect & Collaborate: Session A: Sept 18
Project Connect: Connect & Collaborate: Session A: Sept 18Project Connect: Connect & Collaborate: Session A: Sept 18
Project Connect: Connect & Collaborate: Session A: Sept 18
 
Tools of the Trade
Tools of the TradeTools of the Trade
Tools of the Trade
 
[XP Day Vietnam 2015] XP is not windows XP
[XP Day Vietnam 2015] XP is not windows XP[XP Day Vietnam 2015] XP is not windows XP
[XP Day Vietnam 2015] XP is not windows XP
 

Mehr von Daniel Doubrovkine

The Future of Art @ Worlds Fair Nano
The Future of Art @ Worlds Fair NanoThe Future of Art @ Worlds Fair Nano
The Future of Art @ Worlds Fair NanoDaniel Doubrovkine
 
Nasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Nasdaq CTO Summit: Inspiring Team Leads to Give Away LegosNasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Nasdaq CTO Summit: Inspiring Team Leads to Give Away LegosDaniel Doubrovkine
 
Open-Source by Default, UN Community.camp
Open-Source by Default, UN Community.campOpen-Source by Default, UN Community.camp
Open-Source by Default, UN Community.campDaniel Doubrovkine
 
Taking Over Open Source Projects @ GoGaRuCo 2014
Taking Over Open Source Projects @ GoGaRuCo 2014Taking Over Open Source Projects @ GoGaRuCo 2014
Taking Over Open Source Projects @ GoGaRuCo 2014Daniel Doubrovkine
 
Tiling and Zooming ASCII Art @ iOSoho
Tiling and Zooming ASCII Art @ iOSohoTiling and Zooming ASCII Art @ iOSoho
Tiling and Zooming ASCII Art @ iOSohoDaniel Doubrovkine
 
The Other Side of Your Interview
The Other Side of Your InterviewThe Other Side of Your Interview
The Other Side of Your InterviewDaniel Doubrovkine
 
Hiring Engineers (the Artsy Way)
Hiring Engineers (the Artsy Way)Hiring Engineers (the Artsy Way)
Hiring Engineers (the Artsy Way)Daniel Doubrovkine
 
Building and Scaling a Test Driven Culture
Building and Scaling a Test Driven CultureBuilding and Scaling a Test Driven Culture
Building and Scaling a Test Driven CultureDaniel Doubrovkine
 
Introducing Remote Install Framework
Introducing Remote Install FrameworkIntroducing Remote Install Framework
Introducing Remote Install FrameworkDaniel Doubrovkine
 
Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012Daniel Doubrovkine
 
Making Agile Choices in Software Technology
Making Agile Choices in Software TechnologyMaking Agile Choices in Software Technology
Making Agile Choices in Software TechnologyDaniel Doubrovkine
 
From Zero to Mongo, Art.sy Experience w/ MongoDB
From Zero to Mongo, Art.sy Experience w/ MongoDBFrom Zero to Mongo, Art.sy Experience w/ MongoDB
From Zero to Mongo, Art.sy Experience w/ MongoDBDaniel Doubrovkine
 
Graduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) TeamsGraduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) TeamsDaniel Doubrovkine
 

Mehr von Daniel Doubrovkine (20)

The Future of Art @ Worlds Fair Nano
The Future of Art @ Worlds Fair NanoThe Future of Art @ Worlds Fair Nano
The Future of Art @ Worlds Fair Nano
 
Nasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Nasdaq CTO Summit: Inspiring Team Leads to Give Away LegosNasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Nasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
 
Product Development 101
Product Development 101Product Development 101
Product Development 101
 
Open-Source by Default, UN Community.camp
Open-Source by Default, UN Community.campOpen-Source by Default, UN Community.camp
Open-Source by Default, UN Community.camp
 
Your First Slack Ruby Bot
Your First Slack Ruby BotYour First Slack Ruby Bot
Your First Slack Ruby Bot
 
Single Sign-On with Waffle
Single Sign-On with WaffleSingle Sign-On with Waffle
Single Sign-On with Waffle
 
How it All Goes Down
How it All Goes DownHow it All Goes Down
How it All Goes Down
 
Taking Over Open Source Projects @ GoGaRuCo 2014
Taking Over Open Source Projects @ GoGaRuCo 2014Taking Over Open Source Projects @ GoGaRuCo 2014
Taking Over Open Source Projects @ GoGaRuCo 2014
 
Mentoring Engineers & Humans
Mentoring Engineers & HumansMentoring Engineers & Humans
Mentoring Engineers & Humans
 
Tiling and Zooming ASCII Art @ iOSoho
Tiling and Zooming ASCII Art @ iOSohoTiling and Zooming ASCII Art @ iOSoho
Tiling and Zooming ASCII Art @ iOSoho
 
Artsy ♥ ASCII ART
Artsy ♥ ASCII ARTArtsy ♥ ASCII ART
Artsy ♥ ASCII ART
 
The Other Side of Your Interview
The Other Side of Your InterviewThe Other Side of Your Interview
The Other Side of Your Interview
 
Hiring Engineers (the Artsy Way)
Hiring Engineers (the Artsy Way)Hiring Engineers (the Artsy Way)
Hiring Engineers (the Artsy Way)
 
Mentoring 101 - the Artsy way
Mentoring 101 - the Artsy wayMentoring 101 - the Artsy way
Mentoring 101 - the Artsy way
 
Building and Scaling a Test Driven Culture
Building and Scaling a Test Driven CultureBuilding and Scaling a Test Driven Culture
Building and Scaling a Test Driven Culture
 
Introducing Remote Install Framework
Introducing Remote Install FrameworkIntroducing Remote Install Framework
Introducing Remote Install Framework
 
Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012
 
Making Agile Choices in Software Technology
Making Agile Choices in Software TechnologyMaking Agile Choices in Software Technology
Making Agile Choices in Software Technology
 
From Zero to Mongo, Art.sy Experience w/ MongoDB
From Zero to Mongo, Art.sy Experience w/ MongoDBFrom Zero to Mongo, Art.sy Experience w/ MongoDB
From Zero to Mongo, Art.sy Experience w/ MongoDB
 
Graduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) TeamsGraduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) Teams
 

Kürzlich hochgeladen

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Kürzlich hochgeladen (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

GeneralAssemb.ly Summer Program: Tech from the Ground Up

  • 1. Daniel Doubrovkine (dB.) @dblockdotorg TECH FROM THE GROUND UP Summer Program – Monday, July 30
  • 2. Take a good idea …
  • 3. … and make working software
  • 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. Day 1  Pick a Code Name this is “Gravity”
  • 6. Day 2  Documents Go Here Hosted Free or Cheap Private Shareable Backed Up  Passwords
  • 7. Day 3  Tasks Go Here Create Tasks Take Tasks Start Tasks Complete Tasks
  • 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. Day 5  Learning Domain Driven Design Taxonomy Specifications Wireframes People
  • 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. Week-End  Sustainable Pace
  • 12. Day 1  A Plan Story: Users Can Sign Up
  • 13. Day 1  Source Control Repository Commit Push Pull Merge
  • 14. Day 1  Code Reviews Peer review of every check-in Shared knowledge Shared responsibility It’s common to push back Reviewboard Crucible
  • 15. Day 1  Your First Commit README GettingStarted.md
  • 16. Day 2  A Friendly Visit 2-3 People Bring Pastries Tell Your Story Be Impressed Ask “Why?” 3x Owe One
  • 17. Day 3: Choosing Technology
  • 19. A Web Stack  Backbone.js  Django  Rails  Python  Ruby  Apache  MongoDB  MySQL  Heroku  Linux  AWS  Rackspace
  • 20. Stacks  Help You Focus on The Domain  Classify Problems  Offer Generic Solutions  Provide Consistent Experience  Map Software Evolution  Enable Reuse of Skills
  • 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))
  • 23. Alternatives: Trustworthy People  It worked before  It didn’t work before  It’s new and shiny  Someone I trust uses it
  • 24. Alternatives: Simplicity  The Emperor’s Old Clothes Charles Hoare, 1981 http://dl.acm.org/citation.cfm?id=358561&bnc=1
  • 25. Alternatives: Developer Happiness  Developers Are Happy with Their Own Choices Cutting Edge Technology
  • 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. Day 4  Implement a Story w/ Tests  Setup Continuous Integration “Writing tests makes development faster, not slower from day one four.”
  • 28. Day 4  Continuous Deployment Development Staging Production Demo
  • 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. 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. 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. Your Resume  Passion to Professionalism  Examples of Doing  Consistent Delivery  Demonstrable Experience  Strong References
  • 33. You  Doer  Humble  Listens  Self-Sufficient  Thorough
  • 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