Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Things I learned when working on a small startup

Things I learned when working on a small startup

Lightning talk presented in the Ruby User Group in November 2015.
Some lessons I learned while working on a small startup.

José Tomás Albornoz

November 05, 2015
Tweet

More Decks by José Tomás Albornoz

Other Decks in Programming

Transcript

  1. THINGS I LEARNED
    WHEN WORKING ON A SMALL STARTUP
    by @eljojo

    View full-size slide

  2. PRAGMATISM
    first learning

    View full-size slide

  3. YOU WANT TO DO MORE,
    WITH LESS

    View full-size slide

  4. POSTGRES UPGRADE CONVERSATION

    View full-size slide

  5. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: How do we proceed?

    View full-size slide

  6. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: How do we proceed?
    ➤ Arik: Why don't you just go and upgrade it?

    View full-size slide

  7. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: How do we proceed?
    ➤ Arik: Why don't you just go and upgrade it?
    ➤ Jojo: WHAT? Are you NUTS?!! You cannot
    just go and upgrade your database without
    testing it first.

    View full-size slide

  8. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: How do we proceed?
    ➤ Arik: Why don't you just go and upgrade it?
    ➤ Jojo: WHAT? Are you NUTS?!! You cannot
    just go and upgrade your database without
    testing it first.
    ➤ Arik: Why not?

    View full-size slide

  9. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: How do we proceed?
    ➤ Arik: Why don't you just go and upgrade it?
    ➤ Jojo: WHAT? Are you NUTS?!! You cannot
    just go and upgrade your database without
    testing it first.
    ➤ Arik: Why not?
    ➤ Jojo: You just don't do that!

    View full-size slide

  10. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: How do we proceed?
    ➤ Arik: Why don't you just go and upgrade it?
    ➤ Jojo: WHAT? Are you NUTS?!! You cannot
    just go and upgrade your database without
    testing it first.
    ➤ Arik: Why not?
    ➤ Jojo: You just don't do that!
    ➤ Arik: Why is that?

    View full-size slide

  11. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: How do we proceed?
    ➤ Arik: Why don't you just go and upgrade it?
    ➤ Jojo: WHAT? Are you NUTS?!! You cannot
    just go and upgrade your database without
    testing it first.
    ➤ Arik: Why not?
    ➤ Jojo: You just don't do that!
    ➤ Arik: Why is that?
    ➤ Jojo: We could have DOWNTIME.

    View full-size slide

  12. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: How do we proceed?
    ➤ Arik: Why don't you just go and upgrade it?
    ➤ Jojo: WHAT? Are you NUTS?!! You cannot
    just go and upgrade your database without
    testing it first.
    ➤ Arik: Why not?
    ➤ Jojo: You just don't do that!
    ➤ Arik: Why is that?
    ➤ Jojo: We could have DOWNTIME.
    ➤ Arik: So what's the problem with that?

    View full-size slide

  13. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: We could have DOWNTIME.
    ➤ Arik: So what's the problem with that?

    View full-size slide

  14. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: We could have DOWNTIME.
    ➤ Arik: So what's the problem with that?
    ➤ Jojo: Well, our users wouldn't be able to
    visit our website for about half an hour,
    maybe an hour at most.

    View full-size slide

  15. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: We could have DOWNTIME.
    ➤ Arik: So what's the problem with that?
    ➤ Jojo: Well, our users wouldn't be able to
    visit our website for about half an hour,
    maybe an hour at most.
    ➤ Arik: How would we proceed if we wanted
    to ensure that there's no downtime?

    View full-size slide

  16. POSTGRES UPGRADE CONVERSATION
    ➤ Jojo: We could have DOWNTIME.
    ➤ Arik: So what's the problem with that?
    ➤ Jojo: Well, our users wouldn't be able to
    visit our website for about half an hour,
    maybe an hour at most.
    ➤ Arik: How would we proceed if we wanted
    to ensure that there's no downtime?
    ➤ Jojo: I'd probably spend a day preparing an
    upgrade strategy, testing it and ensuring
    everything's goes fine.

    View full-size slide

  17. PRAGMATISM: WEIGHTING-IN PROS AND CONS

    View full-size slide

  18. PRAGMATISM: WEIGHTING-IN PROS AND CONS
    ➤Your fears might have horrible consequences 

    in other contexts.

    View full-size slide

  19. PRAGMATISM: WEIGHTING-IN PROS AND CONS
    ➤Your fears might have horrible consequences 

    in other contexts.
    ➤If you're Amazon and have one minute of downtime,
    you loose thousands of dollars.

    View full-size slide

  20. PRAGMATISM: WEIGHTING-IN PROS AND CONS
    ➤Your fears might have horrible consequences 

    in other contexts.
    ➤If you're Amazon and have one minute of downtime,
    you loose thousands of dollars.
    ➤If we have one hour downtime at non-peak hours,

    we might only loose a couple customers,

    but gain one or more days of work.

    View full-size slide

  21. NO DOGMAS IN THE HOUSE

    View full-size slide

  22. SURVIVE CHANGE
    second learning

    View full-size slide

  23. THE PROBLEM
    Because we discover how users use our product every day, it's not
    uncommon that features take 180 degrees turns.

    View full-size slide

  24. DEFENSIVE PROGRAMMING

    View full-size slide

  25. DEFENSIVE PROGRAMMING
    ➤How will this feature evolve?

    View full-size slide

  26. DEFENSIVE PROGRAMMING
    ➤How will this feature evolve?
    ➤What's the craziest turn this could take?

    View full-size slide

  27. DEFENSIVE PROGRAMMING
    ➤How will this feature evolve?
    ➤What's the craziest turn this could take?
    ➤Will my architecture stand such
    changes?

    View full-size slide


  28. I don't want programming to be the thing that
    slows us down as a company.
    - jojo

    View full-size slide

  29. REAL PEOPLE USE
    YOUR SOFTWARE
    third learning

    View full-size slide

  30. go.switchup.de/developer
    we're hiring!

    View full-size slide

  31. images from http://hubblesite.org/newscenter/
    http://hubblesite.org/newscenter/archive/releases/2012/20/image/f/warn/
    http://hubblesite.org/newscenter/archive/releases/2014/18/image/a/
    http://hubblesite.org/newscenter/archive/releases/2015/12/image/c/warn/
    http://hubblesite.org/newscenter/archive/releases/2015/12/image/d/warn/
    http://hubblesite.org/newscenter/archive/releases/2015/12/image/e/warn/
    http://hubblesite.org/newscenter/archive/releases/2015/12/image/f/warn/

    View full-size slide