<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Waldyr Felix on Medium]]></title>
        <description><![CDATA[Stories by Waldyr Felix on Medium]]></description>
        <link>https://medium.com/@waldyrfelix?source=rss-c51da7ffd2ae------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*25NKa2pIEEEeUQjeSmHkRQ@2x.jpeg</url>
            <title>Stories by Waldyr Felix on Medium</title>
            <link>https://medium.com/@waldyrfelix?source=rss-c51da7ffd2ae------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 21:49:50 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@waldyrfelix/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[IA Generativa: O que é, como funciona, aplicação nos negócios e como os executivos podem…]]></title>
            <link>https://waldyrfelix.com.br/ia-generativa-o-que-%C3%A9-como-funciona-aplica%C3%A7%C3%A3o-nos-neg%C3%B3cios-e-como-os-executivos-podem-72de8baa6277?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/72de8baa6277</guid>
            <category><![CDATA[genai]]></category>
            <category><![CDATA[inteligencia-artificial]]></category>
            <category><![CDATA[business]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Tue, 24 Sep 2024 13:33:18 GMT</pubDate>
            <atom:updated>2024-09-24T13:33:18.060Z</atom:updated>
            <content:encoded><![CDATA[<h3>IA Generativa: O que é, como funciona, aplicação nos negócios e como os executivos podem impulsionar seus resultados com GenAI</h3><p>A Inteligência Artificial Generativa está remodelando indústrias ao redor do mundo. Neste contexto, algumas tendências globais estão surgindo, estimuladas por avanços tecnológicos e necessidades de sustentabilidade. Antes de aprofundarmos neste assunto é importante entender o básico sobre esta nova tecnologia da qual todos estão falando.</p><h3>O que é IA Generativa?</h3><p>A Inteligência Artificial Generativa (ou comumente chamada de GenAI) são softwares de IA que criam conteúdo novo — como textos, imagens, músicas e até vídeos — com base em padrões aprendidos de dados existentes realizados no treinamento prévio. Diferente das IAs tradicionais, que são bem especializadas e que apenas analisam ou reconhecem padrões, a GenAI gera conteúdo original, oferecendo vastas oportunidades para inovação em negócios.</p><h3>Como funciona a IA Generativa?</h3><p>A GenAI funciona através de redes neurais profundas, que aprendem padrões complexos a partir de grandes volumes de dados. O processo começa com o treinamento do modelo em um conjunto de dados que contém exemplos do tipo de conteúdo que se deseja gerar, como textos, imagens, vídeos ou músicas. A partir desse treinamento, a IA é capaz de criar novos conteúdos que seguem os padrões aprendidos, mas são originais e não repetições dos dados de treinamento.</p><p>Um dos métodos mais sofisticados para geração desses conteúdos são as <strong>Redes Adversariais Generativas (GANs)</strong>. As GANs consistem em dois modelos: um gerador, que cria novos dados, e um discriminador, que avalia a autenticidade desses dados. Ambos trabalham em um processo de competição, onde o gerador tenta enganar o discriminador, enquanto o discriminador tenta distinguir entre dados reais e gerados, fazendo assim com que ambos evoluam rapidamente. Esse ciclo contínuo permite que o gerador crie dados cada vez mais realistas e próximos do que seria criado por um ser humano.</p><p>Na ilustração abaixo é possível compreender melhor como funcionam tais modelos:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*s66Bhg8_SjzOple4Te-usA.png" /><figcaption>Como funciona um modelo de GenAI baseado em GANs</figcaption></figure><p>Além disso, a IA Generativa pode usar <strong>modelos autorregressivos</strong>, que preveem o próximo elemento a ser gerado baseando-se numa sequência, o que é bastante útil para geração de texto, por exemplo. Outra técnica é o <strong>modelo</strong> <strong>transformador</strong>, que processa dados em paralelo, permitindo a geração de conteúdo complexo de maneira mais eficiente e em escala.</p><p>O ChatGPT, por exemplo, que é baseado no modelo GPT (Generative Pre-trained Transformer), utiliza um <strong>modelo transformador</strong>. O transformador permite processar e gerar texto de maneira eficiente e em escala, usando mecanismos de atenção para focar em partes relevantes dos dados de entrada ao gerar a saída. Essa abordagem permite que o ChatGPT produza respostas coerentes e dentro do contexto trazendo respostas mais relevantes dentro da conversa.</p><h3>Aplicações de IA Generativa nos negócios</h3><p>A principal função desses modelos de IA é criar conteúdo original com base em padrões e dados previamente analisados, como já falamos aqui. Abaixo estão algumas das principais utilizações da IA Generativa nos negócios digitais e tradicionais:</p><h4>Criação de conteúdo criativo</h4><p>A GenIA já está sendo amplamente usada na geração de textos, músicas, imagens, vídeos e até arte digital. Plataformas que utilizam IA, como geradores automáticos de imagens ou sistemas que escrevem histórias ou artigos, permitem que criadores de conteúdo e profissionais de marketing acelerem processos de criação, mantendo a qualidade e relevância.</p><p>Por exemplo, empresas de marketing usam a GenAI para criar descrições de produtos, copy de campanhas, legendas e posts em redes sociais em grande escala, economizando tempo e recursos.</p><p>Neste sentido, diversas ferramentas como a <a href="http://copy.ai/">Copy.ai</a> estão aparecendo no mercado para suprir a necessidade de criadores de conteúdo.</p><h4>Mass Personalization</h4><p>Este é um termo que ouvi pela primeira vez há cerca de 10 anos. No entanto, só com o advento da IA Generativa é que nós, meros mortais, passamos a ter acesso à criação de experiências personalizadas de forma automatizada e em larga escala.</p><p>No e-commerce, por exemplo, é possível gerar descrições de produtos sob medida ou oferecer recomendações personalizadas com base no comportamento do consumidor. Outro exemplo são os assistentes virtuais, como o ChatGPT, que conseguem gerar respostas customizadas em tempo real, melhorando significativamente a interação e a satisfação do cliente.</p><p>Eis, <a href="https://metyis.com/impact/our-insights/gen-ai-powered-ecommerce">aqui um excelente artigo</a> falando sobre personalização em massa usando GenAI.</p><h4>Criação de design e protótipos</h4><p>No setor de design e desenvolvimento de produtos, a GenAI está revolucionando a maneira como empresas criam protótipos e modelos. Ferramentas baseadas em IA conseguem gerar novas variações de designs de maneira rápida com variações com apenas alguns clicks, levando em consideração parâmetros pré-definidos, como funcionalidade, estética e custo.</p><p>Isso é extremamente útil na indústria automotiva, moda, arquitetura e, é claro, produtos digitais, onde é possível criar novos designs com rapidez e precisão, reduzindo os ciclos de produção e aumentando a eficiência. Grandes <em>players</em> como <a href="https://www.canva.com/pt_br/gerador-imagem-ia/">Canva</a> e <a href="https://www.figma.com/pt-br/ai/">Figma</a> já anunciaram funcionalidade voltadas para geração de peças e protótipos com GenIA, e isto é apenas o começo desta grande revolução!</p><h4>Treinamento e educação corporativa</h4><p>No campo da educação, a GenAI está sendo aplicada para criar materiais didáticos personalizados, como quizzes, exercícios e até mesmo tutoriais dinâmicos e adaptados ao nível de compreensão do aluno. Sistemas de tutoria baseados em IA podem gerar explicações detalhadas para perguntas complexas ou criar novos exemplos e exercícios que ajudam o aluno a entender melhor o conteúdo, facilitando o aprendizado. Isso também se aplica a ambientes corporativos, onde a IA pode gerar treinamentos personalizados para diferentes perfis de funcionários.</p><h4>Simulações e realidade virtual</h4><p>A IA Generativa está cada vez mais presente em jogos, simulações e realidade virtual. Empresas de videogames usam a tecnologia para criar cenários, personagens e até mesmo diálogos automaticamente, enriquecendo a experiência dos jogadores e oferecendo uma narrativa mais imersiva.</p><p>Em simulações, como as usadas na indústria ou no treinamento de pilotos, a IA gera ambientes realistas que podem ser utilizados para testar equipamentos, veículos ou até mesmo estratégias, sem precisar de ambientes físicos caros ou perigosos.</p><h3>Tendências do mercado no uso da GenIA</h3><p>Final do ano passado saiu um estudo da Gartner falando sobre as tendências e impactos da IA Generativa no mundo dos negócios. O radar de impacto da GenAI identifica 25 tecnologias emergentes, divididas em quatro temas principais:</p><ol><li><strong>Inovações relacionadas a modelos</strong>: Foco em grandes modelos de linguagem (LLMs), serviços de modelos e tecnologias associadas.</li><li><strong>Desempenho e segurança</strong>: Gestão de riscos e boas práticas de segurança em GenAI.</li><li><strong>Criação de modelos e dados</strong>: Desenvolvimento de modelos e uso de dados, como dados sintéticos.</li><li><strong>Aplicativos habilitados para IA</strong>: Ferramentas e soluções que aprimoram ou criam novos aplicativos baseados em GenAI.</li></ol><p>Abaixo você pode conferir na integra o radar de impacto da IA generativa, caso queira acessar o conteúdo completo segue o link: <a href="https://www.gartner.com.br/pt-br/artigos/entenda-explore-a-ia-generativa-com-o-novo-radar-de-impacto-da-gartner">https://www.gartner.com.br/pt-br/artigos/entenda-explore-a-ia-generativa-com-o-novo-radar-de-impacto-da-gartner</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*h_Re_47x_Qk4FRpJ87nsXA.png" /><figcaption>Radar de impacto da IA Generativa pela Gartner.</figcaption></figure><p><strong>Highlights deste radar de impacto!</strong></p><p><em>→ Até 2027, veremos uma proliferação de modelos de IA generativa adaptados para indústrias específicas, tornando as soluções mais precisas e relevantes.</em></p><p><em>→ A criação de dados sintéticos será crucial para personalização e inovação, com 75% das empresas adotando essa prática até 2026.</em></p><p><em>→ Iniciativas de sustentabilidade impulsionarão a otimização da GenAI para a conservação de energia, com impacto em 30% das implementações globais até 2028.</em></p><p>O radar de impacto da Gartner oferece uma visão estratégica para guiar líderes de produto na implementação eficaz de GenAI, focando em casos de uso de curto prazo que já demonstram valor. Ao compreender e adotar as tecnologias emergentes destacadas, como grandes modelos de linguagem (LLMs) e ferramentas de segurança, as empresas podem não apenas otimizar operações, mas também abrir novas oportunidades de negócios.</p><p>No entanto, o estudo alerta que, antes de se comprometerem com investimentos de longo prazo, as organizações devem equilibrar a inovação com a gestão de riscos, garantindo uma adoção responsável e eficaz da IA Generativa.</p><p>Concordo plenamente com as recomendações e insights do estudo, e acredito que os executivos têm uma oportunidade única de liderar suas empresas rumo a um futuro moldado pela IA Generativa. Para atingir os objetivos de trazer IA para a realidade das empresas recomendo priorizar três passos fundamentais:</p><ol><li>Foco em dar <strong>resultados tangíveis de curto prazo</strong> para que outras áreas, mais reticentes com uso de IA, possam ver os benefícios na prática enquanto toda a empresa se beneficia de todas as vantagens que os modelos de IA Generativa podem trazer.</li><li><strong>Desenvolvimento das capacidades do time</strong> na utilização de ferramentas de IA. Empoderar as pessoas com IA é uma excelente estratégia para ganhar produtividade ao mesmo tempo que remove as barreiras causadas pelas objeções e preconceitos com a tecnologia.</li><li><strong>Governança para gestão de riscos</strong> de vazamento de dados e alucinação da GenAI, pode ser uma estratégia <em>game changer</em> na obtenção de investimentos e apoio corporativo, sobretudo para grandes empresas que tem capital aberto ou dependem de fundos de investimento.</li></ol><p>Nós da Gow Solutions podemos te ajudar a transpor as barreiras e desenhar uma estratégia concisa no uso de IA dentro de sua empresa. <a href="https://www.gowsolutions.com.br/servicos/inteligencia-artificial">Veja nosso site</a>!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=72de8baa6277" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/ia-generativa-o-que-%C3%A9-como-funciona-aplica%C3%A7%C3%A3o-nos-neg%C3%B3cios-e-como-os-executivos-podem-72de8baa6277">IA Generativa: O que é, como funciona, aplicação nos negócios e como os executivos podem…</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Outsourcing de TI: O que é, serviços prestados e vantagens para as empresas]]></title>
            <link>https://waldyrfelix.com.br/outsourcing-de-ti-o-que-%C3%A9-servi%C3%A7os-prestados-e-vantagens-para-as-empresas-f95c112030a6?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/f95c112030a6</guid>
            <category><![CDATA[terceirização-de-ti]]></category>
            <category><![CDATA[serviços-de-ti]]></category>
            <category><![CDATA[terceirização-de-serviços]]></category>
            <category><![CDATA[it-outsourcing]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Thu, 01 Aug 2024 23:52:06 GMT</pubDate>
            <atom:updated>2024-08-01T23:52:06.160Z</atom:updated>
            <content:encoded><![CDATA[<h3>O que é serviço de outsourcing de TI?</h3><p>Ultimamente, muitas empresas têm adotado um conjunto de modelos para terceirizar atividades em serviços de tecnologia da informação. Essa prática, conhecida como outsourcing de TI, envolve delegar operações para uma empresa especializada, com profissionais treinados e capacitados. Essa alternativa permite às empresas economizarem energia em questões específicas de TI, que exigiriam muito tempo e esforço dos funcionários internos, desviando-os de atividades prioritárias.</p><p>Além disso, a empresa terceirizada oferece serviços diversos e capacidade de crescimento rápido, adaptados às necessidades e possíveis problemas que possam surgir no setor tecnológico do cliente.</p><p>Na minha visão, o principal benefício desse tipo de serviço é o aporte de capacidade de operacionalizar outras frentes de tecnologia como, por exemplo, desenvolvimento de software. Imagine que em algum momento uma empresa de Óleo e Gás precise desenvolver um app para atender melhor seus clientes, a expertise da empresa está voltada — obviamente — para seu <em>core business</em>, e seu time de TI está tomado por demandas para atender as expectativas do negócio. Neste caso, faz todo sentido terceirizar o desenvolvimento deste aplicativo, por vários motivos:</p><p>1️⃣ Falta de <em>skill</em> técnica do time interno para criar um app mobile com uma experiência satisfatória para o cliente final.</p><p>2️⃣ Capacidade de absorver mais um projeto dentre vários outros prioritários no <em>roadmap</em> do time de TI.</p><p>3️⃣ Custos de licenciamento, infraestrutura, contratação de profissionais, treinamento e sustentação desta solução após a entrega.</p><p>Existem uma série de outros motivos para terceirizar parte do problema que as empresas enfrentam além destes citados no exemplo acima.</p><h3>Redução de custos com outsourcing</h3><p>Quem não deseja ter um modelo de contratação que lhe forneça os melhores talentos a metade do preço normal?</p><p>Nos Estados Unidos 🇺🇸 muitas empresas buscam serviço de outsourcing de TI para reduzir o custo operacional, eles buscam esse tipo de mão de obra principalmente na Índia 🇮🇳 onde o idioma não é uma barreira e os custos de mão de obra qualificada são muito mais baixos.</p><p>Para se ter uma ideia cada 30 mil dólares gastos na criação de aplicativos nos Estados Unidos, você só precisará pagar 10 mil por um projeto da mesma complexidade se terceirizar o desenvolvimento do aplicativo para a Índia — um terço do preço!</p><p>Neste mercado de terceirização de serviços especializados em TI, outros países tem se destacado, incluindo nosso Brasil 🇧🇷 que já está em quarto lugar no ranking de outsourcing de TI offshore (aquele em que a terceirização é feita para outros países), segundo dados do <a href="https://www.kearney.com/service/digital-analytics/digital/gsli">Global Service Location Index Report da Kearney</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DjUuHaNYnlMk9gkP83dyHw.png" /><figcaption>Ranking dos países com mais atratividade para terceirização de TI</figcaption></figure><h3>Insights sobre terceirização de desenvolvimento de software</h3><p>A terceirização está gradualmente se tornando uma tendência, e há múltiplas estatísticas para comprovar isso. Vamos nos aprofundar nisso:</p><p>💰 A terceirização de TI global representou $512,9 bilhões em 2023 e pode chegar a $916,7 bilhões em 2030. (Fonte <a href="https://www.researchandmarkets.com/report/it-outsourcing">Research and Markets</a>)</p><p>📊 Pelo menos 32% dos executivos indicaram aumento de orçamento para contratação de serviços terceirizados de TI em 2022. (Fonte <a href="https://www2.deloitte.com/us/en/pages/operations/articles/global-outsourcing-survey.html">Delloite</a>)</p><p>📈 62% das empresas buscam aumentar velocidade e transformação digital através de empresas de TI terceirizadas. (Fonte <a href="https://www2.deloitte.com/content/dam/Deloitte/us/Documents/process-and-operations/us-global-outsourcing-survey-2022.pdf">Delloite</a>)</p><p>🇧🇷 Já o mercado brasileiro de terceirização de TI vai atingir um valor de 6 bilhões de dólares em 2024. (Fonte <a href="https://www.statista.com/outlook/tmo/it-services/it-outsourcing/brazil">Statista</a>)</p><p>Com essas poucas estatísticas, demonstramos que as empresas estão gastando muito com terceirização de TI, e isso está se tornando gradualmente o modelo preferido devido aos seus inúmeros benefícios.</p><h4>Benefícios da terceirização de desenvolvimento de sistemas</h4><p>Terceirizar o processo de criação de sistemas diversos oferece uma série de vantagens que incluem:</p><ul><li>Economia de custos</li><li>Acesso a especialistas de alto nível</li><li>Desenvolvimento rápido do produto</li><li>Esforço focado</li><li>Modelo de desenvolvimento flexível</li></ul><p>Em outras palavras outsourcing de desenvolvimento de software garante um <em>time-to-market</em> mais rápido, fornecendo acesso a uma equipe que já entra jogando com expertise na <em>stack</em> tecnológica necessária. Este, inclusive, é o motivo mais comum que fazem com que novos clientes busquem a <a href="https://www.gowsolutions.com.br/">Gow Solutions</a>.</p><h3>Os serviços mais prestados em Outsourcing de TI</h3><p>Dentro do panorama de outsourcing de TI há diversos tipos de serviços de alocação de times de desenvolvimento a suporte técnico. Ao aproveitar os serviços de uma equipe terceirizada de TI, sua empresa pode acelerar o tempo de lançamento de novos produtos no mercado, reduzir custos operacionais e manter o foco nas atividades principais do negócio.</p><p>Alguns dos serviços mais comuns incluem:</p><p><strong>🖥️ Suporte técnico e help desk:</strong> Fornecimento de suporte técnico para resolver problemas de TI, responder a perguntas dos usuários e fornecer assistência remota ou presencial quando necessário.</p><p><strong>🛜 Manutenção de infraestrutura:</strong> Gerenciamento e manutenção de hardware, redes e sistemas de armazenamento para garantir que a infraestrutura de TI esteja funcionando de forma eficiente e segura.</p><p><strong>🎚️Gerenciamento de servidores e data centers:</strong> Monitoramento e manutenção de servidores e data centers para garantir que estejam operando de forma otimizada e segura, incluindo backup e recuperação de dados.</p><p><strong>☁️ Gerenciamento de infra cloud</strong>: Sustentação e implementação de serviços de nuvem para suportar as operações da empresa em ambiente produtivo, bem como auxiliar o desenvolvimento e lançamento de produtos em cloud.</p><p><strong>👩🏽‍💻 Desenvolvimento e manutenção de software:</strong> Desenvolvimento de aplicativos personalizados, bem como manutenção e atualização de software existente para atender às necessidades específicas da empresa.</p><p><strong>🔐 Segurança cibernética:</strong> Implementação e monitoramento de medidas de segurança cibernética para proteger os sistemas e dados da empresa contra ameaças como malware, hackers e violações de dados.</p><p><strong>⏳Gerenciamento de projetos de TI:</strong> Planejamento, execução e monitoramento de projetos de TI, incluindo implementação de novas tecnologias, migração de sistemas e atualizações de software.</p><p><strong>🧮 Consultoria especializada em TI:</strong> Consultoria especializada em estratégia de TI, avaliação de tecnologia, seleção de fornecedores, arquitetura de software e otimização de processos de TI.</p><p>A escolha dos serviços dependerá das necessidades específicas de cada empresa e de seus objetivos estratégicos de TI.</p><p>Concluindo… O serviço de outsourcing de TI se apresenta como uma estratégia eficaz para empresas que buscam otimizar suas operações tecnológicas, reduzir custos e acelerar o desenvolvimento de produtos. Ao terceirizar serviços de TI, como suporte técnico, manutenção de infraestrutura e desenvolvimento de software, as empresas podem focar em suas atividades principais e se beneficiar da expertise de profissionais especializados.</p><p>Com a tendência crescente e os múltiplos benefícios comprovados, a terceirização de TI continua a ser uma escolha estratégica para empresas de diversos setores, garantindo maior eficiência e competitividade no mercado.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f95c112030a6" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/outsourcing-de-ti-o-que-%C3%A9-servi%C3%A7os-prestados-e-vantagens-para-as-empresas-f95c112030a6">Outsourcing de TI: O que é, serviços prestados e vantagens para as empresas</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Quando a falta de gestão de tecnologia vira uma tragédia]]></title>
            <link>https://waldyrfelix.com.br/quando-a-falta-de-gest%C3%A3o-de-tecnologia-vira-uma-trag%C3%A9dia-1302930a7e60?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/1302930a7e60</guid>
            <category><![CDATA[gestão-de-tecnologia]]></category>
            <category><![CDATA[cto]]></category>
            <category><![CDATA[recrutamento]]></category>
            <category><![CDATA[consultoria]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Thu, 19 Oct 2023 14:47:33 GMT</pubDate>
            <atom:updated>2023-12-12T18:19:27.820Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RUtsu4rj99v_IrEdqOix5Q.png" /><figcaption><a href="https://www.freepik.com/free-photo/man-holding-his-head-with-hands_916505.htm#page=2&amp;query=desespero&amp;position=22&amp;from_view=search&amp;track=sph">Image by kues</a> on Freepik</figcaption></figure><p>Todo santo dia ouço histórias diversas sobre desenvolvimento de software, desde os sucessos até os fracassos absolutos. Aprendo muito com isto, talvez essa exposição toda a tantos casos seja a maior beleza de trabalhar com consultoria técnica.</p><p>Aprender com os erros dos outros é a melhor coisa que pode te acontecer, acredite! Pena que nem todo mundo está disposto, ou mesmo atento, a ouvir genuinamente sobre os sucessos e falhas alheias.</p><p>Uma vez uma empresa me procurou com um baita pepino: O CTO sumiu! Com ele foi junto todo o <em>codebase</em> desenvolvido em meses de projeto, que por sinal ele só tinha na sua própria máquina. Show de horror!</p><p>Somente isto, já seria suficiente para um ataque de nervos mas não para por aí! Ele sumiu no dia de lançamento de uma release importante com a expectativa alta dos investidores e clientes. Lançamento com direito a live demonstrativa e tudo, mostrando na prática a nova versão do produto, que na prática nunca viu a luz do dia.</p><p>Neste trágico episódio, as novas <em>features</em> do produto — desenvolvidas por ele, implantadas não sei como — não funcionaram ou sequer existiam. Além do mais, todo o restante do sistema travou por falhas causadas em configurações que ele decidiu mudar sozinho no dia anterior.</p><p>Você deve estar pensando como este desastre ferroviário pode ter acontecido, certo? Bem, este é exatamente o motivo pelo qual estou escrevendo aqui.</p><p>Quero chamar atenção para duas questões importantes aqui nesta história:</p><ol><li>Como pode haver profissionais que sobem na carreira com um nível de falta de compromisso e ética como este?</li><li>Por que o resto da empresa confiou tanto nesse “profissional” que não viu essa tragédia anunciada logo debaixo dos seus narizes?</li></ol><p>Não sei responder exatamente, mas tenho um palpite para ambas. No primeiro caso é simples: tem canalha em todos os ramos de atividade. O problema é que carreiras muito técnicas tendem a esconder o mau caráter por trás de capacidade de execução. A falta de profissionais qualificados no Brasil também traz um fator de necessidade de contratar qualquer um que tenha mínima capacitação a qualquer custo. E a tendência é piorar, <a href="https://g1.globo.com/trabalho-e-carreira/noticia/2023/05/31/brasil-tera-deficit-de-530-mil-profissionais-de-tecnologia-ate-2025-mostra-estudo-do-google.ghtml">até 2025 haverá um <em>déficit</em> de 530 mil profissionais de tecnologia</a>.</p><p>E isto nos leva à segunda questão. O resto da empresa não viu isso acontecer, por pura e simples inexperiência com desenvolvimento de software e gestão de produto. Tecnologia é coisa muito séria, é o meio para realização de tudo, permeia todas as áreas do conhecimento e todos os negócios.</p><p>Para que as empresas — sobretudo as startups — evitem bater com toda a força na parede como no relato acima existem diversos aspectos a serem observados, mas um deles exige cuidados especiais.</p><p>Gestão de tecnologia! Se você pensa em abrir uma startup que depende de software e não tem experiência com isto, procure conhecer em como as coisas funcionam. Gestão de tecnologia dá trabalho, acredite. Não é só contratar uns desenvolvedores e colocar eles pra trabalhar como se contrata funcionários para as outras áreas da empresa, recrutamento de tecnologia é outro bicho completamente diferente.</p><p>Delegar a gestão de toda a área de tecnologia — que certamente é a mais estratégica da empresa — na mão de um recém contratado com pouco <em>skin in the game</em> está fora de cogitação. Se você não tem um sócio em pé de igualdade e comprometimento que vá fazer este papel, procure uma empresa séria de recrutamento especializado ou uma consultoria técnica pra te ajudar nos primeiros meses de empresa.</p><p>Isto não só vai ajudar a evitar uma tragédia como a relatada aqui, como também a criar uma boa cultura na empresa desde o início. Como fundador você terá alguém estratégico ou até mesmo uma empresa capacitada pra fazer a gestão de produto, tecnologia, arquitetura de software pensando em escala e garantindo que os principais <em>stakeholders</em> estejam bem comunicados e com as expectativas bem alinhadas.</p><p>Sobre os canalhas mau intencionados não há o que fazer, a não ser desviar deles com a mesma habilidade que um boxeador esquiva dos golpes do oponente. Infelizmente, vivemos num país que a falência da moral levou a proliferação desse tipo de gente, a única coisa que nos resta é estar atentos e nos cercar dos melhores.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1302930a7e60" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/quando-a-falta-de-gest%C3%A3o-de-tecnologia-vira-uma-trag%C3%A9dia-1302930a7e60">Quando a falta de gestão de tecnologia vira uma tragédia</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[IA Generativa: Adeus ao modelo de cobrança de software padrão]]></title>
            <link>https://waldyrfelix.com.br/ia-generativa-adeus-ao-modelo-de-cobran%C3%A7a-de-software-padr%C3%A3o-5d2d62091a0c?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/5d2d62091a0c</guid>
            <category><![CDATA[software]]></category>
            <category><![CDATA[inteligencia-artificial]]></category>
            <category><![CDATA[ia-generativa]]></category>
            <category><![CDATA[chatgpt]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Fri, 06 Oct 2023 15:39:23 GMT</pubDate>
            <atom:updated>2023-10-19T14:47:01.993Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*c9TirwPAa3sOyciNY_c4Rw.png" /><figcaption><a href="https://www.freepik.com/free-photo/high-angle-shot-one-american-dollar-black-computer-keyboard_10186344.htm#query=dinheiro%20software&amp;position=17&amp;from_view=search&amp;track=ais">Image by wirestock</a> on Freepik</figcaption></figure><p>Escrever aqui sobre como a inteligência artificial é revolucionária é chover no molhado. Todos estão carecas de saber o potencial, ganhos e<strong> </strong>riscos do uso desta tecnologia de tanto que os tabloides publicaram matérias sobre este assunto.</p><p>Inteligência artificial foi o termo mais badalado do ano, os <a href="https://trends.google.com/trends/explore?q=chatgpt">trends do Google</a> não me deixam mentir. Os jornalistas, como é de praxe, alardeando o perigo apocalíptico que a sociedade corre ao confiar nessa tecnologia. Alguns oportunistas, criando polêmica para ganhar tempo de alcançar o bonde que já estava andando faz tempo, como é o caso do Elon Musk que <a href="https://www.infomoney.com.br/negocios/grupo-que-inclui-elon-musk-pede-pausa-em-inteligencia-artificial-cita-riscos-a-sociedade/">pediu pausa nos avanços da IA</a> por “risco à sociedade” para meses depois <a href="https://www.infomoney.com.br/negocios/grupo-que-inclui-elon-musk-pede-pausa-em-inteligencia-artificial-cita-riscos-a-sociedade/">abrir a xAI</a>. E muitos reclamando nas redes sociais que o avanço da inteligência artificial poderá acabar com os empregos.</p><p>Não vou me estender sobre os prós e contras ou sobre a validade desses argumentos e vou deixar aqui um <a href="https://a16z.com/ai-will-save-the-world/">artigo brilhante do Marc Andreessen</a> sobre como a inteligência artificial vai salvar o mundo ao invés de destruí-lo por completo.</p><p>O fato é que a IA é revolucionária mesmo, todos já perceberam o seu potencial de <em>game change </em>em diversas áreas de conhecimento humano. Isso deixa os otimistas, como eu, entusiasmados com todas as novidades que estão por vir e os coitados pessimistas roendo as unhas de tanta ansiedade.</p><p>Mas aqui eu quero falar sobre outra coisa! Um dos impactos mais importantes desta nova era está em como cobramos por software. Ironicamente, este parece ter sido negligenciado pela maioria dos engenheiros e empreendedores do mercado que criou esse <em>hype</em> todo.</p><p>Software tem sido cobrado de quatro formas diferentes:</p><ul><li><strong>Licenciamento perpétuo.</strong> Em que se paga uma vez pela propriedade do software.</li><li><strong>Subscrição ou assinatura</strong>. Paga-se uma taxa, geralmente mensal, para usar o software continuamente.</li><li><strong>Mensalidade por usuário.</strong> Onde a cobrança é feita pelo número de usuários ou dispositivos.</li><li><strong>Transação ou uso.</strong> Aqui a cobrança é por consumo de recursos ou transações realizadas.</li></ul><p>No entanto, com o advento da IA generativa as pessoas começaram a se interessar por software por um motivo diferente do que estávamos acostumados. Veja, as pessoas pagam pelo Microsoft Office para ter uma suíte de produtividade para escritório em seus computadores e pagam pelo Spotify para ter acesso a toda sua biblioteca de música e poder ouví-las de onde quiser.</p><p>Porém, quando as pessoas pagam o ChatGPT para usar no dia-a-dia elas estão interessadas em delegar para o GPT problemas que elas teriam que pensar em resolver sozinhas. Ou realizar um trabalho que, se não fosse a IA, elas teriam que realizar por si mesmas.</p><p>Ora, estamos aqui falando de outra categoria de coisas. É como pagar para um pintor retocar a casa no final do ano ou como solicitar o serviço de um despachante resolver um impasse junto ao Detran. Paga-se para outra pessoa realizar um trabalho que você não quer ou não pode fazer.</p><p>Muitas das startups de IA lançaram produtos recentemente que fazem todo ou parte do <em>job</em>. E o usuário, quando muito, tem que apenas que revisar o trabalho feito. Assim como se procurasse respingos de tinta ou defeitos no acabamento da pintura do apartamento que o pintor fez.</p><p>Por esta perspectiva, a nova categoria de software requer um novo tipo de cobrança, sobretudo para os produtos especialistas. Pagamento por trabalho realizado, tal qual fazemos quando solicitamos um “bico” ou contratamos um freelancer.</p><p><strong>Eis aqui a provocação.</strong> Será que vamos evoluir para este novo modelo de cobrança ou as startups de IA vão continuar nos antigos moldes?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5d2d62091a0c" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/ia-generativa-adeus-ao-modelo-de-cobran%C3%A7a-de-software-padr%C3%A3o-5d2d62091a0c">IA Generativa: Adeus ao modelo de cobrança de software padrão</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[As responsabilidades de um Tech Lead]]></title>
            <link>https://waldyrfelix.com.br/as-responsabilidades-de-um-tech-lead-8293df72d0f7?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/8293df72d0f7</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[leadership-development]]></category>
            <category><![CDATA[management]]></category>
            <category><![CDATA[leadership]]></category>
            <category><![CDATA[tech-lead]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Mon, 30 Nov 2020 11:02:07 GMT</pubDate>
            <atom:updated>2024-12-03T14:31:32.158Z</atom:updated>
            <content:encoded><![CDATA[<h4>Ou as 5 responsabilidades mais relevantes para um líder técnico</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*0LYTUX8nKOjO71-T" /><figcaption>Photo by <a href="https://unsplash.com/@austindistel?utm_source=medium&amp;utm_medium=referral">Austin Distel</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Tornar-se um Tech Lead é um desafio muito grande para quem está acostumado com a rotina de um Software Engineer. As responsabilidades mudam e as pessoas passam a ter outras expectativas, diferente das que o profissional estava acostumado.</p><p>Por isso separei as 5 responsabilidades mais importantes de um Tech Lead:</p><h3>Responsabilizar-se pelo escopo técnico</h3><p>O Tech Lead deve ter auto responsabilização acima da média. Como líder do time técnico espera-se que ele responda pelos problemas e soluções que sua equipe entrega.</p><p>É responsabilidade do Tech Lead gerenciar o escopo técnico antes, durante e depois do projeto. Ou seja, entender os requisitos e realizar um bom detalhamento técnico, garantir a entrega combinada e manter as coisas funcionando após o <em>deploy</em>.</p><p>Para que todos esses pontos sejam efetivos o Tech Lead precisa:</p><h4>Antes</h4><ul><li>Entender a fundo a demanda de negócio;</li><li>Fazer o mapeamento de impacto das mudanças e novas funcionalidades;</li><li>Detalhar ao máximo tecnicamente para que a estimativa seja precisa.</li></ul><h4>Durante</h4><ul><li>Garantir que o time escreva código nos padrões definidos;</li><li>Realizar Code Review para ajudar os desenvolvedores a evoluírem tecnicamente e manter a base de código saudável;</li><li>Revisar o <em>merge </em>dos <em>pull requests</em> feitos pelo time;</li><li>Analisar gargalos de performance que, por ventura, possam ter sido introduzidos ao longo do ciclo de desenvolvimento.</li></ul><h4>Depois</h4><ul><li>Colaborar ativamente com o <em>deploy</em> (juntamente com o time de DevOps);</li><li>Investigar gráficos e logs para achar <em>bugs</em> reportados;</li><li>Investigar problemas de performance em produção;</li><li>Corrigir rapidamente <em>bugs</em> em produção impactando os clientes.</li></ul><h3>Ser ponte entre tech e business</h3><p>Trabalhar junto ao Product Owner — ou ao time de negócios da empresa — é uma das responsabilidades essenciais do Tech Lead. Assim sua capacidade técnica será útil na fase de <em>discovery</em>, que é quando estamos levantando os requisitos e entendendo os detalhes do que atende melhor o cliente.</p><p>O Tech Lead também deve fornecer estimativas em comum acordo com o time técnico para que os <em>stakeholders</em> consigam ter previsibilidade. É importante que o líder técnico coordene junto ao Product Owner que atividades devem ser priorizadas pelo time de desenvolvimento.</p><p>Além disso, em algumas situações o Tech Lead precisa apoiar o time de negócio, comercial ou atendimento para falar com o cliente, entender problemas, reclamações e novas demandas.</p><h3>Antecipar problemas</h3><p>Uma das responsabilidades mais importantes do Tech Lead é identificar possíveis ameaças ao lançamento do produto. Para que isto aconteça este profissional deve estar atento a mudanças e novidades no escopo técnico do projeto.</p><p>Colocar energia em pesquisa antes de entrar na fase de desenvolvimento é uma maneira de mitigar riscos. Sem isto o time de desenvolvimento pode cair em algumas armadilhas que comprometem o prazo e qualidade da entrega.</p><p>O Tech Lead é responsável por identificar aumento de escopo ou ressalvas em relação a expectativa do cliente. Deve, também, coordenar essas situações juntamente com o Product Owner e o time comercial para que o cliente seja comunicado adequadamente.</p><h3>Montar e manter o time</h3><p>O Tech Lead tem grande responsabilidade em relação ao time técnico. Ele deve ter em mente que a evolução do time depende de suas ações empreendidas em vários contextos.</p><p>Por exemplo, avaliar cada profissional do time individualmente de tempos em tempos e dar feedback para que cada um consiga evoluir em suas competências técnicas e não técnicas.</p><p>Além disso, trabalhar perto de sua equipe no dia-a-dia, para que seja possível corrigir uma direção incorreta ou antecipar um problema imediatamente.</p><p>O Tech Lead deve responsabilizar-se por atrair e contratar profissionais que ajudarão o time a fazer mais e melhor. Ninguém melhor do que ele para esta função, visto que conhece as fraquezas e fortalezas de sua equipe.</p><p>Assim é importante, também, que o Tech Lead tenha contato com o time de recrutamento/RH. Pois assim, poderá influenciar diretamente na escolha dos profissionais com quem irá trabalhar 8 horas ou mais diariamente.</p><h3>Tomar as decisões</h3><p>O Tech Lead deve liderar o time na busca por soluções alternativas quando os problemas aparecerem. Além de propor <em>workarounds</em> e atalhos para conseguir entregar aquilo que foi planejado.</p><p>Ter apenas um plano para chegar ao objetivo nem sempre é o suficiente, o ideal é sempre um plano B — ou até mesmo um plano C, quando há um risco iminente — para o caso de algo fugir da estratégia inicial.</p><p>Além de tudo, o Tech Lead deve estar preparado para tomar decisões impopulares entre os desenvolvedores. Estar consciente das implicações da decisão a ser tomada e persuadir os descrentes, garantindo assim que todo o time esteja remando na mesma direção.</p><p>Quanto mais alto o cargo de liderança maiores são as responsabilidades. Para o líder técnico isso não poderia ser diferente.</p><p>Muitos bons profissionais desenvolvedores de software desistem de seguir na carreira como Tech Lead por não estarem atentos a estas responsabilidades.</p><p>O maior erro desta transição é continuar agindo como um engenheiro de software quando todos esperam atitudes distintas. O que leva a quebra de expectativas, frustrando assim o time, superior imediato e o próprio profissional.</p><p><em>Este artigo teve o intuito de elucidar as responsabilidades que vejo como mais relevantes para o papel do Tech Lead. Se você curtiu então deixe seu aplauso, compartilhe este texto para ajudar a crescer o blog e siga-me no Twitter </em><a href="https://twitter.com/waldyrfelix"><em>https://twitter.com/waldyrfelix</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8293df72d0f7" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/as-responsabilidades-de-um-tech-lead-8293df72d0f7">As responsabilidades de um Tech Lead</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[O que é um Tech Lead]]></title>
            <link>https://waldyrfelix.com.br/o-que-%C3%A9-um-tech-lead-137fb85da02e?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/137fb85da02e</guid>
            <category><![CDATA[leadership-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[desenvolvimento-software]]></category>
            <category><![CDATA[liderança]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Mon, 23 Nov 2020 11:03:20 GMT</pubDate>
            <atom:updated>2023-01-14T01:32:56.447Z</atom:updated>
            <content:encoded><![CDATA[<h4>Ou o que é preciso para se tornar um líder técnico</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aH5uxzEKM7ZTrxOY09y8eg.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/negocio">Foto criada por mego-studio — br.freepik.com</a></figcaption></figure><p>O Tech Lead é um técnico e tem atuação prática, pondo a mão na massa, apesar de liderar o time de desenvolvedores. O líder técnico geralmente é um desenvolvedor que se destaca por suas entregas e experiência. Neste papel o profissional tem a oportunidade melhorar suas habilidades como programador, ao mesmo tempo que desenvolve aspectos de liderança.</p><p>Espera-se que nesta função o profissional passe a protagonizar as ações realizadas dentro do time. Trazer as novidades tecnológicas e jeitos diferentes de resolver os problemas de forma mais eficiente é também uma responsabilidade do Tech Lead. Além disso, a expectativa é que ele consiga manter o time focado no que precisa ser feito, priorize corretamente as atividades e entregue resultados tirando o melhor de cada membro do time.</p><p>Um bom Tech Lead deve ser interdisciplinar, ou seja, conhecer sobre coisas diferentes para poder solucionar problemas de forma simples e rápida. O conhecimento técnico é imprescindível, mas também deve ter boa comunicação, capacidade de aprender rápido, autogestão e, obviamente, liderança.</p><p>Liderar é um jogo completamente diferente de atuar sozinho como engenheiro de software. No entanto, se o profissional entender e aceitar os <em>tradeoffs </em>terá o potencial impactar positivamente a empresa, a sociedade, as pessoas que lidera e crescer profissionalmente.</p><p>O Tech Lead é versátil e, por isso, pode assumir funções diferentes, trocando de “chapéu” conforme o cenário.</p><h3>Ponte entre business e tecnologia</h3><p>O Tech Lead deve atuar traduzindo as demandas da gestão mais estratégica para o time de desenvolvimento. Vários papeis tem essa característica de atuar como ponte entre áreas distintas, com o líder técnico não é diferente, ele é a interface de contato entre o time de desenvolvimento e o resto da empresa.</p><p>Se o Tech Lead não fizer este papel “porta-voz” do time, certamente uma alternativa será encontrada. Geralmente esta alternativa baseia-se no modelo de comando e controle da alta gestão direto com os desenvolvedores. Já viu o caos que isso gera né?</p><p>Por isso é importante que o Tech Lead tenha alguns <em>soft skills</em> como comunicação verbal e escrita, capacidade de planejamento e negociação.</p><h3>Referência técnica</h3><p>O Tech Lead frequentemente é alguém com capacidade técnica superior, um desenvolvedor mais sênior. Em muitas empresas o líder técnico é na verdade um arquiteto de software e em outros casos o arquiteto de soluções também.</p><p>Na minha visão, um líder técnico não precisa necessariamente ser um Solution Architect mas precisa ser uma referência técnica e usar esta autoridade para tomar decisões e formar seu time. Muitas vezes o Tech Lead precisa tomar uma decisão técnica que desagrada algum membro do time, nestes casos sua autoridade técnica irá assegurar que o time se comprometa com o caminho a ser trilhado.</p><p>Se o Tech Lead não desempenhar este papel, a tendência é que a decisão seja tomada em conjunto, pelo time todo. Decisões tomadas coletivamente geralmente diluem o senso de responsabilidade. Quando a responsabilidade é de todos ninguém irá se responsabilizar pessoalmente.</p><h3>Guardião da qualidade</h3><p>O Tech Lead precisa ser um crítico ferrenho do código que é <em>“commitado” </em>no repositório oficial. De nada adianta no início o projeto ter uma arquitetura estruturada, estilo código fácil de seguir, padrões de projetos bem definidos e isto tudo não ser mantido ao longo do projeto.</p><p>É papel do líder criar processos que evitem a degradação da qualidade do código ao longo do tempo. Ele é, em última instância, o responsável pela qualidade do código desenvolvido por todo o time.</p><p>O Tech Lead deve criar processos de validação de qualidade de código. Seja com testes unitários, code review, avaliação de complexidade ciclomática, ferramentas de checagem automática de estilo código e por aí vai.</p><h3>Alinhador de expectativas</h3><p>Um líder técnico deve tomar as rédeas da comunicação. Quando me refiro a comunicação quero dizer não apenas ser uma espécie de “porta-voz” da equipe. Mas também de agir como um facilitador na comunicação interna.</p><p>A comunicação é uma ferramenta de alinhamento de expectativas. O Tech Lead deve usar proativamente esta ferramenta com os desenvolvedores, clientes, a área de negócios e até mesmo com CEO da empresa.</p><p>O Tech Lead como profissional mais experiente deve dar o exemplo em ser um bom ouvinte e alinhar as expectativas de forma a ajudar o time a cumprir seus objetivos.</p><p>Caso o Tech Lead não assuma esta responsabilidade, poderá causar os seguintes <em>gaps </em>de comunicação:</p><ul><li><em>Overhead </em>de comunicação entre os membros do time, que precisam o tempo todo fazer reuniões para alinhar coisas que todos já deveriam saber. Deixando assim o time lento nas entregas.</li><li>Entrega fora da expectativa do <em>stakeholder</em>. Por não ficado claro todos os requisitos — muitos deles implícitos — com os responsáveis pelo desenvolvimento.</li></ul><p>Para finalizar existe uma qualidade que encontro em 100% dos líderes da área de tecnologia que admiro:</p><blockquote>Desenvoltura para simplificar problemas complexos e resolvê-los.</blockquote><p>Para conseguir este tipo de qualidade o é preciso trabalhar algumas virtudes juntas como atenção, sagacidade e inteligência. Um bom Tech Lead deve ser capaz de desenrolar os problemas e os resolver de forma rápida e inteligente.</p><p><strong><em>Ser um Tech Lead não é nada fácil, por isso continuarei escrevendo sobre este assunto para que possamos formar muitos líderes competentes em desenvolvimento de software. Se você curtiu então deixe seu aplauso, compartilhe este texto para ajudar a crescer o blog e siga-me no Twitter </em></strong><a href="https://twitter.com/waldyrfelix"><strong><em>https://twitter.com/waldyrfelix</em></strong></a><strong><em>.</em></strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=137fb85da02e" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/o-que-%C3%A9-um-tech-lead-137fb85da02e">O que é um Tech Lead</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[6 dicas para novos Tech Leaders]]></title>
            <link>https://waldyrfelix.com.br/6-dicas-para-novos-tech-leaders-313fb97c30e1?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/313fb97c30e1</guid>
            <category><![CDATA[engenharia-de-software]]></category>
            <category><![CDATA[liderança]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[tech-lead]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Mon, 16 Nov 2020 11:32:16 GMT</pubDate>
            <atom:updated>2023-01-14T01:33:40.920Z</atom:updated>
            <content:encoded><![CDATA[<h3>6 dicas para um novo Tech Lead</h3><h4>Ou o que aprendi liderando tecnicamente times de desenvolvimento</h4><p>Começar a liderar pessoas como<em> Tech Lead</em> é um processo difícil. O escopo aumenta, as expectativas mudam e você começa a programar cada vez menos. As reuniões passam a ocupar mais de 50% do seu dia e isto é só o começo.</p><p>Para novos desafios, são necessárias novas atitudes. Para cenários distintos, estratégias diferentes. Este artigo tem o objetivo dar algumas dicas para os noviços na arte de liderar times técnicos, com o objetivo de extrair a melhor performance possível da sua equipe.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2lWKxFttPIs7c0QWb6mf9A.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/pessoas">Foto criada por 8photo — br.freepik.com</a></figcaption></figure><h3>Sempre tenha um plano</h3><p>Quando um<em> Tech Lead</em> apresenta um plano, os desenvolvedores sentem segurança. Ter um plano é melhor do que não ter nenhum. Mesmo que seu plano seja simples, apresente-o. Isto irá gerar uma repercussão positiva e fomentar a discussão para chegar a uma solução viável.</p><p>Suas ideias não necessariamente precisam ser seguidas. Mesmo que nada do que você tenha apresentado seja posto em prática, apresentar algo logo de cara dá material para que o time possa trabalhar. É papel do líder pensar em alguma saída para os problemas cotidianos.</p><h3>Comunique as expectativas</h3><p>Deixe claro quais são as expectativas antes de começar alguma atividade, nunca depois, jogando a culpa no dev das expectativas não atingidas.</p><p><strong>Como geralmente a comunicação é feita:</strong></p><p><em>“A query de busca de vendas está lenta, consegue ver isso por favor?”</em></p><p><strong>Como deveria ser comunicado:</strong></p><p><em>“Preciso que você foque 100% na lentidão da query de busca de vendas, pois temos que resolver isto até às 18h. Ou seja, às 18h precisa estar testado e em produção. Então, caso não consiga uma solução viável até às 14h, tente uma alternativa como cache dos resultados, por exemplo. Este item é muito crítico, então espero que qualquer problema você me acione imediatamente para que possamos pensar numa solução juntos. Vamos marcar um checkpoint às 16h para ver o avanço?”</em></p><p>É essencial que o <em>Tech Lead</em>, preocupe-se em alinhar as expectativas antes para evitar frustração de ambos os lados.</p><h3>Seja um deles</h3><p><em>“Pôr a mão na graxa”</em> é o que quero dizer. Os <em>Tech Leaders</em> mais respeitados que eu conheço estão muito próximos do time, contribuindo de forma prática com o produto que está sendo desenvolvido.</p><p>A dica é que você tire pelo menos um dia na semana para fazer algo junto com o time técnico. Você pode começar pensando como pode contribuir usando essa lista:</p><ul><li>Desenvolver alguma <em>feature</em> ou parte dela;</li><li>Fazer <em>pair programming</em> com alguém;</li><li>Realizar <em>code reviews</em>;</li><li>Codar alguns testes unitários;</li><li>Participar de discussões de arquitetura;</li><li>Refatorar código antigo;</li><li>Discutir melhorias de UX.</li></ul><p>A regra aqui é contribuir ativamente com o software que está sendo desenvolvido. Isto vai fazer a equipe perceber que você faz parte do time e se importa com a qualidade do que está sendo entregue.</p><h3>Esteja sempre disponível</h3><p>Não seja um <em>Tech Lead </em>que aparece somente no final do sprint cobrando o que deveria ter sido feito. Esteja disponível de fato para o time, participe das cerimônias: reuniões diárias, planejamento, retrospectivas, etc.</p><p>Seja categórico ao dizer que quer ser envolvido, que não há problema nenhum em te chamar para tirar dúvidas de negócio ou pedir ajuda técnica. E, principalmente, deixe claro que ao surgir um problema ou qualquer sinal de desvio da expectativa você deve ser acionado imediatamente.</p><p>Isto é óbvio, mas não custa reiterar: quando um liderado te procurar, responda o mais rápido que puder.</p><h3>Relacione-se com os liderados</h3><p>Em empresas pequenas, startups, você precisa estar muito mais próximo das pessoas. Ser quase um “amigo íntimo” daqueles que você gerencia. Isto ajuda a entender e tirar o melhor cada profissional.</p><p>Investir energia em se relacionar mais intimamente com seus liderados te dará a vantagem da antecipação de problemas, além de melhorar a sua capacidade de engajamento.</p><h3>Dê autonomia, cobre resultados</h3><p>Apenas entre nos detalhes de execução caso seja estritamente necessário. No geral, dê o máximo de autonomia possível e tente não microgerenciar.</p><p>A minha regra é “contexto sobre controle”. Quando planejar alguma ação junto ao time, contextualize o máximo que puder. Ajude a desenhar a solução, mas não tente controlar a direção que a solução vai tomar, tente apenas influenciar.</p><p>O <em>Tech Lead</em> precisa ter em mente dois objetivos ao dar o máximo de autonomia e cobrar os resultados:</p><ul><li>Responsabilizar as pessoas sobre aquilo que elas decidem;</li><li>Descentralizar as tomadas de decisão.</li></ul><p>Diante de tantos desafios para um novo <em>Tech Lead</em> o ideal é entrar em sintonia com a nova função. Ler sobre liderança, negócio, startup e gestão de times. Preparar-se para de fato exercer a função da melhor forma.</p><p>Uma dica extra — que funcionou para mim — é desconectar de assuntos técnicos por um tempo e focar em desenvolver <em>soft skills</em>. No meu caso eu parei de estudar por um ano inteiro qualquer assunto técnico, e passei a estudar proativamente liderança.</p><p>Chegamos ao fim do nosso artigo, espero que você tenha gostado das dicas. Mas se você achar que tem alguma boa dica que eu deveria ter falado aqui você pode comentar. E não se esqueça de curtir e compartilhar, também.</p><p><strong><em>Se você curtiu então deixe seu aplauso, compartilhe este texto para ajudar a crescer o blog e siga-me no Twitter </em></strong><a href="https://twitter.com/waldyrfelix"><strong><em>https://twitter.com/waldyrfelix</em></strong></a><strong><em>.</em></strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=313fb97c30e1" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/6-dicas-para-novos-tech-leaders-313fb97c30e1">6 dicas para novos Tech Leaders</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[O que é um Engineering Manager e as habilidades essenciais que este profissional precisa ter…]]></title>
            <link>https://waldyrfelix.com.br/o-que-%C3%A9-um-engineering-manager-e-as-habilidades-essenciais-que-este-profissional-precisa-ter-parte-cc89f2982400?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/cc89f2982400</guid>
            <category><![CDATA[engineering-mangement]]></category>
            <category><![CDATA[gerenciamento]]></category>
            <category><![CDATA[gerenciamento-de-projetos]]></category>
            <category><![CDATA[gestão]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Sat, 07 Nov 2020 11:03:29 GMT</pubDate>
            <atom:updated>2023-01-14T01:34:14.007Z</atom:updated>
            <content:encoded><![CDATA[<h3>O que é um Engineering Manager e as habilidades essenciais que este profissional precisa ter</h3><h4>Ou as habilidades necessárias para se tornar um Engineering Manager competente</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Nxbdnv2wb6oov3ukgQ2X0Q.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/negocio">Foto criada por rawpixel.com — br.freepik.com</a></figcaption></figure><p>Se você procurar no LinkedIn uma vaga de emprego hoje você verá que há muitas vagas para <em>Engineering Manager</em>, <em>Tech Manager</em> e <em>Tech Lead</em>. Olhando rapidamente você pode imaginar que todos são títulos diferentes para a mesma função, ou mesmo confundir-se e achar que <em>Product Manager</em> faz a mesma coisa que todos os outros citados acima.</p><p>Na época em que eu somente programava não havia esse cargo de Engineering Manager, na verdade não havia metade dos títulos pomposos que vemos hoje. Anos atrás um famigerado cargo chamado <em>Web Master</em> fazia tudo, inclusive gerenciar equipes.</p><p>Isto obviamente mudou e vai continuar mudando. Então o que seria um Engineering Manager? Neste artigo vou tentar explicar o que é esta nova função e o que um profissional precisa ter para se tornar bom como <em>Engineering Manager</em>.</p><p>As responsabilidades mudam de acordo com a empresa para cada um dos papeis citados acima, por isso vamos usar a definição desses papeis no Google que parece resolver bem a equação. Lá o <em>Tech Lead</em> e <em>Tech Manager</em> são cargos técnicos, na qual os profissionais lideram times e escrevem código também, a diferença é o escopo, o tamanho da responsabilidade.</p><p>Já o <em>Engineering Manager </em>é um papel de gestão, que não põe a mão no código, mas direciona os times de desenvolvimento, qualidade, arquitetura, DevOps/SRE. É um cargo estratégico, essencial para fazer a coisa acontecer. Precisa de um background de engenharia muito forte. Conseguir embasar as decisões, aprovar ideias e mudanças em comitês de executivos; e conversar com os líderes técnicos e arquitetos de solução da empresa.</p><p>Para se tornar um Engineering Manager é preciso ser um generalista, conhecer de tudo um pouco e ter passado por muita coisa na carreira para dar o suporte necessário a todo o time. Além disso é preciso ter conhecimento de muitas áreas: marketing digital, métricas SaaS, pipeline comercial, design gráfico, design de produto, psicologia, gestão de projetos, arquitetura e desenvolvimento de software.</p><p>Os recrutadores apelidaram este conjunto de <em>skills </em>como <a href="https://en.wikipedia.org/wiki/T-shaped_skills">habilidades em T</a>, que é, na verdade, uma figura de linguagem para descrever como deve ser este perfil. A barra vertical são as habilidades técnicas em engenharia de software e a barra vertical são todos os conhecimentos generalistas formando assim uma capacidade interdisciplinar de resolver problemas.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/941/1*EX7vRHtgNLm5LvBsLt8j0g.png" /><figcaption>Habilidades em forma de T de um Engineering Manager</figcaption></figure><p>Quando o profissional passa a ser líder de equipes, esta interdisciplinaridade torna-se mais importante do que o conhecimento técnico. E líderes com habilidades em forma de T ganham relevância à medida que os produtos tecnológicos crescem em complexidade e permeiam mais áreas do conhecimento humano.</p><p>Neste cenário, Gerentes de Engenharia com este tipo de habilidade são imprescindíveis para gerenciar times efetivamente e fazer a estratégia das empresas virarem software que impactam a vida das pessoas.</p><h3>Métricas</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*95JRayeTJLbTCIo4Q9ZmIA.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/negocio">Foto criada por rawpixel.com — br.freepik.com</a></figcaption></figure><p>Esta habilidade ajudará o gestor a ganhar conhecimento, medindo e comparando o desempenho da equipe. As métricas mais conhecidas atualmente são originárias das metodologias ágeis como é o caso dos gráficos de <em>backlog burnup</em>, <em>sprint burndown</em>, velocidade do time e fluxo de trabalho acumulativo.</p><p>Existem diversas outras métricas de engenharia de software que o <em>Engineering Manager</em> deve ser capaz de extrair e analisar, como por exemplo:</p><ul><li>Vazão de histórias de usuário</li><li>Tempo de espera entre <em>commit</em> e <em>deploy</em></li><li>Frequência de <em>deploys</em> e <em>rollbacks</em></li><li>Vazão de <em>pull requests</em> na <em>branch</em> principal</li><li>Taxa de bugs por <em>deploy</em></li></ul><p>Outras métricas de negócios como CAC, LTV, Churn e funil de conversão devem ser obrigatórias para um Engineering Manager, principalmente se estamos falando de uma empresa SaaS.</p><p><strong>Como aprender sobre métricas?</strong></p><p>Um método bastante eficaz para medir e acompanhar diversos indicadores de toda a empresa é o <strong><em>OKR (Objective Key Results)</em></strong>. Segue uma dica de livro para quem quiser aprender a avaliar o que realmente importa:</p><p><a href="https://www.amazon.com/Avalie-Que-Importa-Funda%C3%A7%C3%A3o-sacudiram-ebook/dp/B07N8F9BVN/">Avalie o Que Importa: Como Google, Bono Vox e a Fundação Gates sacudiram o mundo com os OKRs (Portuguese Edition)</a></p><h3>Finanças</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*P3M48vU4gUFilxdaWKWGnA.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/negocio">Foto criada por jannoon028 — br.freepik.com</a></figcaption></figure><p>Na posição de um <em>Engineering Manager</em> é preciso ter um conhecimento mais aprofundado de controle orçamentário, pois saber direcionar gastos e investimentos é essencial para otimizar o desempenho dos times.</p><p><em>Budget</em> é o termo usado para designar o orçamento disponível, que geralmente é provisionado no final do ano, utilizando projeções de crescimento para o ano seguinte.</p><p>Recrutamento de novos membros para o time, troca de equipamentos, compra de licenças, custo com infraestrutura em nuvem, investimento em consultorias externas, treinamentos e eventos são os itens recorrentes nas complexas planilhas de controle de <em>budget</em>.</p><p>Muitas empresas trabalham com o conceito de Capex e Opex para direcionar o orçamento anual. Capex se refere aos investimentos feitos para aquisição de infraestrutura física, despesas únicas realizadas de uma vez. Opex ao custo operacional contínuo, despesas recorrentes.</p><p><strong>Como aprender sobre <em>budget</em>?</strong></p><p>Preparei um <em>template </em>simples de planilha que pode ser usado como base para planejamento de <em>budget:</em></p><p><a href="https://docs.google.com/spreadsheets/d/1hjH0xitzAiS8sQXIRcOpSVFL8LWmNyedHCTgJGvm-pk/edit?usp=sharing">Budget anual time tecnologia</a></p><h3>Comunicação escrita</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*K96PPbxwg2NfLUekwlVeRw.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/negocio">Foto criada por katemangostar — br.freepik.com</a></figcaption></figure><p>Ser capaz de se comunicar de forma efetiva com o time, outros gerentes, clientes e fornecedores é uma habilidade essencial para o Engineering Manager.</p><p>A capacidade de escrever bem, tornou-se tão essencial pelo fato de trabalharmos num mundo altamente conectado com equipes distribuídas geograficamente — as vezes em fusos diferentes — utilizando ferramentas de comunicação em grupo através de texto e de forma assíncrona.</p><p>Slack, Teams e aquele bom e velho e-mail são os meios mais recomendados para troca rápida de mensagem, e também por formalizar o que foi combinado, mantendo o histórico do fluxo de ideias que emergem na interação entre os membros do time.</p><p><strong>Como aprender a escrever bem?</strong></p><p>Escrever bem é uma daquelas habilidades que só a prática pode ensinar, no entanto ler é essencial para ter repertório estilístico, figuras de linguagem e estruturas gramaticais diversas.</p><p>Uma dica para aprender a escrever bem é ler os clássicos, os pais fundadores da língua, os grandes autores que marcaram história, estes sim têm muito a nos ensinar sobre escrita.</p><p>Um exercício interessante é imitar o estilo e estrutura de texto de algum autor que você goste, depois que estiver escrevendo igualzinho ao autor escolhido, passe para outro e faça o mesmo. Não é tão difícil quanto parece e neste ínterim você irá encontrar sua própria voz na escrita e ganhará um excelente repertório.</p><h3>Liderança</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*GQQ6XKowfY0Ruehz.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/negocio">Foto criada por rawpixel.com — br.freepik.com</a></figcaption></figure><p>Um líder basicamente é um movimentador. É da liderança que surgem inovações, soluções de problemas e criação de negócios. Um bom <em>Engineering Manager</em> tem que protagonizar as ações realizadas pelo time, unir as pessoas em torno de um propósito e conduzi-las para o objetivo com energia e foco.</p><p>A forma mais suave de fazer as coisas acontecerem é engajando o time para que as pessoas desejem fazer o que precisa ser feito. Esta abordagem potencializa o indivíduo; reduz o atrito diário de ter que “forçar a barra” para as coisas serem entregues; e evita que o trabalho se torne monótono e estressante pois as pessoas passam a acreditar no propósito.</p><p>Apenas um líder é capaz de mudar a percepção das pessoas, para que o trabalho chato e monótono se transforme em uma missão para atingir um propósito maior.</p><p><strong>Como aprender sobre liderança?</strong></p><p><a href="https://www.amazon.com.br/dp/B07HP9MDJW/">Comece pelo porquê</a></p><h3>Gestão de pessoas</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zgNJAA1PszEk-vRm" /><figcaption>Photo by <a href="https://unsplash.com/@mvdheuvel?utm_source=medium&amp;utm_medium=referral">Maarten van den Heuvel</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Esta é uma habilidade que anda de mãos dadas com a liderança, mas aqui quero dar um enfoque diferente e falar sobre <em>workforce management</em>.</p><p>Previsibilidade de demandas, gestão de competência e escala do time — em alguns casos gestão de tempo também — são assuntos que precisam ser endereçados pelo <em>Engineering Manager</em>.</p><p>É crucial, além disso, que este profissional seja capaz de conduzir os processos de contratação e trazer pessoas talentosas para o time — mas isso é assunto para um outro artigo.</p><p><strong>Como fazer gestão de pessoas?</strong></p><p><a href="https://www.amazon.com.br/gp/product/B079WNPRL2/">The Making of a Manager: What to Do When Everyone Looks to You (English Edition)</a></p><h3>Psicologia</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*PqHuSKn9E6411x5j.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/arvore">Foto criada por jcomp — br.freepik.com</a></figcaption></figure><p>Frequentemente excelentes programadores tornam-se péssimos líderes. Pessoas técnicas tendem a encarar o mundo como um conjunto de operações lógicas, mas o mundo é mais complexo que isto.</p><p>Pensar apenas logicamente para resolver problemas do mundo real nunca dará certo por um simples motivo: pessoas! As pessoas não são lógicas, coerentes, tampouco fáceis de decifrar.</p><p>Ter habilidade para sintonizar com as pessoas, entender o comportamento e como cada uma delas pensa é uma grande ferramenta para conseguir realizar bem a tarefa de liderar um time inteiro em busca de objetivos.</p><p><strong>Como aprender psicologia?</strong></p><p>O enfoque em psicologia no cenário de um <em>Engineering Manager</em> é meramente instrumental, ou seja, devemos usar psicologia como ferramenta para entender as pessoas e conseguir prever seu comportamento, antecipar situações, e com isto, estar sempre um passo à frente.</p><p>Prestar atenção no comportamento das pessoas e conectar suas ações com as respectivas consequências é uma forma muito eficaz de aprender sobre elas. Claro que estudar um pouco sobre psicologia ajuda muito, por isso indico que para pegar gosto pela coisa você comece por este artigo:</p><p><a href="https://blog.trello.com/br/teste-de-personalidade-mbti">Teste de personalidade MBTI: você conhece essa metodologia?</a></p><h3>Design</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Vwxy3E9YL1t0hxbZ.jpeg" /><figcaption><a href="https://br.freepik.com/fotos/padrao">Foto criada por snowing — br.freepik.com</a></figcaption></figure><p>Dominar as técnicas e metodologias do <em>design </em>não é uma habilidade qualquer. Seria demais pedir que um <em>Engineering Manager</em> tivesse condições de mover-se também neste sentido.</p><p>No entanto, a contribuição imparcial de alguém experimentado em tipos de aplicações variadas é sem sombra de dúvidas valiosa para o time. Ter uma boa noção de <em>design </em>e do que funciona ou não em <em>user experience</em> é uma habilidade e tanto.</p><p><strong>Como aprender <em>design </em>sem ser um <em>designer</em>?</strong></p><p>Um filósofo e matemático alemão chamado <a href="https://pt.wikipedia.org/wiki/Gottfried_Wilhelm_Leibniz">Leibniz</a>, dizia:</p><blockquote>Aquele que decorar mais figuras será no fim das contas o mais inteligente.</blockquote><p>Gosto muito de realizar <em>benchmarks </em>sobre funcionalidades que estamos prestes a desenvolver — isto me lembrou essa frase — pois é exatamente isso que eu faço. Busco concorrentes, funcionalidades parecidas ou que usam um componente semelhante, experimento, testo.</p><p>Os <em>benchmarks </em>servem para te dar um norte sobre o que funciona e o que não funciona. Recomendo fazer isto sempre que for desenvolver algo novo. No meu caso isto tem dado bons resultados, pois me dá insumo para contribuir ativamente com sugestões embasadas em algo que já funciona no mundo real.</p><p>Uma dica pra quem quiser ler sobre <em>design </em>é seguir esta publicação:</p><p><a href="https://brasil.uxdesign.cc/">UX Collective 🇧🇷</a></p><h3>Negociação</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*oSyTdA6fhGBoM0YR" /><figcaption>Photo by <a href="https://unsplash.com/@charlesdeluvio?utm_source=medium&amp;utm_medium=referral">Charles Deluvio</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Boa parte da energia diária do <em>Engineering Manager</em> é gasta com reuniões e conversas para negociar prazos e <em>features</em> com várias áreas da empresa.</p><p>Informar o time de negócios sobre o que está acontecendo, traduzir em termos inteligíveis problemas técnicos complexos, gerenciar expectativas de todos os envolvidos e manter um bom relacionamento são tarefas de um líder de desenvolvimento.</p><p>A coisa mais óbvia do mundo é que nem tudo pode ser feito. Ou nem tudo dá pra ser feito no tempo que se deseja. No entanto, o time de negócios não sabe disso. Fazer gestão desta expectativa, “colocar os pingos nos i’s” e dizer não algumas vez também faz parte.</p><p><strong>Como aprender a arte da negociação?</strong></p><p>Negociar é algo que se aprende na prática. Quanto mais interação com pessoas, suas demandas e desejos de negócio melhor você vai ficar em negociação.</p><p>Recomendo ler um clássico para aprender um pouco sobre isso, que basicamente é lidar com pessoas, seus desejos e expectativas:</p><p><a href="https://www.amazon.com.br/dp/B07YLX1NHY">Como fazer amigos e influenciar pessoas</a></p><h3>Apresentação</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*UvSRXkdcOh9iJ3U9" /><figcaption>Photo by <a href="https://unsplash.com/@austindistel?utm_source=medium&amp;utm_medium=referral">Austin Distel</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Conseguir apresentar-se bem em público é importante para fazer-se entender, consequentemente, obter apoio em uma certa estratégia, engajar as pessoas a produzirem algum resultado desejado, fazer com os patrocinadores comprem seu projeto, inspirar os desenvolvedores em determinada direção, e assim por diante.</p><p>Ter capacidade de apresenta-se claramente para públicos diferentes ajuda o <em>Engineering Manager </em>a causar mais impacto e obter resultados melhores em suas empreitadas.</p><p><strong>Como aprender a apresentar-se?</strong></p><p>Existe uma quantidade absurda de material na internet sobre como aprender a falar em público, mas eu particularmente acho este TED Talk fantástico:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FeIho2S0ZahI%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DeIho2S0ZahI&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FeIho2S0ZahI%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/777065d4018ca8f6641ac1b927854dae/href">https://medium.com/media/777065d4018ca8f6641ac1b927854dae/href</a></iframe><h3>Empreendedorismo</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*IMxMYT4DSxsstm9B.jpeg" /><figcaption>Foto criada por <a href="https://unsplash.com/@epicantus?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Daria Nepriakhina</a> no <a href="https://unsplash.com/s/photos/startup--book?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure><p>Um <em>Engineering Manager</em> que consegue liderar pessoas e entregar as demandas no prazo está apenas cumprindo as expectativas. Como dizia minha mãe quando eu chegava com notas boas da escola “não faz mais que sua obrigação”.</p><p>Para ser excelente nesta função o profissional precisa entregar mais. Que no nosso mundo moderno de startups significa trazer insights do mercado, buscar atender melhor o cliente na ponta, ser arrojado na tomada de decisão, tomar riscos e inovar sempre.</p><p>Ou seja, fazer mais do mesmo de forma repetitiva, mesmo que com boa performance, não é o suficiente. Vivemos num mundo onde a velocidade da mudança e a inteligência com que atacamos os problemas é um fator competitivo crucial.</p><p><strong>Como aprender sobre empreendedorismo?</strong></p><ul><li><a href="https://www.amazon.com.br/dp/8543108624">A startup enxuta</a></li><li><a href="https://www.amazon.com.br/dp/B07H9HH7LC/">Organizações exponenciais: Por que elas são 10 vezes melhores, mais rápidas e mais baratas que a sua (e o que fazer a respeito)</a></li><li><a href="https://www.amazon.com.br/dp/8576801280">O Dilema da Inovação</a></li></ul><p><em>Engineering Manager</em> é um papel estratégico que une capacidade técnica, visão de negócios, gestão de pessoas e empreendedorismo. Estar apto a desempenhar este cargo requer que o profissional seja interdisciplinar, autodidata e capaz de desembaraçar várias situações “atípicas” do cotidiano. Isto é crucial para que o time entregue com a qualidade e velocidade as milhares de necessidade de uma empresa de tecnologia num mercado tão efervescente quanto o nosso.</p><p>Certamente um profissional com todas as habilidades não se acha tão facilmente por aí. Isto é o que faz um <em>Engineering Manager</em> tão especial: sua raridade.</p><p>As empresas estão buscando muitos profissionais para desempenhar esta função e não estão achando facilmente. Dá uma olhada numa busca no LinkedIn feita no dia 11 de novembro de 2020:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*_E_2Bbqi-uylbMIW.png" /><figcaption>Busca no LinkedIn por vagas de Engineering Manager no mundo inteiro</figcaption></figure><p><strong><em>Este artigo teve o intuito de elucidar sobre o papel de Engineering Manager. Se você curtiu então deixe seu aplauso, compartilhe este texto para ajudar a crescer o blog e siga-me no Twitter </em></strong><a href="https://twitter.com/waldyrfelix"><strong><em>https://twitter.com/waldyrfelix</em></strong></a><strong><em>.</em></strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cc89f2982400" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/o-que-%C3%A9-um-engineering-manager-e-as-habilidades-essenciais-que-este-profissional-precisa-ter-parte-cc89f2982400">O que é um Engineering Manager e as habilidades essenciais que este profissional precisa ter…</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Escalabilidade vertical vs escalabilidade horizontal]]></title>
            <link>https://waldyrfelix.com.br/escalabilidade-vertical-vs-escalabilidade-horizontal-6a3981783477?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/6a3981783477</guid>
            <category><![CDATA[scalability]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Tue, 03 Mar 2020 02:25:15 GMT</pubDate>
            <atom:updated>2023-01-14T01:34:54.135Z</atom:updated>
            <content:encoded><![CDATA[<p>Escalabilidade é a habilidade de ajustar o sistema à capacidade desejada, o que geralmente significa lidar com mais e mais cargas de trabalho com baixo custo.</p><p>Quando falamos de produtos de alta escala, essas cargas de trabalho geralmente representam usuários, dados armazenados, transações ou número de requisições, tudo relacionado ao crescimento sem afetar a experiência do usuário.</p><p>A escalabilidade pode ser avaliada usando algumas métricas, três delas explicadas aqui:</p><h3>Métricas de escalabilidade</h3><h4>Mais volume de dados</h4><p>À medida que sua empresa cresce, você terá que lidar com mais e mais dados de contas de usuário, dados de localização, informações sobre produtos, imagens, vídeos, registros e assim por diante.</p><p>Assim, lidar com grandes volumes de dados torna-se um desafio, porque nunca é somente armazenar o dado, você precisa pesquisar, classificar, ler a partir do disco e atualizá-lo de forma eficiente — sem degradar a performance ou matar a experiência do usuário.</p><p>Atualmente, com o advento do big data, armazenar petabytes de informação é um requisito comum; portanto, quanto mais dados forem armazenados, melhor será o aprimoramento da precisão da análise e a expansão da amostragem de dados.</p><h4>Maior concorrência</h4><p>Concorrência significa mais conexões, threads, mensagens, fluxos de dados sendo processados em paralelo, manipulando várias sessões do usuário ao mesmo tempo.</p><p>Em aplicações Web, concorrência significa quantos usuários podem interagir com o sistema ao mesmo tempo sem afetar sua experiência.</p><p>É difícil alcançar altos níveis de simultaneidade porque, em um WebApp, todas as requisições são processadas pelos mesmos servidores, para que os usuários compartilhem memória, CPU, rede e disco.</p><h4>Maior taxa de interação</h4><p>Esta dimensão está relacionada à concorrência, mas é um pouco diferente da métrica anterior, mede a frequência com que o usuário troca mensagem com os servidores. A taxa de interações pode aumentar ou diminuir de acordo com o tipo de sistema que você possui.</p><p>Por exemplo, um jogo multiplayer online tem uma alta taxa de interação porque precisa trocar mensagens várias vezes por segundo entre a máquina cliente do jogador e o servidor e entre os jogadores também.</p><p>Geralmente, o maior desafio aqui é manter latência baixa mesmo com altas taxas de interação entre vários usuários em todo o mundo e o sistema.</p><h3>Escalabilidade Vertical</h3><p>Escalar verticalmente é relativamente simples, basta adicionar mais recursos ao hardware do servidor, como CPU e memória, ou melhorar o desempenho do disco, alterando-o para um mais rápido.</p><p>Essa estratégia é rápida e geralmente não requer nenhuma alteração arquitetural, especialmente na computação em nuvem, onde é possível aumentar a capacidade de uma máquina virtual com apenas alguns cliques.</p><p>No entanto, em rapidamente você poderá atingir o limite de hardware que pode ser usado no mesmo servidor, não poderá aumentar o tamanho da RAM ou a quantidade de CPUs infinitamente.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/880/0*W6wb5ntLMIvepAKy.png" /><figcaption>Ilustração representando escalabilidade vertical</figcaption></figure><p>Servidores poderosos são caros, por exemplo um servidor AWS EC2 m4.2xlarge possui 8 CPUs, 32 GB de RAM e custa US$ 302 mensalmente, se você precisar adicionar 16 GB de RAM, você terá que dobrar a quantidade de memória, pois o próximo nível desse tipo de servidor na AWS é o m4.4xlarge com 16 CPUs, 64 GB de RAM e custa exatamente o dobro, US$ 604 / mês.</p><p>Além disso, centralizar o processamento em um único servidor não é uma boa ideia, pode ser perigoso, porque não é uma estratégia tolerante a falhas, visto que todo o sistema ficará indisponível se o servidor travar.</p><h4>Escalabilidade Horizontal</h4><p>Existem várias técnicas para dimensionamento horizontal, o que é realizado de maneira simples, adicionando servidores mais simples em vez de comprar apenas uma máquina poderosa.</p><p>A escalabilidade horizontal é o pote de ouro de muitas empresas globais para atender a um grande número de clientes em todo o mundo com a mesma experiência do usuário — por exemplo Netflix, Uber e Amazon.</p><p>Comprar sempre o hardware mais robusto não é a maneira mais econômica de atender a uma base de usuários sempre crescente. Embora você precise investir mais em engenharia de software para oferecer suporte a grandes volumes de dados, altos níveis de concorrência e uma maior taxa de interação.</p><p>Em um cenário de produto de grande escala, investir em engenharia de software geralmente é recompensado posteriormente, pois é mais barato adicionar mais capacidade de distribuir o sistema em vários servidores com arquitetura de software sofisticada.</p><p>Quando você precisar lidar com mais concorrência de usuários em uma aplicação web usando escalabilidade horizontal, adicione clones do mesmo servidor de serviço lado a lado e distribua solicitações com um balanceador de carga. Essa arquitetura se parece com a imagem abaixo:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/880/0*LXkmioIBVpJvPXBX.png" /><figcaption>Ilustração representando escalabilidade horizontal</figcaption></figure><p>No entanto, investir em engenharia de software geralmente é complexo e caro no começo, pois é necessário contratar uma equipe maior e profissionais mais experientes para obter o projeto arquitetônico necessário para a escalar horizontalmente.</p><p>A capacidade de escalar horizontalmente é uma grande conquista que pode ser obtida usando técnicas de arquitetura de software e tecnologias específicas para este fim.</p><p>Em outras postagens, abordarei alguns padrões, princípios, técnicas e tecnologias de design geralmente aplicadas em produtos web de alta escala.</p><p><strong><em>Se você curtiu então deixe seu aplauso, compartilhe este texto para ajudar a crescer o blog e siga-me no Twitter </em></strong><a href="https://twitter.com/waldyrfelix"><strong><em>https://twitter.com/waldyrfelix</em></strong></a><strong><em>.</em></strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6a3981783477" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/escalabilidade-vertical-vs-escalabilidade-horizontal-6a3981783477">Escalabilidade vertical vs escalabilidade horizontal</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Os critérios de decisão para escolher entre os estilos de arquitetura monolítica e microsserviço]]></title>
            <link>https://waldyrfelix.com.br/os-crit%C3%A9rios-de-decis%C3%A3o-para-escolher-entre-os-estilos-de-arquitetura-monol%C3%ADtica-e-microsservi%C3%A7o-f2534be6a575?source=rss-c51da7ffd2ae------2</link>
            <guid isPermaLink="false">https://medium.com/p/f2534be6a575</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[microservices]]></category>
            <dc:creator><![CDATA[Waldyr Felix]]></dc:creator>
            <pubDate>Wed, 15 May 2019 15:01:01 GMT</pubDate>
            <atom:updated>2023-01-14T01:35:21.630Z</atom:updated>
            <content:encoded><![CDATA[<h3>Como escolher entre arquitetura de microsserviços e monolítica</h3><p>A diferença entre elas é grande! Vai desde como se pensa a solução até a implementação da mesma, sem falar no <em>deploy</em> e operação em produção.</p><p>Aplicações monolíticas são aquelas desenvolvidas para ser instaladas num só lugar, geralmente possuem camadas sobrepostas com responsabilidades distintas e quando é preciso realizar algum ajuste todo o sistema precisa ser atualizado no servidor de produção.</p><p>Na arquitetura de microsserviços a aplicação é distribuída em diversos subaplicações independentes e desacopladas (serviços), cada uma responsável por uma funcionalidade ou módulo da aplicação.</p><p>A imagem abaixo ilustra bem a diferença entre as duas abordagens:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/880/0*dBmkQNanJj5laQc5.jpg" /><figcaption>Esquema de arquitetura monolítica vs arquitetura de microsserviços</figcaption></figure><h4>Vantagens e desvantagens da arquitetura de microsserviços</h4><p>Arquiteturas de microsserviços são tipicamente melhor organizadas. Cada microsserviço tem um trabalho muito específico, bem definido e serve a um único propósito.</p><p>Eles permitem <em>deployment</em> independente, ou seja, caso você precise subir uma nova versão de um serviço, isso não afetará a disponibilidade dos outros.</p><p>É possível isolar serviços importantes em uma infraestrutura apartada e escalá-los independentemente do restante do sistema.</p><p>Os microsserviços permitem o desenvolvimento paralelo, numa mesma equipe ou separando as demandas em times distintos.</p><p>É mais difícil de criar uma camada para encapsular preocupações transversais, comuns a vários módulos numa arquitetura de microsserviços.</p><p>É impossível ser produtivo se não houver uma boa automatização de <em>deploy</em>, pois os microsserviços são freqüentemente implantados em suas próprias máquinas virtuais ou contêineres, o que é muito trabalhoso para gerenciar manualmente.</p><p>Você vai precisar de <em>API Gateway</em> para orquestrar os microsserviços.</p><p>Permite independência tecnológica em cada um dos serviços. Por exemplo, numa API de pesquisa podemos utilizar C++ ou Rust para otimizar a performance ao máximo, enquanto os outros serviços podem ser desenvolvido numa linguagem mais produtiva e simples como C# ou Java, por exemplo.</p><h4>Vantagens e desvantagens da arquitetura monolítica</h4><p>Com uma arquitetura monolítica é possível subir rapidamente uma PoC ou MVP para validar um negócio ou produto.</p><p>Um sistema monolítico é mais fácil de entender, possui uma curva de aprendizado menor e, obviamente, existem mais desenvolvedores familiarizados com este modelo.</p><p>Difícil de escalar: a medida que a aplicação vai crescendo a tendência é sempre duplicar a infraestrutura e colocar os servidores embaixo de um <em>load balancer</em> ou simplesmente aumentar o tamanho do servidor.</p><p>Por ser construído como um único código, se algo quebrar todo o sistema fica indisponível.</p><p>O ambiente de desenvolvimento fica muito mais simples quando a arquitetura é monolítica.</p><h3>Escolha uma arquitetura monolítica</h3><ul><li>Seu time não tem experiência alguma com microsserviços</li><li>Se seu projeto for de curto prazo para entrega e você não tem tempo para gastar com automatização de <em>deploy</em> e orquestração dos serviços</li><li>Você está criando um produto com nível alto de incerteza, tipo um MVP</li></ul><h3>Escolha uma arquitetura de microsserviços</h3><ul><li>Escalabilidade é um requisito fundamental</li><li>Se você não tem um prazo apertado</li><li>Independência e velocidade de release dos serviços são importantes</li><li>Uma parte da aplicação precisa ser extremamente eficiente</li><li>Você tem um time experiente e capaz de desenvolver em várias linguagens</li><li>Você tem um profissional de DevOps na equipe ou alguém que possa exercer este papel</li></ul><p>Apesar dos microsserviços estarem se tornando cada vez mais populares é importante avaliar e entender a aderência desta abordagem, pois não existe uma solução para todos os problemas e por mais bonita que a solução possa parecer há outras variáveis como tempo e custo do projeto, cultura e engajamento do time e longevidade da solução.</p><p><strong><em>Se você curtiu então deixe seu aplauso, compartilhe este texto para ajudar a crescer o blog e siga-me no Twitter </em></strong><a href="https://twitter.com/waldyrfelix"><strong><em>https://twitter.com/waldyrfelix</em></strong></a><strong><em>.</em></strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f2534be6a575" width="1" height="1" alt=""><hr><p><a href="https://waldyrfelix.com.br/os-crit%C3%A9rios-de-decis%C3%A3o-para-escolher-entre-os-estilos-de-arquitetura-monol%C3%ADtica-e-microsservi%C3%A7o-f2534be6a575">Os critérios de decisão para escolher entre os estilos de arquitetura monolítica e microsserviço</a> was originally published in <a href="https://waldyrfelix.com.br/">Waldyr Felix</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>