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

From no code to a profitable business

From no code to a profitable business

It took us four years to grow from an ambitious idea to a profitable business, with a small team and not a lot of resources. I'll tell you how making "just enough" and "good enough", with a fine mix of various best practices, a lot motivation and some Ruby, we've managed to build a fast-growing product and a happy company.

The video is available on YouTube : http://www.youtube.com/watch?v=F8hH_5LKrQY

A french version is available : https://speakerdeck.com/jlecour/dune-feuille-blanche-a-une-affaire-rentable

Jérémy Lecour

June 20, 2013
Tweet

More Decks by Jérémy Lecour

Other Decks in Technology

Transcript

  1. From no line of code
    to a profitable business
    The one where we don’t have to be perfect to succeed
    RuLu 2013, June 20-21

    View full-size slide

  2. Look ma’, I speak at a conference

    View full-size slide

  3. great models, but hard to reach
    when you begin

    View full-size slide

  4. 4 years
    small team big goals

    View full-size slide

  5. from a prototype
    to many applications

    View full-size slide

  6. we haven’t been perfect
    but we won anyway

    View full-size slide

  7. with great people
    you can do great things

    View full-size slide

  8. Jérémy Lecour
    hotelhotel.com

    View full-size slide

  9. this team is too small
    to do anything significant

    View full-size slide

  10. No world-class expert
    No money to hire some
    Do all the things by yourself

    View full-size slide

  11. 4 roles
    main
    in the developer’s job

    View full-size slide

  12. rocket surgeon

    View full-size slide

  13. you can wear any of those hats
    but switching all the time if exhausting

    View full-size slide

  14. WORKING IS HARD
    LET’S GO SHOPPING!
    DEAL WITH IT

    View full-size slide

  15. imperfect everywhere
    is better than
    very bad anywhere
    iOS 7 style
    Comic Sans MS

    View full-size slide

  16. frequent changes in technologies
    use what you need now, change it later (if needed)

    View full-size slide

  17. with a good background you can make
    quick and educated choices

    View full-size slide

  18. we’ve changed the data store
    and it’s not that bad
    3x

    View full-size slide

  19. hotels are sold
    by many merchants
    at different prices

    View full-size slide

  20. 2,100 hotels, 17 merchants
    30 external requests
    20K prices saved by 15 threads
    30-90 seconds to complete
    a search for PARIS :

    View full-size slide

  21. at first MySQL was easy
    and did the job

    View full-size slide

  22. then it was no longer a good fit
    too much work on lots of data

    View full-size slide

  23. MongoDB documents
    {
    "search_results": [
    {
    "hotel": {
    "name": "Sofitel Marseille",
    "rating": 4,
    },
    "merchants": {
    "accor": 145.20,
    "expedia": 150.00,
    "ratestogo": "full"
    }
    },{
    "hotel": {
    "name": "Radisson Blu",
    "rating": 4,
    },
    "merchants": {
    "hotelclub": 150.00,
    "expedia": 154.00,
    "booking": "full"
    }
    }
    ]
    }

    View full-size slide

  24. under bigger load
    MongoDB freaked out too

    View full-size slide

  25. -5ms ➘ +250ms
    database locked 99%

    View full-size slide

  26. some optimization helped
    for a while

    View full-size slide

  27. if you #fail spectacularly
    hopefully you can rollback

    View full-size slide

  28. ElasticSearch
    very fast indexing database
    awesome REST API

    View full-size slide

  29. experience & knowledge
    are gained along the way

    View full-size slide

  30. learning and sharing
    all the f•••ing time

    View full-size slide

  31. #TGIF
    LET’S GO LEARNING

    View full-size slide

  32. conferences
    local user groups
    code-retreats, coding-dojos
    open-source contributions
    explore, meet, share

    View full-size slide

  33. have people who care
    for the team, the product and the craft

    View full-size slide

  34. passionate
    value the result
    more than being at your desk

    View full-size slide

  35. self-driven
    You manage things,
    You lead people.
    Grace Murray Hopper
    aka. Grandma COBOL

    View full-size slide

  36. self-driven
    micro-management
    is a waste of time

    View full-size slide

  37. open-minded
    different background and expectations
    bring new perspectives and better solutions

    View full-size slide

  38. an {A,a}gile attitude
    … well, kinda, sorta

    View full-size slide

  39. cherry picking FTW!
    Scrum, XP, Kanban, Lean, …

    View full-size slide

  40. No formal stand-up meetings
    we all know each other’s status
    BUT

    View full-size slide

  41. WE DON’T ALWAYS DO
    PAIR-PROGRAMMING
    BUT WHEN WE DO, IT’S FOR
    knowledge sharing
    critical code
    and fun

    View full-size slide

  42. a small team can move rapidly

    View full-size slide

  43. Git-flow
    simplified
    we’ve adopted

    View full-size slide

  44. change doesn’t need global approval
    we try, then keep or ditch new tools and practices all the time

    View full-size slide

  45. Don’t break the team’s dynamics
    Refine processes incrementally

    View full-size slide

  46. empirical:
    based on, concerned with, or verifiable
    by observation or experience
    rather than theory or pure logic.
    empiricism:
    the theory that all knowledge
    is based on experience
    derived from the senses.

    View full-size slide

  47. we are not a model
    we could have done better

    View full-size slide

  48. have great goals
    improve gradually

    View full-size slide

  49. 4 years
    intense highly rewarding
    thanks to awesome people

    View full-size slide

  50. Dave Thomas
    RailsConf 2010
    You don't have to be perfect, you
    just have to survive.
    And along the way, remember that
    the reason you're doing it, is to
    make it fun.

    View full-size slide

  51. Thank
    You
    with a special to Fabien Catteau

    View full-size slide

  52. [email protected]
    @jlecour
    jeremy.wordpress.com
    github.com/jlecour

    View full-size slide