Resultados Digitais na The CONF

Publicado por Leonardo Risch e Diogo Busanello no dia dev

rd

Nos dias 29 e 30 de setembro a Resultados Digitais participou do evento The CONF em São Paulo. O foco do evento é trazer mais visibilidade para os outros países, pois temos muitas pessoas boas no Brasil e pouco disso é visto pelo mundo, sendo uma das principais dificuldades a língua portuguesa, com isso todas as palestras do evento foram apresentadas em inglês.

theconf

Essa primeira edição da The CONF trouxe o mesmo princípio de edições anteriores da RubyConf Brasil, com palestras ocorrendo simultaneamente no mesmo auditório e sem áudio externo. O participante poderia ouvir as palestras de cada trilha através de um equipamento de áudio, normalmente utilizados para tradução simultânea.

theconf

Você pode ver mais fotos do evento aqui.

Ao todo tivemos 31 talks no evento e selecionamos algumas talks do evento que vimos para comentar.

Começando pelo keynote de abertura do Fabio Akita, que explicou a motivação de organizar esse evento. Como nós desenvolvedores estamos acostumado a consumir, profissionalmente, materiais em inglês. Mas infelizmente o conteúdo que produzimos em nossos eventos são de difícil acesso para pessoas que não falam o nosso idioma. (Apresentação e Post)

Go concurrency in the real world

Nesta talk do Vitor De Mario, foi abordado as especialidades da linguagem GoLang. O principal foco da talk foi esclarecer como GoLang pode ser muito útil para problemas de concorrência. Toda concorrência da linguagem é baseada em channel (filas bloqueantes) e em goroutines (thread leve, baseado principalmente na diferença que ela cresce dinâmicamente com a necessidade).

Com goroutines é possível rodar diversas rotinas na mesma thread do sistema operacional. Além disso tem outros conceitos que podem ser útil para quem está aprendendo recentemente:

  • Wait Groups: garantir a execução após todas as goroutines tiverem terminado seu trabalho
  • Worker: rodar diversas instâncias de jobs concorrentemente
  • Contexts: incluem um channel que pode ser usado para interromper um trabalho longo e é possível utilizar timeouts junto.

Apresentação, Apresentação online e Vídeo

From “Hello World” to “Hello Smart City”!*

Automação do trabalho manual e análise do nosso processo do país foram as grandes reflexões trazidas pelo Alexandre Calil. Ele trabalha em um centro de inovação para a prefeitura de São Paulo e lá pode constatar diversas falhas nos processos que fazem as coisas fluírem devagar, até mesmo para uma cidade do tamanho de São Paulo.

Foram apresentados alguns dos projetos que o laboratório realizou para a prefeitura. Separamos alguns desses projeto: - O LabDiário busca informações dentro do diário da união e automatiza um processo diário que demandava em torno de 20 minutos de um profissional, além de desperdiçar um grande volume de papel. Isso possibilitou a economia de centenas de milhares de reais anualmente. - Outro projeto visava trazer dados para resolver conflitos entre ciclistas e motoristas, relacionado a ciclovia. Eles desenvolveram um contador de ciclistas na principal ciclovia da cidade e com isso identificar às necessidades de cada grupo. Você pode ver mais deste projeto aqui.

O principal aprendizado é que analisar o processo e identificar tarefas manuais que parecem não afetar muito, podem custar bastante e precisam ser automatizadas.

Beyond your daily coding

O Emerson Leite abriu o segundo dia com um keynote que girou em torno de sua carreira dentro da Globo.com, e como uma empresa “conservadora” adotou tecnologias novas para suas soluções. Primeiro com Ruby, seguido da aplicação mais recente em Elixir.

A Mensagem principal foi: Você é pago para entregar valor, não código

A primeira tentativa de implantar Ruby na Globo falhou, só depois de alguns anos resolveram dar mais uma chance e foi um sucesso. Após isso, várias aplicações começaram a usar a linguagem e foi um grande marco.

Anos se passaram, e Ruby já era maioria entre as aplicações. As Olimpíadas de 2016 se aproximavam e era preciso garantir que o sistema de vídeo aguentaria a demanda maior durante o período. Dobrando o número de máquinas e memória, identificaram que conseguiriam no máximo aumentar 33% a performance, sendo que teria muito custo extra para manter esta operação. Em resumo: não escalaria.

Novamente, Emerson, se viu na condição de procurar uma solução nova para este problema, foi quando eles testaram o Elixir. Alterando este trecho da aplicação para o conceito concorrente do Elixir, trouxe um ganho de 95% no tempo de resposta desse endpoint! Após isso ele foi convidado a apresentar o por quê implantaram a linguagem no projeto e apresentar os prós e contras. Hoje em dia, diversos projetos utilizam a linguagem.

As vezes é preciso assumir o risco para atingir objetivos importantes e gerar um grande impacto

Com isso, o Emerson levantou vários aprendizados na implantação de uma nova tecnologia em uma empresa:

  • Empresas querem lucro, você é pago para entregar valor e não código
  • Não pode escolher a tecnologia pelo motivo dela ser mais cool, o primeiro aprendizado tem que ser sempre lembrado
  • Faça o seu trabalho diário muito bem e seus colegas irão confiar em você em tomadas de decisão
  • POC, você precisa provar que aquilo pode dar certo e não demore a falhar, se este for o caso
  • Encontre as oportunidades e não force a implantação de algo sem visar o valor entregue
  • Venda a ideia para seus colegas
  • Foque no resultado presente que você estará afetando nos usuários

Apresentação

​Keeping Code Style Sanity in a 13-year-old Codebase *

Diretamente do Canadá, Gabriela Stefanini trouxe a experiência em trazer padronização de estilo ao código Rails do Shopify. Um contraponto trazido no início da apresentação é que a imposição de algum padrão de código, vai completamente contra o principio de linguagem divertida que o Matz tinha em mente ao criar a linguagem Ruby. Porém é um mal necessário quando seu projeto é alterado por aproximadamente 500 pessoas.

Ao longo da vida do código do Shopify, Ruby mudou bastante e isso não refletia em algumas partes do código. Ao adicionar o Rubocop o código fonte “explodiu”, então era preciso conter a hemorragia antes de continuar.

O projeto passou por alguma fases. Houve uma preocupação em não atrapalhar o processo de desenvolvimento. E por fim, todo novo Pull Request é analisado por um bot que automaticamente corrige as issues de Rubocop e faz um commit das correções.

Nubank’s experience scaling microservices operations *

Uma das empresas mais queridas pelos brasileiros é a Nubank, dois desenvolvedores da empresa foram apresentar como a empresa escalou a sua operação neste período de crescimento Renan Apse Capaverde e o Gustavo Barrancos.

O processo para escalar a operação teve diversos testes, como apresentaram os palestrantes. Em 2015, todo mundo fazia tudo e a operação ia sendo abandonada, então eles tiveram a ideia de contratar uma pessoa focada em DevOps no time, porém não deu muito certo e eles entenderam que isso faz parte de uma cultura, todos são responsáveis pela operação do produto.

Por volta do início de 2016, o time utilizou o conceito de squad baseado no modelo do Spotify, com esta alteração os times ficaram multifuncionais e isso resultou em um squad de DevOps onde todo mundo pode compartilhar conhecimento sobre o tema com interessados, com isso a cultura é disseminada entre todos os times através de alguns membros, mas o mindset de DevOps é geral, o squad foi criado com o intuito de ter pessoas para espalhar esta cultura entre a empresa. Um ponto extra levantado por eles é que diferentes tamanhos de times, necessitam de diferentes processos, então é sempre bom avaliar a melhor opção.

Conclusão

Em sua primeira edição, a The CONF cumpriu com o seu propósito. Mostrando que temos excelentes profissionais e conseguimos nos comunicar bem com um idioma estrangeiro. E como Akita disse, ao fim desses dois dias temos 30 materiais que serão acessíveis para pessoas de fora.

O evento fechou com um painel de QA sobre trabalhar fora do país. Foi um bate papo para sanar qualquer dúvida que os participantes pudessem ter da experiência de trabalhar fora do país, e contou com três desenvolvedores que trabalham no exterior.

A Resultados Digitais certamente está presente nas próximas edições do evento.

Comente conosco o que você achou do evento!

* As apresentações não foram disponibilizadas até o momento da criação do post

Leonardo Risch

Leonardo Risch

Full Stack Developer

Diogo Busanello

Diogo Busanello

Full Stack Developer

Comentários