Abílio Azevedo.

Assemble - Treinamento para Líderes de Tecnologia - Rocketseat

Cover Image for Assemble - Treinamento para Líderes de Tecnologia - Rocketseat
Abílio Azevedo
Abílio Azevedo

No último final de semana participei de um treinamento para líderes na área de técnologia (Tech Leads) chamado Assemble e conduzido pela Rocketseat. Foi uma ótima oportunidade de reforçar conceitos, validar metodologias e aprender muito conteúdo. Mas o que marcou mais foram as trocas de idéias e o relacionamento entre os participantes. Deixo com vocês algumas anotações que me marcaram, um notion com os conteúdos das palestras, assim como as respostas das dinâmicas do treinamento e no final fiz um plano de ação.

Fernanda Vieira falou sobre o que é Liderar.

"Defino liderança como o processo pelo qual uma pessoa (líder) elicita o compromisso interno de outras pessoas (seguidores) de cumprir uma missão alinhada aos valores do grupo. Liderança é conseguir o que não pode ser tomado e merecer o que é dado livremente." Fonte: Fred Kofman – The Meaning Revolution (Tradução Livre)

Fernanda nos trouxe uma analogia interessante sobre o desenvolvimento de produtos:

PRODUTO

  1. Metodologia - Raízes (sustentação) para o resto rodar, melhoria contínua, inspercionar os processos, dar transparência. O lider não pode estar nos caminhos críticos dos processos, se não o time trava.
  2. Tecnologia - Tronco para sustentar. Ser bom é transitório, temos que refatorar sempre.
  3. Produto - Fruto para entregar valor. O time precisa entender o porquê está trabalhando, fazer um dual track para construção em conjunto do produto.
  4. Pessoas - Elementos naturais que vão alimentar a árvore

Eduardo Matos falou sobre os 4 arquétipos de um lider.

1. Tecnólogo - Focado em tecnologias (Carro autônomo, blockchain...). O perigo é não se preocupar com o business.

2. Humanista - Focado em pessoas. EX: Tony da Zappos, dá 2k USD para a pessoa que escolher sair da empresa depois do onboard. O perigo é ser complacente demais.

3. Processual - Focado em métodos, melhoria contínua (KAIZEN). Perigo é ser lento em casos que é necessário sair dos processos.

4. Executivo - Focado em dados, metas, KPIs e resultados. Perigo é passar por cima de tudo e todos.

Não existe um arquétipo matador, é preciso se conhecer e desenvolver um pouco de cada para ser situacional e balanceá-los.

Eduardo Matos falou sobre o que você precisa fazer para ter uma equipe engajada.

  • Se alguém entra no time já desmotivada, o processo de onboard foi mal conduzido.
  • Precisamos atacar as fontes que estão levando ao desengajamento
  • Tenha interesse genuíno pela pessoa
  • O local mais importante da empresa é a equipe
  • Estimule a colaboração, trabalhe na construção das pessoas como um time (Team Building)
  • Reforce boas ações em público e más no particular
  • Crescimento é diferente de promoção. Mas crescimento leva à promoção. Alinhe espectativas

Lais Mendes falou sobre times comprometidos criam produtos de sucesso.

Requisitos de Produto

  • Gestão de produtos é resolver problemas reais dos clientes de uma maneira que atenda às necessidades do negócio.
  • Pessoas desenvolvedores envolvidas no discovery
  • Partir das dores dos clientes
  • Tomar decisões com base em dados
  • Entregar pequeno e validar rápido

Simara Conceição falou sobre como avançar rumo à liderança técnica usando padrões sensatos

  • Levar para dentro da empresa aprendizados externos;
  • Seja honesto sobre sua situação atual, auto análise;

Padrões sensatos (Thoughtworks) são práticas indicadas para uma entrega extraordinária em três áreas:

1. Tecnologia: Práticas adotadas por nossos times de desenvolvimento.

2. Modo de trabalho: Descreve o dia a dia das nossas equipes e cerimônias;

3. Gestão de entregas: Planejamento e monitoramento da nossas entregas;

- Liderança Técnica: Não são atividades exclusivas da líder, mas ela deve garantir que as atividades aconteçam. - Diagramas de arquitetura; - Documentação de decisões; - Tech Huddles - Reuniões de alinhamento técnico; - Post Mortems - Retrospectiva de incidentes; - Gerenciar, pagar dívidas técnicas e tech radar;

- Segurança: Responsabilidade de todo time. Refere-se à segurança de dados, de segredos e ferramentas. O time implementa uma baseline de controles de segurança. - Dependency Checker; - Nenhum dado de prod chega em pré-prod; - Requisitos de segurança fazem parte do escopo;

- Trunk Based Development: Entregar software com feedback rápido. Evita retrabalho, dá visibilidade sobre incompatibilidades do código, facilita confiança para refatorações. - Time integra mudanças na trunk/main várias vezes ao dia; - Branches duram horas, nuncas dias ou semanas; - Segurança para trabalho que está em progresso - feature flags/toggles;

- Entrega Contínua: Dá confiança de conhecer o caminho pra produção, independente da funcionalidade estar pronta ou não. Todo o time tem segurança de rodar o deploy e tem visibilidade da build. - Build rápido; - Feedback rápido;

- TDD: Design dirigido por testes. Fazer o desenho do software de fora pra dentro. Melhor encapsulamento e modularidade. Códigos limpos e mais fáceis de entender. Testes rodam toda vez que incluímos novas mudanças no código dando feedback rápido e segurança. - Cobertura de testes automatizados; - Testes devem ser parte do escopo; - Código em produção apenas com testes; - Todo time é responsável;

- Gestão efetiva de dívidas técnicas: Continuar adicionando funcionalidades de valor de negócio num ritmo sustentável. Gera qualidade e priorização de trabalho de melhorias. - Métodos efetivos; - Produtividade; - Qualidade; - Redução de riscos; - Esforço de refatoração;

- Pareamento: Diminui o retrabalho, aumenta a qualidade das entregas, aumenta a consistência do time para lidar com ausências e mudanças. - Usar mecanismos de compartilhamento de tela diariamente; - Na maior parte do tempo escrever código de forma coletiva; - Rotacionar de maneira regular para que todas tenham contexto técnico;

- Observabilidade da aplicação: Garantir feedback rápido e resiliência do sistema. Todas devem estar preparadas em caso de falhas e indisponibilidade do serviço.

  • Garantia que a aplicação é observável e suportada em prod
  • DOD garante logs, monitoramento e alertas em prod;

Raphael Cuba falou sobre metodologias e práticas para construção de times de tecnologia de alto nível

Times de alta performance são eficazes.

  • Eficiência: Fazer rápido (o que);

  • Eficácia: Fazer mais com menos (como);

  • Seja resiliente e cuide do seu time;

  • Fortaleça a diversidade de perfis no seu time;

  • Construa a cultura de um time participativo em todas as etapas da criação do seu produto;

  • É menos sobre entrega, é mais sobre o resultado.

  • Feedback antecipado é ouro; Espinha dorsal de produto

Ferramentas:

  1. North star metric - Métrica norte da empresa. EX: Rocketseat - Pessoas desenvolvedoras inexperientes empregadas como desenvolvedores;
  2. OKR com o olhar correto -> Direcionamento para ser eficaz.
  3. Matrizes de priorização (gut, rice, ice, eisenhower...)

Felipe Nunes falou sobre desenvolvendo aplicações modernas e inteligentes com Banco de Dados Grafos

  • Conceito de banco de dados com relacionamento.
  • Relacionamentos e estruturas interconectadas são altamente preditivos e subutilizados – e já estão em seus dados. Os grafos são uma maneira natural de armazenar e usar essas informações preditivas. Grafo

Rodrigo Gonçalves falou sobre testes automatizados em aplicações mobile

  • Garanta a qualidade de suas aplicações;
  • Testes E2E são importantes para validar funcionalidades e também pode inspirar melhorias na usabilidade da aplicação;
  • Detox: Testes E2E para React Native. É preciso do simulador e no CI é preciso de um ambiente preparado para mobile (Bitrise) APP Exemplo com testes. Modelo V Testes

Otávio Lemos falou sobre arquitetura de software - Trade-offs de arquitetura e boas práticas em projetos de software

  • Não abra mão de qualidade, pesquisas mostram que negociar arquitetura e boas práticas não levam a entregar mais rápido.
  • Não acoplar muito os testes a estrutura, mas sim ao comportamento da aplicação;
  • Kent Beck - TDD, CI/CD, Refatoração, Design Simples, Pair Programing;
  • Dave Farley Canal de Tecnologia - Continuous Delivery Dora Metrics

Vinicius Campanate falou sobre Cultura DevOps: base-module e charts

Gabriel Buzzi falou sobre documentação de times de desenvolvimento

  • Pense que você está escrevendo para outras pessoas lerem seu código;
  • Use clean code para o código se auto documentar;

Documente:

  • Times/Responsabilidades
  • API Docs
  • Componentes
  • Integrações
  • Infra
  • Aplicações paralelas

Diego Fernandes falou sobre tendências, a era dos serviços

  • Você não deveria CRIAR NADA que não é core do seu negócio;
  • Não banque o super herói, você vai se tornar o gargalo da empresa;
  • Pare de pensar em escalabilidade técnica e pense em escalabilidade de negócio, você não é pago pelo seu conhecimento técnico e sim pelo resultado que entrega;
  • Escalabilidade é difícil (e caro). Se você não tem profissionais qualificados no assunto, não vale a pena arriscar.

Gabriel Bolzi falou sobre mentalidade de solução: as escolhas difíceis que um tech lead deve fazer e suas vantagens e desvantagens

Gabriel trouxe vários tópicos e fez um painel para discutirmos as aplicações das opções:

  • Monolito x Microserviço
  • Construir do Zero x Consumir Plataformas
  • Especialista x Generalista
  • Testes A/B x Data Driven
  • Tech Lead x Contribuidor Individual

Sergio Fiorotti falou sobre mentalidade de solução: as escolhas difíceis que um tech lead deve fazer e suas vantagens e desvantagens

  • Meça o desempenho dos liderados;
  • Dê feedbacks específicos (baseados em dados) e recorrentes; Onboard -> Offboard

Alex Salgado falou sobre mindfulness e saúde mental

  • “Observabilidade” descreve o quão bem você pode entender o que está acontecendo em um sistema, frequentemente instrumentando-o para coletar métricas, logs ou rastreamentos.
  • Balancear a vida pessoa/profissional: Foque no que realmente importa
  • Gerenciar sobre carga: Elimite hábitos ineficiêntes, peça ajuda e diga não.
  • Lidar com colegas de trabalho: Se auto conheça, aprenda a colaborar, observe, veja as necessidades das pessoas

Jakeliny Gracielly falou sobre como dar feedback técnico e apoiar o crescimento de DEVs do meu time

  • Feedback entre os liderados (pares), Feedback não agressivo. Comece mediando essas reuniões.
  • O objetivo é observar os comportamentos que dificultam o relacionamento interpessoal.
  • As vezes é preciso evoluir na enfase do seu feedback: Eu gostaria que… Eu preciso que… Eu vou ter que te demitir caso você não…

Mayk Brito, Diego Fernandes e Gabriel Buzzi falaram sobre equilíbrio entre velocidade e qualidade, mentalidade de MVP sem abrir mão do refactoring

  • Waze | O Melhor MVP da história (Minimum Viable Product)
  • Feedback contínuo: Validar público, problema, solução.
  • Rocketseat tinha idéia de ensinar empreendedorismo para desenvolvedores. Mas após validações, pivotaram.
  • Regra do escoteiro: Ao sair do lugar ele tem que estar mais limpo de quanto você chegou. Pagar debitos técnicos gradualmente

Metodologias e ferramentas citadas no evento:

- Failure Wall

A ideia era criar uma “parede de falhas”, pegando uma grande parede branca na sala de descanso do escritório e incentivando funcionários e parceiros a anotarem seus maiores erros, em preto e branco, para que todos pudessem ler.

- PDI - Plano de desenvolvimento individual

Desenvolver um plano para desenvolver seus liderados, tanto tecnicamente (https://roadmap.sh/) como com soft-skills.

- Dual Track - Discovery e Delivery

Envolver os desenvolvedores no discovery irá poupar muito tempo e retrabalho futuro.

- Trunk Based Development

É uma prática de gerenciamento de controle de versão em que os desenvolvedores mesclam atualizações pequenas e frequentes em um “tronco” principal ou ramificação principal.

- Backstage - IDP - Internal Developer Platform

Ferramenta para o desenvolvedor documentar (DOC-LIKE-CODE)

- DORA - DevOps Report

https://www.devops-research.com/research.html

- Feedback SCI

Comece pela situação, mostre o comportamento e explique o impacto.

- Janela de Johari

O objetivo é observar os comportamentos que dificultam o relacionamento interpessoal.   Janela de JOHARI

Frases que marcaram:

  1. "Se você tem tempo para corrigir os bugs você tem tempo para escrever testes automatizados"
  2. “Prefira pagar por coisas boas do que desenvolver coisas ruins” - Diego Fernandes
  3. "Determinar para onde você vai é muito mais importante do que como chegar lá. o "como chegar" se modifica, o 'onde chegar' nunca muda" - Chico Montenegro
  4. "O Júnior é o precursor do Sênior" - Otávio Lemos
  5. "64% das funcionalidades que criamos em softwares são raramente ou nunca usadas pelos usuários" Jim Johnson

Notion com materiais:

Embedded content: https://platinum-aletopelta-2e5.notion.site/Assemble-Rocketseat-b33fa5942c1e4813a2bb0c22818a34bd

Plano de ação:

  • ✅ Adicionar colegas participantes para continuar o network
  • ✅ Compilar aprendizados do treinamento em um post.
  • Fazer o teste rápido DORA.
  • Metrificar velocity do time (cicletime, commits, prs);
  • Buscar North Star Metric e passar para o time cultura de eficácia;
  • Dailys falando o que poderia ter feito melhor (microretro);
  • Documentar fluxos de qualidade: Definition of Read, Definition of Done, Pull Requests/Code Review, Testes Automatizados.
  • Fazer POC do Backstage e validar benefícios para empresa;
  • Aplicar testes e2e com DETOX quando o fluxos do app estiverem mais maduros;
  • Montar um RADAR TECH

OBRIGADO ROCKETSEAT, TODOS OS PALESTRANTES E COLEGAS PARTICIPANTES!

certificadoAssembleRocketseat2022


Mais posts

Cover Image for A psicologia do Dinheiro

A psicologia do Dinheiro

Morgan Housel oferece insights valiosos sobre a gestão financeira e tomada de decisões. O autor enfatiza que o sucesso financeiro depende mais do comportamento do que da inteligência ou conhecimento técnico. Housel destaca a importância da visão de longo prazo e da resiliência diante da volatilidade do mercado, encorajando a forcamos na sustentabilidade em vez de ganhos de curto prazo.

Cover Image for Bellsant

Bellsant

Estou na vanguarda do desenvolvimento de um aplicativo de saúde e bem-estar de ponta. Nossa pilha de tecnologia combina React Native para desenvolvimento móvel multiplataforma com um backend NodeJS sem servidor, aproveitando o AWS Lambda para escalabilidade e eficiência de custos.

Abílio Azevedo
Abílio Azevedo

NewsLetter

Eu enviarei o conteúdo postado aqui no blog. Sem Spam =)

Engenheiro de software experiente, formado em Engenharia Elétrica, com mais de 10 anos de experiência prática na construção de aplicativos móveis, web e back-end robustos e escaláveis em vários projetos, principalmente no setor de fintech. Mobile (React Native), Web (React e Next.JS) e Backend (Node.JS, PHP e DJANGO). Meu objetivo é criar produtos que agreguem valor às pessoas. - © 2024, Abílio Azevedo