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 Slide

  2. PRAGMATISM
    first learning

    View Slide

  3. YOU WANT TO DO MORE,
    WITH LESS

    View Slide

  4. POSTGRES UPGRADE CONVERSATION

    View Slide

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

    View Slide

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

    View 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 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 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 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 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 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 Slide

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

    View 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 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 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 Slide

  17. PRAGMATISM: WEIGHTING-IN PROS AND CONS

    View Slide

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

    in other contexts.

    View 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 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 Slide

  21. NO DOGMAS IN THE HOUSE

    View Slide

  22. SURVIVE CHANGE
    second learning

    View 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 Slide

  24. DEFENSIVE PROGRAMMING

    View Slide

  25. DEFENSIVE PROGRAMMING
    ➤How will this feature evolve?

    View Slide

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

    View Slide

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

    View Slide


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

    View Slide

  29. REAL PEOPLE USE
    YOUR SOFTWARE
    third learning

    View Slide

  30. View Slide

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

    View Slide

  32. 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 Slide