Na minha experiência pessoal, aprendi em primeira mão como os especialistas em tecnologia podem fazer uma transição perfeita para funções de liderança, gerenciando com eficácia os desafios gerenciais e de produto.
Gostaria de compartilhar com vocês minhas experiências de liderança como exemplo em que determinadas situações apresentaram desafios e oportunidades únicas de crescimento. Embora esses exemplos não possam servir como modelo para responder questões de liderança ou estratégia em entrevistas, eles ilustram como os engenheiros podem encontrar tais oportunidades e desafios que exigem um conjunto de habilidades não técnicas usando seu conhecimento de domínio. Compartilharei alguns exemplos, destacando não apenas conquistas técnicas, mas também decisões estratégicas e ações de liderança que impulsionaram o sucesso.
Em um projeto, enfrentamos o desafio comum de expandir a cobertura de testes e ao mesmo tempo reduzir o tempo do ciclo de testes. Reconhecendo as limitações dos testes manuais, propus uma estratégia óbvia – uma mudança em direção à automação. Contudo, implementar esta estratégia não era uma tarefa que eu pudesse realizar sozinho. Exigiu um esforço colaborativo e conhecimento técnico de toda a equipe. Por meio de planejamento e coordenação meticulosos, desenvolvi o desenho da estratégia e do plano de testes, delineando atividades e sprints, definindo prioridades e elaborando checklists. Com a aprovação das partes interessadas, embarcamos na jornada de implementação de autotestes abrangendo uma ampla gama de entidades e ações. Esta iniciativa produziu resultados notáveis, com uma redução notável de 15% no tempo do ciclo de testes e um aumento significativo na cobertura dos testes.
Encontramos vários bugs ocultos, incluindo grandes vulnerabilidades de segurança, o que levou a um mergulho mais profundo nos testes exploratórios. Ao aproveitar o conhecimento técnico dos membros da minha equipe, descobrimos esses bugs esquivos, fortalecendo nossos produtos contra ameaças potenciais. Tornei as verificações de segurança obrigatórias no ciclo de desenvolvimento antes de enviar quaisquer alterações importantes ou novos recursos. Apesar da falta de experiência, consultei constantemente profissionais de segurança cibernética e formei uma lista de verificação de segurança com o uso adicional de scanners automatizados de vulnerabilidade. Como técnico, aprendi muito ao organizar esse processo. Essa abordagem proativa nos permitiu corrigir problemas em estágios iniciais, evitando danos ao produto e agilizando auditorias de segurança.
Apesar dos nossos melhores esforços, os problemas de integração persistiram, ameaçando o nosso cronograma de desenvolvimento. Reconhecendo a urgência da situação, introduzi e apliquei um KPI para implementação de testes unitários cobrindo 80% da base de código. Além disso, fortalecemos nossa infraestrutura de testes com testes de integração, garantindo a detecção precoce de bugs. Para resolver a lacuna na cobertura de testes para componentes de UI, sugeri uma abordagem semelhante à minha equipe - implementar testes de unidade para 50% dos elementos de UI, desenvolvendo nossa estrutura de testes. O desafio era convencer a equipe a fazer isso, depois conduzir e controlar essas atividades e obter a aprovação das partes interessadas, porque essa estratégia exigia mais recursos e causava atrasos no envio. Porém, com a qualidade superior dos nossos produtos, esta experiência mostrou que a estratégia valeu a pena.
Através de iniciativas de orientação e desenvolvimento profissional, capacitei os membros da equipa a assumirem a responsabilidade pelo seu trabalho, promovendo um sentido de responsabilidade e orgulho pelas suas contribuições.
Um dos aspectos mais gratificantes dos meus desafios de liderança foi a transformação do nosso processo de liberação. Ao estabelecer práticas transparentes de controle de qualidade e priorizar o backlog de bugs, alcançamos lançamentos mais frequentes e estáveis (1 a 2 vezes por semana, em vez de 1 a cada duas semanas). Essa abordagem estratégica resultou em aproximadamente 70% menos problemas de média e alta prioridade em nosso ambiente de produção. Além disso, o número de bugs relatados pelos usuários finais diminuiu cerca de 80% após o envio dos recursos, demonstrando a eficácia de nossas estratégias de teste. Além disso, a velocidade de correção de bugs conhecidos melhorou em até 300%, garantindo uma resolução rápida e minimizando interrupções para nossos clientes.
Ao aliviar gargalos nos testes, alcançamos uma carga de trabalho mais equilibrada para a equipe, detecção precoce de bugs e significativamente menos bugs encontrados após o lançamento. A comunicação eficiente com as partes interessadas, gerentes e equipes de produto facilitou a entrega bem-sucedida de muitos projetos e recursos dentro dos prazos. Além disso, através do contato constante com o FO e BA, liderei iniciativas (escrevi alguns documentos semelhantes a especificações) para sugerir recursos valiosos e melhorias na UI, melhorando a experiência geral do usuário e a qualidade do produto.
Essas iniciativas ressaltaram meu compromisso em promover não apenas a excelência técnica, mas também em promover a colaboração, a eficiência e a inovação dentro da equipe. Ao capacitar os membros da equipe, simplificar processos e promover a comunicação aberta, estabeleci as bases para o sucesso e o crescimento sustentados, tanto para a equipe quanto para a organização como um todo.
As responsabilidades de controle de qualidade estendem-se ao domínio da consultoria de TI, envolvendo a facilitação de melhorias, participação ativa em discussões de problemas e identificação aguçada de problemas. Embora os QAs possam não ter certas competências técnicas para implementação direta, as suas responsabilidades residem em orientar as equipas na direção certa e sugerir soluções viáveis. Essa habilidade de consultoria, muitas vezes esquecida, é crucial para contribuir para um processo de desenvolvimento mais tranquilo e um produto final de qualidade. Um bom controle de qualidade não é alguém com habilidades técnicas perfeitas que possa implementar soluções, mas alguém que possa identificar a causa raiz e orientar a equipe de forma eficaz para corrigi-la. Essa é a mentalidade que prefiro adotar como profissional de controle de qualidade e TI em qualquer equipe de desenvolvimento de software.