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

7d1caf9df777b3b2cf474ff743494335?s=128

Jérémy Lecour

June 20, 2013
Tweet

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
  2. Look ma’, I speak at a conference

  3. WWAPD?

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

  5. 4 years small team big goals

  6. from a prototype to many applications

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

  8. with great people you can do great things

  9. Jérémy Lecour hotelhotel.com

  10. this team is too small to do anything significant

  11. No world-class expert No money to hire some Do all

    the things by yourself
  12. 4 roles main in the developer’s job

  13. architect

  14. builder

  15. rocket surgeon

  16. firefighter

  17. you can wear any of those hats but switching all

    the time if exhausting
  18. WORKING IS HARD LET’S GO SHOPPING! DEAL WITH IT

  19. imperfect everywhere is better than very bad anywhere iOS 7

    style Comic Sans MS
  20. frequent changes in technologies use what you need now, change

    it later (if needed)
  21. with a good background you can make quick and educated

    choices
  22. we’ve changed the data store and it’s not that bad

    3x
  23. hotels are sold by many merchants at different prices

  24. 2,100 hotels, 17 merchants 30 external requests 20K prices saved

    by 15 threads 30-90 seconds to complete a search for PARIS :
  25. at first MySQL was easy and did the job

  26. then it was no longer a good fit too much

    work on lots of data
  27. 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" } } ] }
  28. under bigger load MongoDB freaked out too

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

  30. some optimization helped for a while

  31. if you #fail spectacularly hopefully you can rollback

  32. ElasticSearch very fast indexing database awesome REST API

  33. experience & knowledge are gained along the way

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

  35. #TGIF LET’S GO LEARNING

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

    share
  37. have people who care for the team, the product and

    the craft
  38. passionate value the result more than being at your desk

  39. self-driven You manage things, You lead people. Grace Murray Hopper

    aka. Grandma COBOL
  40. self-driven micro-management is a waste of time

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

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

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

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

    BUT
  45. WE DON’T ALWAYS DO PAIR-PROGRAMMING BUT WHEN WE DO, IT’S

    FOR knowledge sharing critical code and fun
  46. a small team can move rapidly

  47. Git-flow simplified we’ve adopted

  48. change doesn’t need global approval we try, then keep or

    ditch new tools and practices all the time
  49. Don’t break the team’s dynamics Refine processes incrementally

  50. 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.
  51. we are not a model we could have done better

  52. have great goals improve gradually

  53. 4 years intense highly rewarding thanks to awesome people

  54. 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.
  55. Thank You with a special to Fabien Catteau

  56. jeremy.lecour@gmail.com @jlecour jeremy.wordpress.com github.com/jlecour