Pet projects como meio de aprendizado

Pet projects como meio de aprendizado

Esta palestra dá dicas de como ter um pet project e fala como um pet project pode ser efetivo como meio de aprendizagem além de mostrar o case do RagMercado como um pet project na qual foi possível aprender muito.

Fc9eb764fbfae2be2e66da4f3ce62008?s=128

Sérgio Vilar

September 16, 2017
Tweet

Transcript

  1. PET PROJECTS
 COMO MEIO DE APRENDIZADO

  2. None
  3. “FAÇA ALGO QUE GOSTE OU ACABE TRABALHANDO” Biscoito do China

    in Box
  4. COMO SE MANTER
 ATUALIZADO? • Acompanhar Podcasts • Seguir outros

    desenvolvedores no Twitter • Seguir Rimenes no GitHub (github.com/rimenes)
  5. SE MANTER ATUALIZADO TAMBÉM SIGNIFICA ACOMPANHAR O MERCADO

  6. COMO CAIR DE CABEÇA EM UMA ÁREA COMPLETAMENTE NOVA?

  7. LIVROS CURSOS MÃO NA MASSA

  8. PET PROJECTS AO RESGATE

  9. Necessidades reais e fora do script Grande quantidade de pesquisa

    e estudo necessário Melhor forma de aprender é praticando
  10. COMO ENCONTRAR UM PET PROJECT? • Procure ao seu redor

    por um problema real • Busque algo a qual você domine a regra de negócio • Entenda que possivelmente seu público alvo não está
 no seu círculo social
  11. DICAS PARA SE
 MANTER NO PET PROJECT • Evite procrastinar

    • Tente fazer entregas incrementais • Pare e escreva quando necessário • Busque mentoria de alguém já experiente • Quando necessário busque opinião de alguém de fora • Escute seu público alvo
  12. RUBY FINALMENTE!
 COMO EU VIM PARAR AQUI?

  13. MEU BACKGROUND • Programo praticamente todos os dias há 11

    anos • Mais da metade desse tempo em PHP • Recentemente com Javascript
  14. None
  15. None
  16. None
  17. None
  18. STACK INICIAL • Crawler usando Wombat (felipecsl.com/wombat) • Sinatra +

    ActiveRecord • Twitter Bootstrap • Droplet de $5 na DigitalOcean
  19. PRIMEIRAS SEMANAS • Divulgação dentro do jogo e em grupos

    do Facebook e Discord • 5 mil acessos na primeira semana, 10 mil na segunda • Feedback muito positivo da comunidade do jogo • Novos recursos sendo deployados diariamente
  20. SEGUNDO MÊS • 20 mil acessos por semana • Migração

    para Rails 5 • Começo dos ataques DDoS
  21. TERCEIRO MÊS • Série de novos recursos • Passa a

    ser ferramenta oficial do RagnaXP • Quedas constantes devido a DDoS • Outros servidores requisitam o serviço
  22. HORA DE ESCALAR • API plugada diretamente no banco do

    jogo, drop do Crawler • Atualização da base em background com sidekiq • Migração do front-end para o Heroku para lidar com DDoS
  23. HORA DE ESCALAR ɂ Ȑ Browser  Rails PostgreSQL Heroku

    Digital Ocean Ȑ Worker Ȑ Worker Ȑ Worker
  24. HORA DE ESCALAR • Problemas de performance ao consumir API

    • Sidekiq enchendo o Redis com status de jobs já finalizados • Aplicação cheia de queries N+1
  25. COMO RESOLVEU? • Scout ajudou a resolver os problemas de

    N+1 • O Redis do Sidekiq ficou sendo limpo a cada 1h ¯\_(ツ)_/¯ • Amigos ajudaram a melhorar a performance no consumo da API
  26. MercadoXP -> RagMercado • MercadoXP vira RagMercado e passa a

    ser um serviço • Multitenancy usando Apartment (influitive/apartment)
  27. APLICATIVO
 ANDROID • API com Grape + Roar • React

    Native
  28. O QUE EU USEI? • bulma.io para deixar o Front-End

    bonitinho • Devise para autenticação de usuários • ClockWork para recorrência de jobs no Sidekiq • sentry.io para captura de erros em produção • Capistrano para deploys para a DigitalOcean • cronitor.io para notificação caso os jobs parem
  29. UM PET PROJECT PODE
 TE ENSINAR MUITO MAIS DO QUE


    USAR UMA TECNOLOGIA
  30. AGRADECIMENTOS ESPECIAIS • Minha esposa por abrir mão da minha

    companhia por alguns (vários)
 fins de semana • Rimenes por toda mentoria prestada • Joel por sempre opinar e me ajudar com o design da infraestrutura • Amigos da Reliant por dar idéias de como lidar com os problemas 
 de performance
  31. OBRIGADO! ragmercado.info svilar.me