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

Permanecendo Relevante

Nando Vieira
September 24, 2016

Permanecendo Relevante

Ruby (e Rails) é maravilhoso. Mas não é mais a última ferramenta lançada e que chama a atenção como antes. O ecossistema de tecnologia demanda novas soluções, quem tem mais destaque porque estão em todos os lugares, desde a página inicial do HackerNews até artigos publicados o tempo todo.

Isso nos afeta diretamente; menos vagas de trabalho, menos projetos interessantes para se trabalhar, mais infelicidade.

Nessa palestra iremos discustir o estado atual da comunidade, como podemos continuar relevantes e porque ferramentas estáveis são igualmente importantes.

Palestra apresentada na Rubyconf Brasil 2016

Vídeo disponível em https://youtu.be/XDEzelGp6Os

Nando Vieira

September 24, 2016
Tweet

More Decks by Nando Vieira

Other Decks in Programming

Transcript

  1. RUBY ON RAILS
    PERMANECENDO RELEVANTE
    @fnando

    View full-size slide

  2. NANDO VIEIRA

    View full-size slide

  3. VAMOS FALAR SOBRE O
    ESTADO ATUAL.
    Como anda o nosso ecossistema e comunidade.

    View full-size slide

  4. http://rubyonrails.org

    View full-size slide

  5. http://contributors.rubyonrails.org/releases/5-0-0/contributors

    View full-size slide

  6. https://rubygems.org/stats

    View full-size slide

  7. https://basecamp.com

    View full-size slide

  8. https://www.heroku.com/home

    View full-size slide

  9. https://codeclimate.com

    View full-size slide

  10. https://github.com

    View full-size slide

  11. https://shopify.com

    View full-size slide

  12. https://travis-ci.com

    View full-size slide

  13. https://kickstarter.com

    View full-size slide

  14. http://trends.builtwith.com/framework/Ruby-on-Rails

    View full-size slide

  15. VISIBILIDADE DO RUBY E
    RAILS NO MUNDO.
    Como está a percepção de nossas ferramentas e
    comunidades.

    View full-size slide

  16. O RAILS JÁ TEM 10 ANOS DE
    EXISTÊNCIA.
    Não podemos negar que o Rails deixou de ser
    bleeding edge faz tempo.

    View full-size slide

  17. FERRAMENTAS ESTÁVEIS
    SÃO IMPORTANTES.
    Muitas empresas não podem se dar ao luxo de usar
    tecnologias que estão em constante mudança.

    View full-size slide

  18. FERRAMENTAS ESTÁVEIS
    NÃO GERAM HYPE.
    Desenvolvedores gostam de novidades e novidades
    geram mais barulho.

    View full-size slide

  19. https://news.ycombinator.com/item?id=10600017

    View full-size slide

  20. https://news.ycombinator.com/item?id=10600017

    View full-size slide

  21. https://g.co/trends/wj4pw

    View full-size slide

  22. ESSA PERCEPÇÃO PODE
    SER NEGATIVA.
    Menos pessoas irão adotar uma ferramenta quando
    elas tiverem a percepção de uma tecnologia está
    “morrendo”.

    View full-size slide

  23. http://www.indeed.com/jobtrends/q-Ruby-on-Rails.html?relative=1
    RUBY ON RAILS

    View full-size slide

  24. http://www.indeed.com/jobtrends/q-Node.js.html?relative=1
    NODE.JS

    View full-size slide

  25. QUEM DECIDE NÃO RECEBE
    A MENSAGEM CORRETA.
    Desenvolvedores são formadores de opinião dentro
    das empresas e podem não estar passando a
    mensagem correta.

    View full-size slide

  26. MITO #1
    MITO #2
    MITO #3
    MITO #4
    MITO #5
    Rails não escala
    Ruby é lento
    É difícil contratar devs
    Devs Ruby são caros
    Rails/Ruby está morto
    FEAR,
    UNCERTAINTY
    AND DOUBT

    View full-size slide

  27. POPULARIDADE AJUDA NA
    EVOLUÇÃO DA TECNOLOGIA.

    Ferramentas populares possuem mais
    desenvolvedores contribuindo e mais empresas
    patrocinando projetos.

    View full-size slide

  28. MANTER O ECOSSISTEMA
    NÃO É TAREFA SIMPLES.
    Nosso ecossistema possui muitos projetos estáveis.
    Também possui muitos projetos legados.

    View full-size slide

  29. PRECISAMOS CONTINUAR
    COMPETITIVOS.
    E para isso precisamos manter projetos importantes
    de nosso ecossistema.

    View full-size slide

  30. RUBY TOGETHER
    https://rubytogether.org

    View full-size slide

  31. RUBYGEMS
    https://rubygems.org

    View full-size slide

  32. BUNDLER
    http://bundler.io

    View full-size slide

  33. COMO A COMUNIDADE
    RUBY É ESSENCIAL.
    Nossa comunidade tem um papel essencial na
    continuidade de projetos.

    View full-size slide

  34. PESSOAS VEM E VÃO E O
    CICLO SE RENOVA.
    Muitos desenvolvedores que fizeram a diferença no
    mundo Ruby/Rails não fazem mais parte da
    comunidade.

    View full-size slide

  35. http://elixir-lang.org

    View full-size slide

  36. http://elixir-lang.org
    elixir

    View full-size slide

  37. https://en.wikipedia.org/wiki/Jim_Weirich

    View full-size slide

  38. A SAÍDA DE DEVS DE UMA
    COMUNIDADE É NORMAL.
    Ferramentas são apenas ferramentas. E elas podem
    não fazer mais sentido para desenvolvedores de
    tempo em tempos.

    View full-size slide

  39. FACILITE A CONTRIBUIÇÃO
    DE INICIANTES.
    Fazer com que o processo de contribuição seja algo
    que inclua iniciantes irá trazer mais contribuições
    para o projeto.

    View full-size slide

  40. https://github.com/rails/rails/issues

    View full-size slide

  41. DIVERSIDADE E INCLUSÃO
    SÃO IMPORTANTES.
    Outra maneira de trazer mais pessoas para a
    comunidade é criar um ambiente que facilite a
    inclusão e diversidade.

    View full-size slide

  42. http://railsgirls.com

    View full-size slide

  43. http://contributor-covenant.org

    View full-size slide

  44. http://www.rubyconf.com.br/pt-BR/codeofconduct

    View full-size slide

  45. COMO ANDA A EVOLUÇÃO
    DO RUBY E RAILS
    O que está acontecendo com as tecnologias que
    usamos.

    View full-size slide

  46. MITO: RUBY É LENTO E NÃO
    FAZ SENTIDO USÁ-LO.
    O Ruby é rápido bastante para a maioria das
    aplicações.

    View full-size slide

  47. O RUBY FICA DE 5-10% MAIS
    RÁPIDO A CADA VERSÃO.
    O objetivo é que o Ruby 3 seja 3 vezes mais rápido
    que o Ruby 2.0.

    View full-size slide

  48. https://m.signalvnoise.com/ruby-has-been-fast-enough-for-13-years-afff4a54abc7

    View full-size slide

  49. “Um dos conselhos que damos na
    YCombinator é fazer coisas que não
    escalam.
    Recrutar usuários manualmente é a
    coisa que não escala mais comum
    que founders tem que fazer no início.”
    http://paulgraham.com/ds.html

    View full-size slide

  50. START-UPS: ITERAÇÕES
    RÁPIDAS E CONSTANTES.
    Com seu ecossistema completo, start-ups podem
    implementar funcionalidades rapidamente.

    View full-size slide

  51. O RAILS ESTÁ EM PROCESSO
    EVOLUTIVO CONSTANTE.
    Os desenvolvedores do core implementam a visão
    que DHH julga ser a melhor para o framework e
    comunidade como um todo.

    View full-size slide

  52. O RAILS É ESFORÇO DE
    TODA UMA COMUNIDADE.
    Os desenvolvedores do Core implementam, em
    grande parte, a visão que DHH julga ser a melhor para
    o framework e comunidade como um todo.

    View full-size slide

  53. NEM SEMPRE ESSA VISÃO
    FAZ SENTIDO PARA TODOS.
    Desenvolvedores que tem voz na comunidade fazem
    bastante barulho.

    View full-size slide

  54. http://solnic.eu/2016/05/22/my-time-with-rails-is-up.html

    View full-size slide

  55. STACK
    OMAKASE
    Minitest, eRb, MySQL, Fat
    Models, Skinny Controllers
    STACK
    PRIME
    RSpec, Haml, PostgreSQL,
    Skinny Models, Service Layer
    http://words.steveklabnik.com/rails-has-two-default-stacks

    View full-size slide

  56. SÓ QUEREMOS ESCREVER
    APLICAÇÕES MELHORES
    Muita gente está tentando atingir o estado da arte
    criando novas técnicas.

    View full-size slide

  57. http://trailblazer.to

    View full-size slide

  58. http://cbra.info

    View full-size slide

  59. http://confreaks.tv/videos/rubymidwest2011-keynote-architecture-the-lost-years

    View full-size slide

  60. BOM DESIGN DE
    APLICAÇÕES É DIFÍCIL.
    Não existe apenas um jeito certo de fazê-lo. O que
    funciona para alguns casos, não funcionará em
    outros.

    View full-size slide

  61. PRÓS E CONTRAS DEVEM
    SER CONSIDERADOS.
    A decisão deve pesar experiência do time e o quanto
    de flexibilidade e rapidez você precisa para
    desenvolver.

    View full-size slide

  62. PODE FAZER UM RESUMO
    PARA MIM?
    tl;dw

    View full-size slide

  63. 2005
    2010
    2014
    2015
    Rails veio para matar o Java
    Node.js veio para matar o Rails
    Elixir veio para matar o Ruby
    Phoenix veio para matar o Rails
    LINGUAGENS E FRAMEWORKS

    View full-size slide

  64. 2006
    2010
    2011
    2014
    jQuery veio para matar o Prototype
    Angular veio para matar o jQuery
    Ember veio para matar o Angular
    React veio para matar o Ember
    BIBLIOTECAS CLIENT-SIDE

    View full-size slide

  65. 1
    2
    3
    4
    5
    Visibilidade
    Tempo
    Technology Trigger
    Peak of Inflated
    Expectations
    Trough of
    Disillusionment
    Slope of Elightment
    Plateu of Productivity

    View full-size slide

  66. O RAILS SEMPRE BUSCOU A
    PRODUTIVIDADE.
    Quando você tem produtividade constante, você
    consegue focar em seu produto e adicionar valor ao
    negócio.

    View full-size slide

  67. RUBY ON RAILS
    Plateau of Productivity

    View full-size slide

  68. NO FINAL, NÃO É ISSO O
    QUE QUEREMOS?
    Código bom é código em produção, rodando com
    usuários reais.

    View full-size slide

  69. @fnando
    OBRIGADO.

    View full-size slide