Como um engenheiro se transforma em techlida

Quem é o líder da equipe, o arquiteto ou o controle de qualidade e o que eles fazem, em TI, quase tudo é imaginado. Mas, com a compreensão de quem é o especialista técnico, pelo que ele é responsável e como se tornar um, surgem dificuldades. Realizamos dezenas de entrevistas com especialistas de grandes empresas e aprendemos que este é um engenheiro que inicia processos: conecta pessoas e ferramentas com os objetivos da organização. Ele toma a iniciativa e a responsabilidade pelo desenvolvimento tecnológico do produto e cuida da qualidade das soluções técnicas. Além disso, a qualidade não é apenas teste, mas a arquitetura, o design, as práticas e os experimentos de engenharia trabalham com a dívida técnica e o aprimoramento técnico da empresa como um todo.



Também descobrimos que existem muitas conferências para techlides. Mas quase todos eles se concentram em ferramentas, não em práticas e processos de engenharia. Por isso, lançamos a nova conferência TechLead Conf 2020 Online - para aqueles que desejam se tornar um especialista técnico e entender o que é qualidade. 

No TechLead Conf 2020 Online, a pergunta secundária é “Qual ferramenta técnica foi usada para resolver o problema?”. Esta conferência é para aqueles que buscam a qualidade das soluções técnicas e assumem a responsabilidade pelo desenvolvimento tecnológico do produto. De 8 a 10 de junho, estudaremos a experiência de implementar e usar práticas, tecnologia e gerenciamento de processos na empresa. Falaremos mais sobre o programa e sobre o que falaremos no evento.

Programa curto


O programa TechLead Conf 2020 Online vai da discussão do desenvolvimento do techlide à colocação do DDD em prática e consiste em vários blocos.

  • Mapear o desenvolvimento técnico . Ainda há pouco entendimento de quem é e o que faz. E as perguntas de como crescer para o techlide e o que ele deve ser capaz de fazer são feitas com menos frequência; portanto, no primeiro bloco, discutiremos quem é e como se tornar um. 
  • . — , -, « ». , — : , . « ». , MVP.
  • Efeitos retardados das práticas de engenharia . Ao trabalhar com código, o feedback é rápido: escrito, testado, implantado, funciona. Mas no mundo técnico, o resultado de seu trabalho é perceptível apenas depois de meses. Portanto, adicionamos relatórios sobre todas as etapas do ciclo de vida das práticas de engenharia: o surgimento de uma idéia, o MVP, a prevenção de erros e a mensuração dos resultados após um lançamento bem-sucedido em casos reais.

Discuta também: 


Vamos contar com mais detalhes sobre cada bloco e relatórios neles.

Mapa de desenvolvimento de Techlide


Tehlid é o papel de um engenheiro que gerencia processos. Normalmente, esses engenheiros são pelo menos seniores: desenvolvedores, arquitetos, automação, SRE, menos comumente CTO. Às vezes eles podem ser um líder de equipe. Mas o líder da equipe cria equipes, gerencia as pessoas e seu desenvolvimento.
A Tehlid cria processos: toma decisões técnicas que afetam o desenvolvimento do produto diante da incerteza.
Portanto, a conferência não terá relatórios sobre gestão e motivação de pessoas, mas apenas tópicos sobre gerenciamento de tecnologia, liderança técnica e construção de processos de engenharia. E a primeira coisa a aprender é como se tornar um bom técnico.

O sucesso da empresa depende da disponibilidade de fortes especialistas. Já descrevemos como o techlide difere de outras profissões e Vladimir Gorovoy , gerente de produtos de ciência de dados da Yandex.Verticals , diz a Vladimir Gorovoy sobre a diferença entre um bom techlide de outras profissões . Do relatório “ Como se tornar um bom técnico»Descubra por onde começar nosso desenvolvimento, quais habilidades e qualidades bombear. Vladimir compartilhará sua rica experiência em participar da criação dos projetos Yandex.Travel, Yandex.Real Estate e Yandex.Market para ilustrar a tese.

Quanto mais fortes as habilidades, mais fácil é lidar com suas tarefas. Mas a dor não vai a lugar nenhum - eles são praticamente os mesmos para todos os teclados.

  • Escreva código ou participe de uma estratégia de desenvolvimento de tecnologia para o produto e a equipe?
  • Resolver problemas técnicos complexos você mesmo ou delegar?
  • Como não ficar dividido entre escrever código de qualidade e implantar recursos?

Esses e outros conflitos serão resolvidos por Evgeny Korytov . No relatório " Problemas de tecnologia técnica e como resolvê-los? "Eugene lhe dirá como lidar com as tarefas e os problemas dos líderes, com a ajuda de uma estrutura que" resolva problemas ".

Combinando negócios e desenvolvimento


Manter código de alta qualidade e tomar as decisões técnicas corretas não é o trabalho todo. Você também precisa provar constantemente aos negócios e aos clientes a necessidade de investir tempo e energia em tarefas arquitetônicas e técnicas. Alexey Deryushkin da Better Life Company sabe por experiência como é: 15 anos de liderança de equipe e 5 anos de experiência em consultoria. No relatório " Como 'vender' tarefas técnicas para empresas ", ele mostrará como conduzir um diálogo com as empresas para criar recursos interessantes e não esquecer a qualidade usando exemplos de vida.

A luta entre negócios e desenvolvimento é um problema padrão nos projetos de TI. Frequentemente, o negócio não possui TK, mas apenas "idéias" e solicitações. Isso leva a decisões incorretas que precisam ser corrigidas por meses ou mantidas por anos com muletas. Como encontrar um equilíbrio entre desenvolvimento e negócios, Arthur Dementyev compartilhará no relatório " Entre duas luzes: desenvolvimento e negócios ". Arthur em TI desde 2009, no exemplo de histórias da prática, ilustrará diferentes abordagens para a implementação dos recursos do MVP.

Quando os negócios e o desenvolvimento estiverem de acordo, é hora de avançar para a próxima etapa. Agora, a techlide tem vários meses para apresentar um novo produto. Na maioria das vezes, nessas situações, é criado um produto de teste de hipótese de trabalho minimamente trabalhado (MVP). Imediatamente após o teste, o código do protótipo é descartado e o aplicativo é escrito "como deveria". Mas o que fazer quando o lançamento do teste foi bem-sucedido e os usuários reais já moram no "ofício"? Aprendemos com Maxim Arshinov no relatório " Como iniciar o MVP e não transformá-lo em uma dívida técnica ".

Selecionamos e implementamos práticas de engenharia


É sempre difícil implementar algo novo, o mesmo MVP, PL ou estrutura. A novidade pode vir a ser "bruta" e não corresponder às expectativas. Como fazer a escolha certa e " Introduzir uma nova tecnologia e não desperdiçar todos os polímeros " , diz Pavel Mineev , líder da equipe do Rocketbank.

Para a introdução de novos produtos, é ideal usar a governança como uma abordagem de código. Com essa abordagem, todas as regras têm seu próprio ciclo de vida, estão sujeitas a testes e não são diferentes de um produto de software comum. Do relatório de Alexander TokarevGovernança como um código: como cumprir os padrões de desenvolvimento e não atrasar a entrega de recursos»Aprendemos como aplicar essa abordagem: como e o que verificar durante o processo de desenvolvimento de software, como a abordagem permite desenvolver aplicativos mais seguros e de alta qualidade. 

Quando os padrões são implementados, é hora de testá-los, por exemplo, em algo em larga escala - para criar uma plataforma de tecnologia. A MTS é uma grande empresa de TI implementando projetos de telemedicina a IoT. Cada novo projeto estimula a demanda pelo seguinte e reduz o custo de sua criação. Isso só é possível através da implementação das melhores práticas de engenharia. Mas existem dificuldades: centenas de equipes com diferentes níveis e processos, legado, necessidade de "vender" idéias para os negócios. Como as empresas lidam com essas tarefas, aprendemos com o relatório " O que devemos criar uma plataforma de tecnologia?" Um guia passo a passo da ideia à implementação . ” Conta segredos Philipp Bocharov- Gerente de Projetos de Desenvolvimento na MTS IT.

Após a seleção e implementação das práticas de engenharia, o trabalho está apenas começando - você precisa avaliar o resultado. Isso ajudará as métricas: é importante entender não apenas o que está acontecendo com a infraestrutura e o hardware, mas também como cada recurso funciona, para encontrar gargalos e removê-los a tempo. O relatório " Configurar monitoramento e o que vem depois?" » Mikhail Mazein compartilhará métricas no exemplo do ManyChat - uma plataforma na qual um milhão de empresas ativas se comunicam com 800 milhões de seus clientes. O que considerar:

  • como trabalhar com métricas sob carga pesada e com lançamentos regulares;
  • quais monitorar primeiro;
  • como criar um processo de resposta rápida e aprender sobre os problemas no serviço antes dos usuários.

Equipes de plataforma


Voltar para as plataformas. Várias equipes diferentes trabalham em seu desenvolvimento e suporte. Eles são responsáveis ​​por suas zonas, mas não há ninguém responsável por tudo - há dores "através". Esses problemas são resolvidos pelas equipes da plataforma: eles criam a infraestrutura para o desenvolvimento de aplicativos e seu trabalho na produção, ajuda a trabalhar mais rápido e melhor, é responsável por tudo. Como criar uma equipe e aplicar o pensamento do produto, diz Dmitry Vishin , chefe do grupo de desenvolvimento da plataforma goods.ru, em seu relatório “As equipes da plataforma são importantes. Por quê? "

Criar uma equipe de plataforma não é suficiente. Você precisa ser capaz de não decompô-lo antes que alguém comece a usar a plataforma. Desta maneira, guaxinins maus podem ser encontrados. Sim, são guaxinins. De onde vêm os guaxinins e como eles estão relacionados à estabilização da equipe da plataforma, aprendemos com a desenvolvedora líder da MTS, Elizabeth Golenok, no relatório " Team Platform and 4 Evil Raccoons ".

Os relatórios serão complementados por uma mesa redonda de discussão " Equipes da plataforma: benefícios ou malefícios ". Durante a mesa redonda, Philip Uvarov (Spotify) e Andrei Alexandrov (Mafin) discutirão várias questões.

  • Por que esses comandos são necessários e são necessários?
  • Por que ficou na moda criá-los?
  • Existe algum uso para eles ou é hype?
  • « », ?


Apesar de todas as práticas de engenharia e da ajuda das equipes, o techlide escreve o código. Como escrever de forma que o código seja legível e suportado, e não reescreva tudo em um ano? Dois relatórios responderão a essa pergunta.

O primeiro é " Como escrever código legível " , de Grigory Petrov , chefe de relações com desenvolvedores da Evrone. Gregory organiza desenvolvimento, conferências ( Moscow Python Conf ++ ), hackathons, neurofisiologista generalista e amador. Como resultado, o relatório terá muita neurofisiologia, intuição cognitiva e social. Mas o principal é que Gregory lhe dirá de onde vem a complexidade do código, por que não pode ser removido e como conviver com ele.

O segundo é o relatório “ Balanço de contradições. Seleção das melhores práticas no código e na equipe » Gleb Lobastov. Gleb é consultor técnico e líder da equipe de desenvolvimento da OneTwoTrip com 10 anos de experiência. O relatório compartilhará abordagens para escrever código "bom" - compreensível e conveniente de apoiar, e responderá a várias perguntas:

  • o que considerar ao implementar as melhores práticas do ponto de vista do projeto e da equipe;
  • o principal inimigo do bom código e como lidar com ele;
  • contradições na prática de escrever um bom código.

Tudo isso com exemplos, com um conjunto de princípios e práticas para escrever código dos quais você pode se orgulhar.

Legado e refatoração


O tópico do código, ou melhor, o código antigo, continuará no bloco sobre legado e refatoração. Muitos estão familiarizados com a análise estática como uma ferramenta conveniente. Mas às vezes surgem dificuldades, por exemplo, quando o projeto possui um enorme banco de dados de código legado. Quando a análise estatística encontra erros, o que fazer com eles? Como equilibrar as correções de erros antigos e capturar novos? Aprendemos com o relatório “ Como corrigir centenas de erros no código legado e não morrer (por exemplo, Unreal Engine 4) ”, de George Gribkov .
Você pode refatorar não apenas o código, mas também a arquitetura, a infraestrutura e os processos.
Qualquer empresa de TI de longa duração enfrenta uma desaceleração nos processos de produção. É provocado por muitos fatores, por exemplo, a complexidade da tecnologia e um aumento no número de funcionários. Isso leva ao fato de que a coordenação é adiada, ninguém assume responsabilidade e os sistemas se tornam frágeis. Lev Goncharov (T-Systems) em seu relatório “ Acordos como código: como refatorar processos e não quebrar ” compartilhará histórias de 14 anos de experiência que ajudarão a acelerar os processos de infraestrutura e torná-los explícitos.

Após refatorar os processos de infraestrutura, você pode prosseguir para padronizá-lo. Por exemplo, livre-se do "zoológico" da tecnologia. Como fazer isso no exemplo da experiência de padronizar a infraestrutura de um aplicativo grande em particular, Ilya Mitrukov dirá- Gerente de infraestrutura (responsável técnico da segurança da informação) do Deutsche Bank Technology Center. 

O relatório “Os deuses não queimam panelas. Padronização da infraestrutura ”, não haverá nada sobre a atualização de tecnologias, soluções inovadoras,“ Cosmos ”tecnológico ou pipelines CI / CD. Haverá apenas uma vida de infraestrutura de alguns anos de projetos, minimizando custos e apoiando o desenvolvimento de negócios.

Do código, processos e infraestrutura, vamos para a refatoração de tecnologia. Como traduzo um projeto que compromete 70 pessoas por dia no React e no TypeScript para que ninguém perceba? Pediremos à Yandex, ou melhor, Evgeny Dashkevich , a chefe do grupo Yandex. No relatório “ Como mudar para uma nova tecnologia para que 70 desenvolvedores não notem nada"Eugene compartilhará o histórico de traduções e as razões para atualizar a pilha técnica no projeto, que gera milhões de combinações diferentes de resultados de pesquisa por dia.

DDD, Armazenamento de Eventos e Gerenciamento de Conhecimento


Nesta seção da conferência, falaremos sobre design, usando as abordagens e práticas do DDD - Domain Driven Design (design específico do domínio). Muitas vezes, é abandonado devido ao fato de ser uma metodologia sem indicações claras do que e como fazer. Mas o Raiffeisenbank usa práticas DDD em vários projetos há 5 anos para decompor o sistema em microsserviços, se comunicar com os clientes e dentro das equipes e criar aplicativos que não resistem a novos requisitos. Como aplicar a abordagem, que pratica usar e evitar erros, aprendemos com o relatório de Konstantin Gustov " Como domar o DDD ".

Existem muitas práticas no DDD. Um deles é o Event Storming. Facilita o trabalho adicional no campo de DDD e design de microsserviços. Ao criar um sistema em microsserviços, você pode criar facilmente um monólito distribuído. O Event Storming não protege contra isso em 100%, mas pode reduzir significativamente o risco. Sobre como, com exemplos práticos, no relatório de Sergey Baranov (ScrumTrek) " Modelando microsserviços usando Event Storming ".

Quando descobrimos o que o técnico está fazendo, como desenvolver e implementar práticas de engenharia, passamos ao armazenamento, gerenciamento, compartilhamento de conhecimento e rastreamento de soluções técnicas em uma equipe. Por exemplo, o gerenciamento do conhecimento é necessário quando os desenvolvedores criam funcionalidades semelhantes em diferentes partes de um grande projeto. Eles gastam muito mais tempo e recursos nisso do que se combinassem seus esforços.

Ilya Kashlakov chefia o departamento de desenvolvimento front-end de 50 pessoas em Yandex.Money. Com tantos desenvolvedores, é vital compartilhar conhecimento e ficar de olho na arquitetura. O relatório “ Logic Review - como uma ferramenta para tomar decisões técnicas complexas"Ilya falará sobre essa ferramenta: como eles criaram a Revisão Lógica, quais métricas foram coletadas e como determinaram o sucesso desse processo. Tudo isso com exemplos de problemas, uma descrição das mudanças que ocorreram no processo desde o início até os dias atuais.

Para a implementação de projetos, precisamos de muita documentação. Para armazená-lo, use, por exemplo, linguagens de marcação leves: Markdown, reStructuredText, Asciidoc. Eles são fáceis de escrever e os arquivos são convenientemente armazenados no repositório. No workshop “ Como publicar o Markdown e o RST? Revisão de ferramentas modernas de documentação ", falaremos sobre como aplicá-las a techlides:

  • Konstantin Valeev (Rostelecom IT) compartilhará uma maneira de criar PDF e HTML personalizados a partir de fontes Markdown;
  • Sêmen Faktorovich (documentat.io) falará sobre a “faca suíça” de Pandoc e como derrotar a geração DOCX com ela;
  • Nikolai Volynkin (Plesk) - como gerar enormes portais HTML usando o Sphinx-doc.

Três oradores compartilharão sua experiência e todos poderão fazer sua própria pergunta sobre o assunto.

TechLead Conf 2020 Online para quem quer se transformar em techlida


Conferência TechLead Conf 2020 Online para tehlidov e aqueles que desejam se tornar engenheiros, desenvolvedores, líder de equipe, controle de qualidade, gerentes de desenvolvimento. Mesmo se você ainda não é técnico, venha para a conferência e colete instruções sobre como se tornar um - um mapa das competências técnicas. 

Toda a conferência será realizada em um novo formato - online. Graças a isso, adicionamos mais conteúdo em três dias do evento do que off-line: mais de 30 relatórios, palestras (relatos breves com respostas a perguntas), OST para troca de experiências, mesa redonda e vários formatos de rede. Preparamos um cronograma para o programa - veja, marque seus relatórios favoritos ou master classes no calendário para não perder.

Um novo formato - novos preços, para que mesmo nesses tempos estranhos você possa continuar desenvolvendo e mantendo contatos com colegas de outras empresas. Reserva de bilhetes - o preço de 5900 para indivíduos ajudará a manter-se a par de novos produtos no setor ou a adquirir uma nova profissão.

Todos os participantes da conferência online na Conta Pessoal podem oferecer suas perguntas para discussão, solicitar ajuda em uma tarefa de trabalho ou iniciar uma discussão interessante e relevante. Lá você pode votar imediatamente em tópicos interessantes. Os autores das melhores idéias receberão um ingresso gratuito para a conferência selecionada, onde a discussão proposta será organizada.

29 18:00 -. , maturity model.

. . live-, Spring Cloud Contract Pact. , .

All Articles