Successfully reported this slideshow.
Your SlideShare is downloading. ×

Beyond your daily coding - The Conf Brazil 2017 Keynote

Beyond your daily coding - The Conf Brazil 2017 Keynote

Download to read offline

So, you're a programmer, software developer, or something like this. Your main work is to develop software to add value to the company you work for. But for sure, your company expects more from you, and that's always many opportunities to add value that maybe you're not observing carefully.

On this talk, I'll tell you a story about introducing Elixir at Globo.com while doing my daily job. From this story and others from my career, I extracted some patterns to share with you, about how to identify these opportunities, create something valuable and convince the company that this is the right move for them.

So, you're a programmer, software developer, or something like this. Your main work is to develop software to add value to the company you work for. But for sure, your company expects more from you, and that's always many opportunities to add value that maybe you're not observing carefully.

On this talk, I'll tell you a story about introducing Elixir at Globo.com while doing my daily job. From this story and others from my career, I extracted some patterns to share with you, about how to identify these opportunities, create something valuable and convince the company that this is the right move for them.

Advertisement
Advertisement

More Related Content

Advertisement

Beyond your daily coding - The Conf Brazil 2017 Keynote

  1. 1. Beyond your daily coding Emerson Macedo @emerleite
  2. 2. 2008
  3. 3. 2008 Some guys created a project using Ruby on Rails when Orkut Apps were cool
  4. 4. 2008 Some guys created a project using Ruby on Rails when Orkut Apps were cool
  5. 5. 2008 Some guys created a project using Ruby on Rails when Orkut Apps were cool
  6. 6. 2008 Ruby on Rails receive a big red flag from lots of influencers inside the company.
  7. 7. 2009
  8. 8. 2009 I was working in a Fotolog web application created using Java J2EE , before Facebook killed all these photo websites
  9. 9. 2009 I was working in a Fotolog web application created using Java J2EE , before Facebook killed all these photo websites
  10. 10. 2009 Inside Big companies, it was very popular to use a Reference Architecture for all applications
  11. 11. 2009 Reference Architecture
  12. 12. 2009 In the end of 2009 a project to create a sing in system for reality shows came to our team
  13. 13. 2009 In the end of 2009 a project to create a sing in system for reality shows came to our team
  14. 14. 2009 We all knew that Ruby on Rails development lifecycle was faster and this project could be a good fit
  15. 15. 2009 Sometimes you have to take risks to achieve important goals and generate high impact
  16. 16. 2009 Sometimes you have to take risks to achieve important goals to generate high impact
  17. 17. 2009 I spend my after work time teaching my coworkers how to program in Ruby and Rails
  18. 18. 2010
  19. 19. 2010 In may, we put again a Ruby on Rails project in production
  20. 20. 2010 The expectation was to deliver in July ,but we delivered the application two months early
  21. 21. 2016
  22. 22. 2017 What about 2010 to 2016? You did nothing?
  23. 23. 2016 After 2010, lots of projects at globo.com were written using Ruby on Rails
  24. 24. 2016 After 2010, lots of projects at globo.com were written using Ruby on Rails Mission Accomplished
  25. 25. Video User Profile Service
  26. 26. CONTEXT User Profile Service was developed in 2012. It’s a well written Ruby on Rails application , responsible for track logged user actions
  27. 27. CONTEXT Our Video Player POST Watched Percentage to our Endpoint so we can provide Keep Watching Percentage to our Logged Users. It does it every 10 secondsx x
  28. 28. CONTEXT Globo is making Binge Watching experiments combined with Online First for new TV Shows TV Shows
  29. 29. CONTEXT Prepare all Video Applications for the Olympics
  30. 30. Online First Binge Watching
  31. 31. THE PROBLEM 2013 10k The throughput increased between 2013 and 2016
  32. 32. 2013 2016 10k 60k THE PROBLEM The throughput increased between 2013 and 2016 ~600%
  33. 33. 2013 2016 10k 60kTHE PROBLEM It was hard to predict the new Appication Throughput 2016 / 2 ?
  34. 34. INFRASTRUCTURE 2 bare metals, each one with 24 CPUs and 64GB of RAM
  35. 35. THE PROBLEM The average response time was good, but percentiles were hurting the application Avg 70ms
  36. 36. 70ms THE PROBLEM The average response time was good, but percentiles were hurting the application 99 2.5s 95 1s Avg
  37. 37. FIRST CHANGE We increased the computational resources from 2 to 4 bare metals
  38. 38. FIRST CHANGE We increased the computational resources from 2 to 4 bare metals Each one with 24 CPUs and 64GB of RAM
  39. 39. 70ms 99 2.5s 95 1s Avg FIRST CHANGE This change improved metrics by ~32%
  40. 40. FIRST CHANGE This change improved metrics by ~32% 9995 1.7s 0.7s Avg 47ms ~32% better
  41. 41. SECOND CHANGE We decided to try a deployment with Tsuru containers with auto scaling, each one with 1-4 vCPU and 2GB of RAM
  42. 42. SECOND CHANGE We decided to try a deployment with Tsuru containers with auto scaling, each one with 1-4 vCPU and 2GB of RAM 93 containers
  43. 43. SECOND CHANGE 9995 1.7s 0.7s Avg 47ms Migrate to containers improved metrics by ~12%
  44. 44. SECOND CHANGE 9995 1.5s 0.5s Avg 41ms Migrate to containers improved metrics by ~12% ~12% better
  45. 45. 2013 2016 10k 60kELIXIR VERSION RESULTS After the Olympics and with Binge Watching, the throughput increased ~50%
  46. 46. 2013 2016 10k 60kELIXIR VERSION RESULTS After the Olympics and with Binge Watching, the throughput increased ~50% 2016 / 2 90k
  47. 47. ELIXIR VERSION RESULTS From 4 bare metals, using 24 CPUs and 64GB of RAM to 33 containers, using 1-4 vCPU and 2GB of RAM 3 containers30 containers ElixirRuby
  48. 48. ELIXIR VERSION RESULTS 9995 1.5s 0.5s Avg 41ms Elixir version improved metrics by ~95%
  49. 49. ELIXIR VERSION RESULTS 9995 30ms 15ms Avg 4ms Elixir version improved metrics by ~95% ~95% better
  50. 50. ELIXIR VERSION RESULTS I presented the Elixir version to the Globo Technology Committee
  51. 51. 2017
  52. 52. 2017 This year we delivered mission critic projects in production at globo.com using Elixir
  53. 53. 2017 This year we delivered mission critic projects in production at globo.com using Elixir Mission Accomplished
  54. 54. HOW TO DO THE SAME? What the story about Ruby on Rails and the story about Elixir have in common?
  55. 55. HOW TO DO THE SAME? First, we have to understand how the game works. It’s simple, we just need to accept it
  56. 56. HOW THE GAME WORKS Your boss wants profit. He pays you a good salary because his expectation is that you will make his company more profitable
  57. 57. HOW THE GAME WORKS You’re paid to deliver value. Your company is not expecting you to write code like a monkey.
  58. 58. HOW THE GAME WORKS Value is recognized with perception. It’s not always fair, but’s the game. Again, we just need to accept it
  59. 59. HOW THE GAME WORKS If your employer trusts you, he’ll be have a better perception about your job and also be more open to your ideas that challenges the status-quo
  60. 60. HOW THE GAME WORKS Start doing your daily job the best you can, so the trust will came. Do not challenge the status-quo before this.
  61. 61. HOW TO DO THE SAME? What the story about Ruby on Rails and the story about Elixir have in common?
  62. 62. HOW TO DO THE SAME? In 2009, Ruby on Rails was probably in the Early Adopters group. Java was for the Laggards
  63. 63. HOW TO DO THE SAME? In 2009, Ruby on Rails was probably in the Early Adopters group. Java was for the Laggards
  64. 64. HOW TO DO THE SAME? In 2016, Ruby on Rails was in the Laggards group and Elixir in the Early Adopters group.
  65. 65. HOW TO DO THE SAME? People may think Globo is always in the Early Adopters group, but it’s not true.
  66. 66. HOW TO DO THE SAME? We’re often between the Early Adopters and Early Majority groups, but be Early Adopter is good for us
  67. 67. HOW TO DO THE SAME? What is the pattern from Ruby on Rails and Elixir story at globo.com?
  68. 68. HOW TO DO THE SAME? Find the opportunities. They’re everywhere. Sometimes it’s not easy to find then, but they’re there. x x x x 1
  69. 69. HOW TO DO THE SAME? Create pet projects or do some freelancer or experiments with the tool you want to introduce in your company 2
  70. 70. HOW TO DO THE SAME? Sell it to your coworkers. You will not have success alone. People often work at a team, so it will be good if they buy your solution 3
  71. 71. HOW TO DO THE SAME? Create a POC with the solution you thought to solve the problem you have identified 4
  72. 72. HOW TO DO THE SAME? Present your results to the stakeholders. They will be the engine to support you spread the solution 5
  73. 73. YouÊre paid to deliver value not code
  74. 74. That’s all folks Emerson Macedo @emerleite https://blog.emerleite.com

×