<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Leticia @levxyca</title>
    <description>The latest articles on Forem by Leticia @levxyca (@levxyca).</description>
    <link>https://forem.com/levxyca</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F239370%2F258185f2-cc3c-4d1c-88f1-a2ab6240b0f3.png</url>
      <title>Forem: Leticia @levxyca</title>
      <link>https://forem.com/levxyca</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/levxyca"/>
    <language>en</language>
    <item>
      <title>Preciso ser dev pra ser DevRel?</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Thu, 03 Jul 2025 19:10:37 +0000</pubDate>
      <link>https://forem.com/levxyca/preciso-ser-dev-pra-ser-devrel-46k1</link>
      <guid>https://forem.com/levxyca/preciso-ser-dev-pra-ser-devrel-46k1</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Se você está lendo este artigo e não sabe o que é DevRel, &lt;a href="https://www.linkedin.com/pulse/o-que-%C3%A9-developer-relations-devrel-leticia-leonardo-vd5cf/" rel="noopener noreferrer"&gt;te convido a ler meu artigo que explica sobre isso.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Agora vamos ao que interessa: preciso ser dev pra ser DevRel?
&lt;/h2&gt;

&lt;p&gt;Quando falamos sobre &lt;strong&gt;Developer Relations&lt;/strong&gt;, falamos sobre o nosso usuário (público-alvo) serem as pessoas desenvolvedoras, ou pessoas da área tech num aspecto mais amplo, pois temos QAs, DevOps e por aí vai, que também podem ser nosso público.&lt;/p&gt;

&lt;p&gt;Esse público em específico costuma ter suas particularidades. Esse é um dos motivos da nossa área existir: trabalhamos de uma forma diferente quando trabalhamos com devs como público.&lt;/p&gt;

&lt;p&gt;E isso nos leva a:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Para entender esse público, precisamos entender esse público 😅 Entende onde quero chegar?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Precisamos, muitas vezes, entender como é seu dia a dia, suas dores, etc., para conseguir criar essas relações genuínas e chegar até eles de uma maneira honesta, atuando de forma a representá-los para a empresa e a representar a empresa para eles, de forma equilibrada.&lt;/p&gt;




&lt;h3&gt;
  
  
  Mas, para entender tudo isso, você precisa ser dev?
&lt;/h3&gt;

&lt;p&gt;Minha resposta direta e crua para isso é: &lt;strong&gt;não&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Eu comecei minha carreira na área tech como desenvolvedora de software, e isso, sem sombra de dúvidas, me deu um background muito bom para conseguir trabalhar com esse público em DevRel. Mas, se você não era dev, eu genuinamente não acredito que isso te impeça de ser DevRel.&lt;/p&gt;

&lt;p&gt;Como mencionei, é importante entender esse público, então provavelmente você vai acabar tendo que estudar pelo menos o básico da área e começar a entender como as coisas funcionam e tá tudo bem! Até porque eu considero que um dos nossos “superpoderes” é estar disposto a aprender linguagens e ferramentas específicas, dependendo de onde você vai trabalhar.&lt;/p&gt;

&lt;p&gt;Uma das coisas que eu mais gosto em Developer Relations é justamente ver como é uma área bem multidisciplinar. Você tem ali dentro, não necessariamente nessa ordem e nem obrigatoriamente tudo isso - desenvolvimento, comunicação, escrita, criação de conteúdo…&lt;/p&gt;

&lt;p&gt;E precisa de muita:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Empatia&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Escuta ativa&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curiosidade&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolução de problemas&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adaptabilidade&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inteligência emocional&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proatividade&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claro que, se você for atuar em uma posição que precise de alguém muito técnico em desenvolvimento, bom… aí você já sabe, né? &lt;em&gt;haha.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Mas o meu ponto é: &lt;strong&gt;DevRel pode ser pra você também!&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Em resumo:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Não. Não precisa ser dev para ser DevRel.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ter experiência técnica ajuda muito, mas pessoas com background em comunicação, marketing, design ou comunidade também podem atuar em DevRel, desde que entendam o público dev e consigam traduzir necessidades técnicas.&lt;/p&gt;

&lt;p&gt;E você, já pensou em trabalhar com DevRel ou já atua na área? Me conta nos comentários ou manda uma mensagem! Vamos trocar ideias e experiências. 🚀 &lt;a href="https://www.levxyca.com/" rel="noopener noreferrer"&gt;https://www.levxyca.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>O que é Developer Relations (DevRel)?</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Mon, 02 Jun 2025 20:41:31 +0000</pubDate>
      <link>https://forem.com/levxyca/o-que-e-developer-relations-devrel-4e5m</link>
      <guid>https://forem.com/levxyca/o-que-e-developer-relations-devrel-4e5m</guid>
      <description>&lt;p&gt;Developer Relations é a área, ou a pessoa, que cuida do relacionamento com pessoas desenvolvedoras. Pode ser uma função específica dentro da empresa, uma equipe dedicada ou até um programa estruturado.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Para a empresa, eu represento a comunidade. Para a comunidade, eu represento a empresa.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;O foco de DevRel não é vender um produto. É apoiar pessoas desenvolvedoras com o que elas precisam para terem sucesso: conteúdos que ensinam, suporte que resolve, espaços para troca e ferramentas que funcionam. É sobre criar conexões de verdade com quem está do outro lado do código.&lt;/p&gt;

&lt;p&gt;Quando bem feita, essa estratégia ajuda não só na adoção do produto, mas também na criação de uma comunidade que se sente parte da construção. Isso fortalece a confiança, abre espaço para feedback direto e estimula a inovação de forma colaborativa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Os pilares de DevRel
&lt;/h2&gt;

&lt;p&gt;A atuação em DevRel costuma se apoiar em alguns pilares:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Developer Experience (DX)&lt;/strong&gt;: o olhar para a experiência de quem usa o produto sendo uma pessoa desenvolvedora. É como o UX, mas com foco técnico.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Developer Marketing&lt;/strong&gt;: ajuda a espalhar a mensagem certa, no canal certo, para o público certo, e sempre com escuta ativa pra melhorar o produto.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Developer Education&lt;/strong&gt;: conteúdos, tutoriais e formações que ajudam na adoção e no uso mais consciente da tecnologia.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Developer Success&lt;/strong&gt;: suporte ativo para garantir que quem usa o produto consiga alcançar seus objetivos com ele.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Comunidade&lt;/strong&gt;: o pilar mais vivo e relacional, onde a troca acontece, onde se constroem laços e se fortalece o senso de pertencimento.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DevRel é uma área multidisciplinar, e cada empresa vai dar mais foco a um ou outro pilar, dependendo do momento e da estratégia. Como alguém que trabalha com isso, posso dizer: essa mistura de tech, comunicação e pessoas é o que torna essa área tão potente.&lt;/p&gt;

&lt;h2&gt;
  
  
  DevRel não é marketing tradicional
&lt;/h2&gt;

&lt;p&gt;Embora o &lt;strong&gt;Developer Marketing&lt;/strong&gt; esteja entre os pilares, &lt;strong&gt;Developer Relations vai além da lógica tradicional de marketing&lt;/strong&gt;. A forma como a gente se comunica com devs precisa ser diferente: não é sobre vender, é sobre gerar valor.&lt;/p&gt;

&lt;p&gt;No meu caso, gosto de tratar o marketing como resultado das ações de educação. Em vez de simplesmente anunciar uma nova funcionalidade, prefiro mostrar como ela resolve uma dor ou facilita o dia a dia de quem está no código. Isso aproxima, cria conexão e faz com que o conteúdo realmente ajude quem está lendo&lt;/p&gt;

&lt;h2&gt;
  
  
  Quem trabalha com DevRel?
&lt;/h2&gt;

&lt;p&gt;Os cargos podem variar: Developer Advocates, Community Managers, Technical Writers, Evangelists… ou até mesmo, uma pessoa de DevRel, como é o meu caso. Mas, no fim, todas essas funções têm em comum o papel de ponte. Uma pessoa de DevRel conecta empresa e comunidade, traduz necessidades técnicas, compartilha aprendizados e garante que a voz de quem desenvolve seja ouvida.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que DevRel importa?
&lt;/h2&gt;

&lt;p&gt;Empresas que investem nessa área não estão só promovendo seus produtos, estão construindo relações. Estão ouvindo, aprendendo com a comunidade, co-criando soluções. E isso faz toda a diferença.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>devrel</category>
    </item>
    <item>
      <title>De Dev para Dev: por que parei de fazer 'projetos de curso' e o que mudou na minha carreira</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Mon, 05 May 2025 22:53:22 +0000</pubDate>
      <link>https://forem.com/levxyca/de-dev-para-dev-por-que-parei-de-fazer-projetos-de-curso-e-o-que-mudou-na-minha-carreira-4h87</link>
      <guid>https://forem.com/levxyca/de-dev-para-dev-por-que-parei-de-fazer-projetos-de-curso-e-o-que-mudou-na-minha-carreira-4h87</guid>
      <description>&lt;p&gt;&lt;strong&gt;Isso aqui não é só sobre portfólio. É sobre como projetos reais me ensinaram a ser uma dev melhor e como você pode usar essa mesma estratégia pra se destacar.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Demonstrar suas habilidades como pessoa desenvolvedora pode ser um desafio, seja quando você está começando na área ou mesmo quando já tem experiência, mas quer testar tecnologias novas.&lt;/p&gt;

&lt;p&gt;Eu sempre falo sobre isso em palestras: &lt;strong&gt;criar um projeto real pra resolver um problema do dia a dia&lt;/strong&gt;. E dessa vez, vou compartilhar tudo com vocês.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que projetos reais &amp;gt; projetos de curso?
&lt;/h2&gt;

&lt;p&gt;Entendo perfeitamente a importância dos projetos de estudo, dos clones e das réplicas. Eles são um ótimo ponto de partida! Mas projetos que resolvem problemas reais têm um peso diferente:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mostram &lt;strong&gt;como você pensa&lt;/strong&gt; (não só como segue tutoriais)&lt;/li&gt;
&lt;li&gt;Viram &lt;strong&gt;histórias reais&lt;/strong&gt; pra contar em processos seletivos&lt;/li&gt;
&lt;li&gt;Podem até virar ferramentas úteis pra outras pessoas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exemplo real meu:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lembro até hoje que em um dos meus estágios como desenvolvedora, na entrevista do processo seletivo, o pandadomalbot (um bot open source feito para as minhas lives da twitch) virou meu case favorito em entrevistas. &lt;strong&gt;Zero&lt;/strong&gt; perguntas sobre meus projetos "de curso", só queriam saber como lidei com os desafios reais dele.&lt;/p&gt;

&lt;h2&gt;
  
  
  Minha grande dica? Pense em problemas reais.
&lt;/h2&gt;

&lt;p&gt;Quando me perguntam &lt;em&gt;"Que projeto posso fazer pra portfólio?"&lt;/em&gt;, minha resposta é sempre a mesma: &lt;strong&gt;"O que te incomoda no seu dia a dia?"&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Um processo repetitivo no trabalho?&lt;/li&gt;
&lt;li&gt;Algo que dê pra automatizar na sua rotina?&lt;/li&gt;
&lt;li&gt;Uma ferramenta que você usa, mas poderia ser melhor?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Isso vale pra qualquer nível de experiência.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  E se for open source, melhor ainda!
&lt;/h2&gt;

&lt;p&gt;Não é obrigatório, mas eu sempre vou bater nessa tecla. Um projeto open source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mostra que você sabe trabalhar em equipe (issues, PRs, code reviews)&lt;/li&gt;
&lt;li&gt;Deixa seu código exposto (e isso é ótimo pra sua credibilidade)&lt;/li&gt;
&lt;li&gt;Pode crescer com a comunidade&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  E agora? Bora pra ação!
&lt;/h2&gt;

&lt;p&gt;Nas próximas semanas, vou criar um projeto pra resolver um problema que tenho no meu trabalho com DevRel (e que talvez outras pessoas também tenham). Vou documentar tudo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Como escolhi a stack&lt;/li&gt;
&lt;li&gt;Decisões técnicas&lt;/li&gt;
&lt;li&gt;Erros e acertos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Você topa embarcar nessa comigo?&lt;/strong&gt; Se também tá pensando em criar algo, comenta aí qual problema você resolveria, ou me conta se já fez algo assim!&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>programming</category>
    </item>
    <item>
      <title>O que eu aprendi em um ano como Tech Community Manager?</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Mon, 28 Apr 2025 12:30:13 +0000</pubDate>
      <link>https://forem.com/levxyca/o-que-eu-aprendi-em-um-ano-como-tech-community-manager-157e</link>
      <guid>https://forem.com/levxyca/o-que-eu-aprendi-em-um-ano-como-tech-community-manager-157e</guid>
      <description>&lt;p&gt;Há pouco mais de um ano, migrei para atuar como Tech Community Manager e, bom, agora já se passou mais tempo do que eu percebi! Quero compartilhar com vocês alguns aprendizados desse caminho, porque, convenhamos, nenhuma jornada é linear.&lt;/p&gt;

&lt;p&gt;Um ponto importante sobre a minha trajetória é que, antes de migrar para Developer Relations, atuei por cerca de quatro anos voluntariando em diferentes comunidades. Sim, eu sei, demorei um pouco pra fazer essa migração de fato haha, mas tudo tem seu tempo! Em paralelo às comunidades, atuei como desenvolvedora de software e, nesse mesmo meio tempo, construí minha jornada em criação de conteúdo: pontes muito importantes para chegar onde estou hoje.&lt;/p&gt;

&lt;h2&gt;
  
  
  E onde estou hoje?
&lt;/h2&gt;

&lt;p&gt;A Leticinha de um ano atrás mal imaginava os caminhos que trilharia, as conquistas que viriam (e até as falhas que, sim, viriam também). É surreal olhar para trás e ver tudo o que aprendi em apenas um ano atuando exclusivamente com comunidades tech. E é sobre isso que vamos bater um papo hoje.&lt;/p&gt;

&lt;h2&gt;
  
  
  Primeiro: a vida não é um mar de rosas (e tá tudo bem)
&lt;/h2&gt;

&lt;p&gt;O primeiro ponto é: a vida não é um mar de rosas. Mesmo quando encontramos algo que gostamos verdadeiramente de fazer, vão existir coisas no dia a dia ou na rotina que não gostamos, e tudo bem, a gente aprende a lidar com isso.&lt;/p&gt;

&lt;p&gt;Mas definitivamente estar atuando em algo que você acredita, tem reconhecimento e vê valor faz toda a diferença. Uma das coisas que mais me deixam de coração quentinho é quando começo a conversar com alguém sobre comunidades, open source, educação em tech ou qualquer outro assunto que eu seja apaixonada e a pessoa comenta que viu o brilhinho no meu olhar ao falar sobre isso.&lt;/p&gt;

&lt;p&gt;Essa paixão é o que me mantém em movimento. Mas, pra além disso, três lições valiosíssimas que aprendi nessa jornada:&lt;/p&gt;

&lt;h3&gt;
  
  
  Pessoas podem ser difíceis (e comunicação é tudo)
&lt;/h3&gt;

&lt;p&gt;A comunicação é mais do que essencial. Muitas vezes lidamos com pessoas externas, sejam de outras comunidades, da sua própria comunidade ou de outros contextos. Estamos em constantes fluxos de conversas, e conseguir se comunicar de forma acessível, de um jeito que as pessoas compreendam, é fundamental. Nem sempre é fácil, mas é sempre um aprendizado.&lt;/p&gt;

&lt;h3&gt;
  
  
  Organização é vital, mas planejar sem executar é inútil
&lt;/h3&gt;

&lt;p&gt;Como boa virginiana, sou do tipo que ama documentar processos, criar planos detalhados e deixar tudo nos trinques. Mas, cá entre nós, de que adianta um planejamento impecável se ele nunca sai do papel? Melhor feito do que perfeito: crie uma base, teste, erre, ajuste a rota e repita. Comunidade é movimento!&lt;/p&gt;

&lt;h3&gt;
  
  
  Números importam, mas não contam a história toda
&lt;/h3&gt;

&lt;p&gt;Números... ah, os números: eles são extremamente importantes. São eles que ajudam a conseguir apoio para tomadas de decisão, mostrar o que tem sido feito e quais são os resultados. Mas nem todo número fala por si só. Não ter números é ruim, mas ter vários números que ninguém vê valor é tão ruim quanto.&lt;/p&gt;




&lt;p&gt;Não quis transformar esse texto em um conto de fadas nem em um desabafo caótico.  Pra mim, trabalhar com comunidades é isso: como qualquer trabalho, tem seus lados positivos e negativos. Mas, definitivamente, os lados positivos dessa jornada me deixam muito feliz. Eu amo criar relações com as pessoas através da tecnologia e transformar vidas através da educação, e conseguir fazer isso através do meu trabalho é, sem dúvida, uma realização.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>devrel</category>
      <category>community</category>
    </item>
    <item>
      <title>O que é essa tal de construção de relacionamentos que tanto falam em Developer Relations?</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Wed, 23 Apr 2025 12:15:33 +0000</pubDate>
      <link>https://forem.com/levxyca/o-que-e-essa-tal-de-construcao-de-relacionamentos-que-tanto-falam-em-developer-relations-2m2f</link>
      <guid>https://forem.com/levxyca/o-que-e-essa-tal-de-construcao-de-relacionamentos-que-tanto-falam-em-developer-relations-2m2f</guid>
      <description>&lt;p&gt;Ontem abri uma live aleatória depois de anos sem fazer transmissões. E sabe o que aconteceu? As mesmas pessoas que me acompanhavam há 4 ou 5 anos apareceram lá. Fiquei realmente emocionada.&lt;/p&gt;

&lt;p&gt;Isso me fez refletir sobre o verdadeiro significado de Developer Relations.&lt;/p&gt;

&lt;h1&gt;
  
  
  Mas o que isso tem a ver com Developer Relations?
&lt;/h1&gt;

&lt;p&gt;Se você pesquisar sobre DevRel, vai encontrar definições sobre "construir relacionamentos com pessoas desenvolvedoras". Mas como isso se traduz na prática? Deixe-me compartilhar minha vivência.&lt;/p&gt;

&lt;h2&gt;
  
  
  O contexto:
&lt;/h2&gt;

&lt;p&gt;Em 2020, comecei a criar conteúdo com live coding e posts sobre minha rotina de estudos em Análise e Desenvolvimento de Sistemas (no antigo Twitter, saudades!). Passei anos fazendo lives, depois fiquei em hiato, porque, bem, a vida acontece.&lt;/p&gt;

&lt;p&gt;O ponto é: as pessoas que conheci nessa jornada continuam comigo até hoje. Seja numa live aleatória depois de 2 anos sem aparecer, nas transmissões do meu trabalho atual, ou em eventos e redes sociais.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que essas pessoas permanecem?
&lt;/h2&gt;

&lt;p&gt;A resposta é simples, porém poderosa: &lt;strong&gt;relacionamentos autênticos.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Através do meu conteúdo, criei conexões reais. Não foi só sobre números ou engajamento, mas sobre trocas significativas. E isso gera:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Confiança e credibilidade&lt;/li&gt;
&lt;li&gt;Engajamento orgânico (mesmo depois de anos!)&lt;/li&gt;
&lt;li&gt;Impacto real: mensagens como "você mudou minha carreira" ou "me inspirei na sua trajetória" mostram que vai além de seguidores, são relações construídas com propósito.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  O cerne do DevRel:
&lt;/h2&gt;

&lt;p&gt;É sobre &lt;strong&gt;pessoas&lt;/strong&gt;, não apenas métricas. No meu caso, essas conexões significam que, mesmo quando testo algo novo (como voltar de surpresa numa live), tenho apoio. Essa é a força das conexões bem construídas.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Métricas importam, mas pessoas importam mais&lt;/li&gt;
&lt;li&gt;Conexões bem construídas resistem ao tempo&lt;/li&gt;
&lt;li&gt;Cada interação semeia possibilidades futuras&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Se há um legado que quero deixar, é este: relacionamentos reais criam impacto duradouro.&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>braziliandevs</category>
      <category>community</category>
    </item>
    <item>
      <title>Construindo aplicativos mais robustos e escaláveis com Flutter: desvendando a implementação da arquitetura MVVM</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Tue, 18 Feb 2025 14:37:06 +0000</pubDate>
      <link>https://forem.com/levxyca/construindo-aplicativos-mais-robustos-e-escalaveis-com-flutter-desvendando-a-implementacao-da-54mg</link>
      <guid>https://forem.com/levxyca/construindo-aplicativos-mais-robustos-e-escalaveis-com-flutter-desvendando-a-implementacao-da-54mg</guid>
      <description>&lt;p&gt;Ei, você, pessoa apaixonada por desenvolvimento de aplicativos móveis! Se você está aqui, é provável que já tenha se aventurado no mundo do Flutter, a incrível estrutura de desenvolvimento de aplicativos da Google. Mas você sabia que, além de criar interfaces de usuário deslumbrantes e fluidas, também é possível elevar o seu jogo de programação com uma arquitetura sólida?&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é MVVM?
&lt;/h2&gt;

&lt;p&gt;Boas-vindas ao nosso passeio pelos corredores da MVVM com Flutter!  A MVVM(Model-View-ViewModel) é uma arquitetura que pode ajudar seus aplicativos a serem mais organizados, fáceis de manter e escaláveis.&lt;/p&gt;

&lt;p&gt;Falando de uma forma mais técnica, o pattern MVVM é um padrão de projeto criado por John Goshmann, onde a ideia, basicamente, é estabelecer uma clara separação de responsabilidades no seu projeto e facilitar a manutenção do aplicativo.&lt;/p&gt;

&lt;p&gt;Você já pensou em como um aplicativo de celular funciona por dentro? Eu gosto de pensar que é algo parecido com um grande quebra-cabeça, onde temos várias pecinhas. A MVVM é uma maneira legal de organizar esse quebra-cabeça para que tudo funcione.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Model (Modelo):&lt;/strong&gt; Imagine isso como a parte do quebra-cabeça que guarda todas as informações importantes. São como as peças que representam os dados do seu aplicativo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;View (Visualização):&lt;/strong&gt; Essa é a parte onde você define a aparência do que a pessoa usuária vê na telinha. É a interface, os botões, as telas bonitas que ajudam o aplicativo ser um ambiente legal de se usar. É como a imagem completa do quebra-cabeça.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ViewModel (Modelo de Visualização):&lt;/strong&gt; O ViewModel é como um elo entre o &lt;strong&gt;Model&lt;/strong&gt; e a &lt;strong&gt;View&lt;/strong&gt;. Ele não tem toda a informação, mas sabe como pegar as peças do &lt;strong&gt;Model&lt;/strong&gt; e mostrá-las de forma bonita na &lt;strong&gt;View&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ou seja, o tchan da MVVM, é que ela mantém as coisas organizadas. O &lt;strong&gt;Model&lt;/strong&gt; não precisa saber sobre como a &lt;strong&gt;View&lt;/strong&gt; funciona, e a &lt;strong&gt;View&lt;/strong&gt; não precisa se preocupar em sabe tudo sobre onde os dados estão guardados. E o ViewModel? Ele cuida da comunicação entre eles, para que todos trabalhem juntinhos.&lt;/p&gt;

&lt;p&gt;Para simplificar ainda mais, pense nisso como uma pessoa que chefia a cozinha (ViewModel) que pega os ingredientes (dados no Model) e os transforma em um prato incrível (a interface na View). E você, a pessoa usuária, só precisa aproveitar a comida deliciosa sem se preocupar com como tudo foi feito nos bastidores.&lt;/p&gt;

&lt;p&gt;Então, a MVVM é como uma equipe bem entrosada que trabalha para criar aplicativos legais e funcionais. Com essa abordagem, fica mais fácil entender e construir aplicativos incríveis!&lt;/p&gt;

&lt;h2&gt;
  
  
  Tá, mas por que eu deveria usar esse tal de MVVM?
&lt;/h2&gt;

&lt;p&gt;Agora que entendemos como funciona a arquitetura, podemos notar que o MVVM tem vários pontos de vantagens legais que podem ajudar muito os seus projetos usando a tecnologia Flutter.&lt;/p&gt;

&lt;p&gt;A primeira coisa que podemos notar, como até foi falado ali em cima, é sobre como o MVVM mantém as coisas organizadas, por esse motivo, essa arquitetura nos permite separar muito bem as responsabilidades, tornando o código mais organizado e com uma boa legibilidade para outras pessoas desenvolvedoras que forem dar manutenção(ou até mesmo você na semana seguinte, sem se lembrar do que foi feito na semana passada, não que isso seja baseado em mim).&lt;/p&gt;

&lt;p&gt;Por conta da sua estrutura, conseguimos ter também uma vantagem que é a reutilização de código, ter essas camadas bem separadas(Model, View e ViewModel), também facilita na criação de teste unitários, com a ViewModel, podemos testá-la de forma isolada, garantindo a qualidade do código.&lt;/p&gt;

&lt;p&gt;O MVVM também é uma arquitetura que pode ajudar a lidar de forma eficaz o gerenciamento de estado dos seus aplicativos Flutter, além de ser uma arquitetura escalável, podendo ser adaptada para diferentes tamanhos de projetos, permitindo você comece com algo simples e vá crescendo conforme a demanda do projeto.&lt;/p&gt;

&lt;h2&gt;
  
  
  MVVM, na prática, vamos implementar!
&lt;/h2&gt;

&lt;p&gt;Tudo bem, já entendemos o que é e por que você deveria usar esse tal de MVVM, agora vamos aprender como implementar isso nos seus projetos. Para isso, vamos pegar um exemplo de uma feature simples, mas que demonstra como esses conceitos funcionam na prática.&lt;/p&gt;

&lt;p&gt;Neste exemplo, temos um aplicativo Flutter que exibe uma lista de gatos e permite adicionar novos gatos. O ViewModel (CatViewModel) cuida dos dados dos gatos e avisa a interface do usuário quando há mudanças. A classe de Visualização (CatListPage) mostra a lista de gatos e apresenta um botão para adicionar novos gatos.&lt;/p&gt;

&lt;p&gt;Lembre-se de importar as classes de forma adequada e configure o arquivo &lt;strong&gt;&lt;code&gt;main.dart&lt;/code&gt;&lt;/strong&gt; para mostrar a &lt;strong&gt;&lt;code&gt;CatListPage&lt;/code&gt;&lt;/strong&gt; como a tela inicial do seu aplicativo. Este será um exemplo simples de como implementar o padrão MVVM no Flutter para gerenciar informações, usando gatinhos como exemplo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Criando um novo projeto Flutter
&lt;/h3&gt;

&lt;p&gt;O primeiro passo, é, claro, temos um projeto Flutter para trabalharmos com o MVVM. Para isso, eu irei criar um projeto do zero para exemplificar. Caso você não saiba muito bem como isso funciona ou queria entender mais sobre o básico de Flutter, recomendo esse &lt;a href="https://github.com/levxyca/hello_world-flutter" rel="noopener noreferrer"&gt;repositório que explica toda essa parte inicial&lt;/a&gt; ou mesma a própria &lt;a href="https://docs.flutter.dev/get-started/codelab" rel="noopener noreferrer"&gt;documentação do Flutter&lt;/a&gt; que explica como criar o seu primeiro aplicativo.&lt;/p&gt;

&lt;p&gt;Para simplificar, como não vou precisar de muitas configurações adicionais, eu abri o terminal na pasta onde queria alocar o meu projeto Flutter e usei o comando &lt;code&gt;flutter create nome-do-projeto&lt;/code&gt; para criar um novo projeto em Flutter. Chamarei o projeto de MVVM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;flutter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;mvvm&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Se a etapa for concluída com sucesso, você deve ver a mensagem abaixo no seu terminal. Caso contrário, você pode receber uma mensagem de erro indicando que a operação falhou em algum momento.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknf42uoqsdgf0p1hbe2n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknf42uoqsdgf0p1hbe2n.png" alt="Exemplo do " width="466" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Depois de ter criado o projeto, abri o terminal do meu computador e naveguei até a pasta desejada. Uma vez lá, usei o comando &lt;code&gt;code .&lt;/code&gt; para abrir a pasta diretamente no Visual Studio Code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnsku1pqt0dq339mlps4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnsku1pqt0dq339mlps4e.png" alt="Exemplo do " width="151" height="91"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Implementando a camada de Model
&lt;/h3&gt;

&lt;p&gt;Para começar, é importante mencionar que a criação de uma classe para o modelo (Model) é essencial para garantir a organização do seu projeto. Neste caso, o objetivo é representar informações sobre gatos, o que inclui diferentes características e dados relevantes para a sua aplicação.&lt;/p&gt;

&lt;p&gt;Ao criar a classe do modelo, é possível definir atributos como cor, idade, peso, entre outros. Além disso, é importante pensar em como essas informações serão armazenadas e acessadas em diferentes partes do seu código. Para isso, é possível utilizar diferentes técnicas, como encapsulamento e herança.&lt;/p&gt;

&lt;p&gt;Não se esqueça também de pensar em como essas informações serão inseridas na sua aplicação. Será através de um formulário? De um banco de dados? É importante considerar essas questões para garantir que a sua classe seja integrada de forma eficiente ao restante do seu projeto.&lt;/p&gt;

&lt;p&gt;Em resumo, a criação de uma classe para representar informações é uma etapa fundamental do seu projeto. Ao definir cuidadosamente os atributos e pensar em como eles serão inseridos e acessados, você garante uma base sólida e organizada para o seu código, facilitando o desenvolvimento e manutenção da sua aplicação.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Cat&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;breed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;age&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="n"&gt;Cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;breed&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Implementando a camada de ViewModel
&lt;/h3&gt;

&lt;p&gt;Agora, vamos criar a classe ViewModel (ViewModel) que será responsável por gerenciar os dados e a lógica relacionada aos gatos. Essa classe é fundamental para o desenvolvimento do aplicativo, pois é por meio dela que será possível apresentar as informações do gato na tela, gerenciar as interações do usuário com a interface e garantir que os dados sejam armazenados e recuperados corretamente. &lt;/p&gt;

&lt;p&gt;Além disso, a classe ViewModel permite que a pessoa desenvolvedora separe as preocupações relacionadas à interface do usuário (UI) das preocupações relacionadas à lógica de negócios, tornando o código mais organizado e fácil de manter. Dessa forma, podemos afirmar que a classe ViewModel é uma peça-chave para o sucesso do aplicativo e deve ser desenvolvida com cuidado e atenção aos detalhes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:flutter/material.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'cat.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CatViewModel&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;ChangeNotifier&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Cat&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;_cats&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="n"&gt;Cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Whiskers'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'Siamese'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;Cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Fluffy'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'Persian'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;Cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Tom'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'Tabby'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="p"&gt;];&lt;/span&gt;

  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Cat&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;cats&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;_cats&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;addCat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Cat&lt;/span&gt; &lt;span class="n"&gt;cat&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;_cats&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cat&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;notifyListeners&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Implementando a camada de View
&lt;/h3&gt;

&lt;p&gt;Agora, vamos criar a classe de visualização (View) que exibirá os gatos na interface da pessoa usuária. Essa classe será responsável por conectar a lógica de negócios da aplicação com a interface da pessoa usuária e garantir que, nesse caso, os gatos sejam exibidos corretamente. Para isso, podemos começar definindo as propriedades que a classe de visualização precisa ter.&lt;/p&gt;

&lt;p&gt;Ao criar a classe de visualização, devemos ter em mente que ela deve ser flexível e escalável, de forma que possa ser facilmente adaptada para exibir outros tipos de animais de estimação no futuro, caso a aplicação seja expandida.&lt;/p&gt;

&lt;p&gt;Além disso, podemos criar métodos que permitam a adição e remoção de gatos da lista, bem como a atualização da exibição dos gatos na tela. Também é importante considerar a possibilidade de permitir que o usuário interaja com os gatos na interface, por exemplo, clicando em um gato para ver mais informações sobre ele ou para adotá-lo. Mas como a ideia é entendermos os conceitos através de exemplos simples, vamos focar no básico.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:flutter/material.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'cat.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'cat_view_model.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CatListPage&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;StatelessWidget&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;CatListPage&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;key&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="n"&gt;Widget&lt;/span&gt; &lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BuildContext&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;viewModel&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;CatViewModel&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;Scaffold&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nl"&gt;appBar:&lt;/span&gt; &lt;span class="n"&gt;AppBar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nl"&gt;title:&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Lista de Gatos'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="nl"&gt;body:&lt;/span&gt; &lt;span class="n"&gt;ListView&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nl"&gt;itemCount:&lt;/span&gt; &lt;span class="n"&gt;viewModel&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;cats&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;length&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nl"&gt;itemBuilder:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;cat&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;viewModel&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;cats&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
          &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;ListTile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="nl"&gt;title:&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cat&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="nl"&gt;subtitle:&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Breed: &lt;/span&gt;&lt;span class="si"&gt;${cat.breed}&lt;/span&gt;&lt;span class="s"&gt;, Age: &lt;/span&gt;&lt;span class="si"&gt;${cat.age}&lt;/span&gt;&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
          &lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="nl"&gt;floatingActionButton:&lt;/span&gt; &lt;span class="n"&gt;FloatingActionButton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nl"&gt;onPressed:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;newCat&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Whiskers Jr.'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'Siamese'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
          &lt;span class="n"&gt;viewModel&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addCat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;newCat&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;Icon&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Icons&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ao realizar as alterações necessárias no código, não se esqueça de modificar a &lt;code&gt;main&lt;/code&gt; para que a &lt;strong&gt;CatListPage&lt;/strong&gt;, que é a sua view, seja exibida como a primeira tela do aplicativo. &lt;/p&gt;

&lt;p&gt;É importante lembrar que a CatListPage é a página responsável por listar os gatos do aplicativo e garantir que a experiência da pessoa usuária seja a melhor possível. &lt;/p&gt;

&lt;p&gt;Além disso, é recomendável verificar se todas as outras páginas e funcionalidades do aplicativo estão funcionando corretamente após realizar a modificação na &lt;code&gt;main&lt;/code&gt;. Dessa forma, você garante que o seu aplicativo esteja funcionando corretamente e proporcionando a melhor experiência para quem for utilizar a aplicação.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:flutter/material.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'cat_view.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;runApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;MaterialApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nl"&gt;home:&lt;/span&gt; &lt;span class="n"&gt;CatListPage&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No final, sua estrutura de arquivos está organizada de forma semelhante ou idêntica à apresentada abaixo. &lt;/p&gt;

&lt;p&gt;Em um projeto real, para garantir que a estrutura seja consistente, é importante revisar cuidadosamente cada pasta e subpasta, garantindo que todos os arquivos estejam armazenados no local correto. Lembre-se de que uma estrutura de arquivos organizada é essencial para garantir a eficiência e a produtividade, e deve ser uma prioridade para qualquer pessoa que trabalhe com documentos digitais.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyunyu7vuuowm2m97bnkl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyunyu7vuuowm2m97bnkl.png" alt="Exemplo de estrutura de arquivos." width="288" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora, vamos rodar isso para garantir que tudo está funcionando como deveria e certificar-nos de que não há nenhum erro. Depois de executar, podemos ter certeza de que nosso projeto está funcionando corretamente e que podemos prosseguir com confiança para a próxima etapa. E tcharaaaan:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxoi3c5pchwqz8mqzto91.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxoi3c5pchwqz8mqzto91.png" alt="Examplo do app rodando." width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;A implementação da arquitetura MVVM pode parecer um pouco complexa no começo, mas é importante ressaltar que essa complexidade inicial é um investimento que trará grandes benefícios para o desenvolvimento de aplicativos em Flutter a longo prazo. Ao utilizar o padrão MVVM, é possível separar as responsabilidades do código de forma mais clara, o que facilita a manutenção e evolução do aplicativo. Além disso, outra vantagem da arquitetura MVVM é a possibilidade de testar cada um dos componentes separadamente, o que aumenta a confiabilidade do código e a qualidade do aplicativo final.&lt;/p&gt;

&lt;p&gt;Para implementar a arquitetura MVVM em um aplicativo Flutter, é importante ter um bom entendimento dos conceitos envolvidos, como o uso de ViewModels para gerenciar o estado da aplicação e a separação clara das camadas Model, View e ViewModel. Com a prática e a experiência, essa implementação se torna cada vez mais fácil e natural, permitindo que a pessoa desenvolvedora aproveite ao máximo as vantagens dessa arquitetura.&lt;/p&gt;

&lt;p&gt;Por fim, vale destacar que a arquitetura MVVM é amplamente utilizada em desenvolvimento de aplicativos para diversas plataformas e tecnologias, o que significa que o conhecimento adquirido na através desse artigo pode ser aplicado em outros projetos e áreas de atuação.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>flutter</category>
      <category>mvvm</category>
    </item>
    <item>
      <title>Tech Community Manager não é só um Community Manager voltado para tecnologia. Descubra por quê!</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Wed, 12 Feb 2025 12:30:13 +0000</pubDate>
      <link>https://forem.com/levxyca/tech-community-manager-nao-e-so-um-community-manager-voltado-para-tecnologia-descubra-por-que-4j51</link>
      <guid>https://forem.com/levxyca/tech-community-manager-nao-e-so-um-community-manager-voltado-para-tecnologia-descubra-por-que-4j51</guid>
      <description>&lt;p&gt;Esses dias me perguntaram: &lt;em&gt;“Por que contratar uma Tech Community Manager? Não seria o mesmo que uma Community Manager?”&lt;/em&gt;.  &lt;/p&gt;

&lt;p&gt;Então, vamos falar sobre essa diferença e por que eu sou Tech Community Manager! 🔥&lt;/p&gt;

&lt;p&gt;O primeiro ponto importante: é comum ignorarem o "Tech" do Tech Community Manager porque, no fundo, os dois papéis compartilham o mesmo objetivo — engajar e fortalecer comunidades.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mas qual é a diferença, então?&lt;/strong&gt; Está na &lt;strong&gt;atuação e no foco estratégico&lt;/strong&gt; de cada um:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Community Manager:&lt;/strong&gt; Perfil mais amplo, focado em criar, gerenciar e engajar comunidades diversas. Trabalha para garantir que as pessoas participantes da comunidade tenham boas experiências, moderando grupos, promovendo conexões genuínas e fortalecendo o senso de pertencimento.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Community Manager:&lt;/strong&gt; Faz tudo que uma pessoa Community Manager faz mas também atua diretamente no ecossistema de tecnologia, conectando empresas e comunidades técnicas de forma mais profunda e estratégica. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As responsabilidades de uma Tech Community Manager incluem:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Facilitar conversas técnicas&lt;/strong&gt; sobre ferramentas e práticas adotadas pela comunidade.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conectar devs e empresas&lt;/strong&gt;, traduzindo as necessidades da comunidade para a estratégia da empresa.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Produzir conteúdo técnico&lt;/strong&gt; como tutoriais, guias e organizar eventos tech.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Participar de eventos&lt;/strong&gt; como meetups, hackathons e conferências para fortalecer a presença da marca.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ou seja, enquanto a pessoa Community Manager trabalha com diversos perfis e temas, a pessoa Tech Community Manager normalmente tem uma base em tecnologia para se conectar com profissionais da área.&lt;/p&gt;

&lt;p&gt;Por isso, é essencial avaliar qual é o objetivo da empresa e qual é o público-alvo para entender qual desses papéis faz mais sentido estrategicamente.&lt;/p&gt;

&lt;p&gt;No meu caso, já atuei como desenvolvedora de software antes de migrar para o mundo das comunidades. Isso me ajuda a entender as dores, os memes, as piadas internas e a fazer a ponte entre empresa e comunidade de forma autêntica.   &lt;/p&gt;

&lt;p&gt;Em resumo, ter uma Tech Community Manager no time é um investimento estratégico, principalmente se a sua empresa está inserida no mercado tech ou tem como público de pessoas desenvolvedoras e profissionais de tecnologia. É uma oportunidade de criar conexões genuínas, fortalecer a presença da marca e gerar impacto real no negócio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vamos conversar? 💬&lt;/strong&gt;&lt;br&gt;
Quero saber: você já conhecia esses papéis estratégicos? &lt;/p&gt;

&lt;p&gt;Deixe um comentário ou entre em contato comigo. Minhas DMs estão sempre abertas para conversarmos sobre comunidades e tecnologia! ⭐&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.levxyca.com/" rel="noopener noreferrer"&gt;https://www.levxyca.com/&lt;/a&gt;  &lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Vamos falar sobre programação funcional? Uma abordagem diferente para resolver problemas.</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Mon, 10 Feb 2025 14:02:15 +0000</pubDate>
      <link>https://forem.com/levxyca/vamos-falar-sobre-programacao-funcional-uma-abordagem-diferente-para-resolver-problemas-2f2a</link>
      <guid>https://forem.com/levxyca/vamos-falar-sobre-programacao-funcional-uma-abordagem-diferente-para-resolver-problemas-2f2a</guid>
      <description>&lt;p&gt;Vamos falar sobre programação funcional? Eu comecei minha jornada na programação com POO (Programação Orientada a Objetos), e recentemente tenho explorado o mundo da programação funcional. Mudar a chavinha e enxergar problemas com uma abordagem completamente diferente tem sido uma experiência 🤯.&lt;/p&gt;

&lt;p&gt;Se você ainda não está familiarizado com os paradigmas de programação, uma forma simples de entendê-los é como abordagens que definem como estruturamos o código para resolver problemas. Cada paradigma tem suas próprias regras e formas de pensar.  &lt;/p&gt;

&lt;p&gt;No caso da programação funcional, o foco está em &lt;strong&gt;funções puras&lt;/strong&gt; e &lt;strong&gt;imutabilidade&lt;/strong&gt; — dois conceitos fundamentais que tornam o código mais previsível e fácil de manter. Diferente da POO, aqui você não descreve ao computador &lt;em&gt;como&lt;/em&gt; fazer algo, mas &lt;em&gt;o que&lt;/em&gt; precisa ser feito. Vamos conhecer alguns dos conceitos mais importantes desse paradigma:  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Imutabilidade&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Os dados são imutáveis. Isso significa que, uma vez definidos, eles não podem ser modificados. Em vez de atualizar o estado de uma variável, você cria uma nova versão dela. Essa característica reduz efeitos colaterais e facilita o desenvolvimento de aplicações concorrentes.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Imutabilidade e concorrência: um casamento perfeito
&lt;/h3&gt;

&lt;p&gt;Em aplicações concorrentes, onde várias partes do código podem executar simultaneamente, a mutabilidade de dados pode ser um pesadelo. Imagine que duas threads acessem e modifiquem o mesmo objeto. Isso pode levar a condições de corrida, onde o resultado final depende da ordem em que as threads executam, gerando comportamentos inesperados e difíceis de depurar.&lt;/p&gt;

&lt;p&gt;A imutabilidade resolve esse problema de forma elegante. Cada thread trabalha com sua própria cópia dos dados, garantindo que o estado do programa permaneça consistente e previsível, mesmo em cenários de alta concorrência.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Funções Puras&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Funções puras sempre retornam o mesmo resultado para os mesmos argumentos e não causam efeitos colaterais externos, como modificar variáveis globais ou interagir com o sistema de arquivos.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemplo:&lt;/strong&gt; Uma função que soma dois números é pura, pois sempre retorna o mesmo resultado sem alterar nada fora de seu escopo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Funções puras: testes simplificados e código mais confiável
&lt;/h3&gt;

&lt;p&gt;Como elas não têm efeitos colaterais e sempre retornam o mesmo resultado para as mesmas entradas, testá-las é muito mais simples. Basta fornecer as entradas e verificar se a saída corresponde ao esperado. Não é preciso se preocupar com o estado do programa ou com interações com o mundo externo.&lt;/p&gt;

&lt;p&gt;Além disso, as funções puras são mais fáceis de entender e depurar. Como elas não modificam o estado do programa, é mais fácil isolar a causa de um erro e prever o comportamento do código. Isso torna o código mais confiável e manutenível a longo prazo.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Recursão&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Em vez de usar loops como em linguagens imperativas, a programação funcional usa a recursão para resolver problemas, dividindo-os em subproblemas menores e chamando a função dentro dela mesma até atingir a solução.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Exemplo em Clojure:&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight clojure"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;defn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;contagem-regressiva&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;println&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"A contagem terminou."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;do&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;println&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;contagem-regressiva&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)))))&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;contagem-regressiva&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Funções de Primeira Classe&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Elas podem ser passadas como argumentos para outras funções, retornadas como resultados e atribuídas a variáveis.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vamos conversar? 💬
&lt;/h2&gt;

&lt;p&gt;A programação funcional tem muito a oferecer. Se você está começando a explorar esse universo, &lt;a href="https://clojure.org/" rel="noopener noreferrer"&gt;Clojure&lt;/a&gt; pode ser uma excelente escolha para colocar esses conceitos em prática.  &lt;/p&gt;

&lt;p&gt;Quero saber: você já usou programação funcional no seu dia a dia? Qual conceito achou mais interessante ou desafiador? 🤔&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Curtiu a ideia de usar Clojure?&lt;/strong&gt; Em um próximo artigo, vou falar sobre como começar com Clojure se você vem de linguagens como Python ou JavaScript, destacando diferenças, semelhanças e como migrar sua forma de pensar. Fique de olho!  &lt;/p&gt;

&lt;p&gt;Deixe um comentário ou entre em contato comigo. Minhas DMs estão sempre abertas para conversarmos sobre tecnologia e programação ⭐&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.levxyca.com/" rel="noopener noreferrer"&gt;https://www.levxyca.com/&lt;/a&gt;  &lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>programming</category>
      <category>clojure</category>
    </item>
    <item>
      <title>Impacto Invisível: Como Mensurar e Mostrar o Valor da Sua Comunidade Tech</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Thu, 28 Nov 2024 13:34:03 +0000</pubDate>
      <link>https://forem.com/feministech/impacto-invisivel-como-mensurar-e-mostrar-o-valor-da-sua-comunidade-tech-3p70</link>
      <guid>https://forem.com/feministech/impacto-invisivel-como-mensurar-e-mostrar-o-valor-da-sua-comunidade-tech-3p70</guid>
      <description>&lt;p&gt;&lt;strong&gt;Você já teve dificuldades de demonstrar qual o verdadeiro impacto da sua comunidade tech?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mensurar o impacto de uma comunidade de tecnologia pode ser um dos maiores desafios para quem trabalha com Developer Relations ou Community Management. Apesar de muitas comunidades serem espaços de troca, aprendizado e conexão, o impacto que elas geram nem sempre é fácil de traduzir em dados claros e estratégicos para as empresas.&lt;/p&gt;

&lt;p&gt;Se você já se perguntou como transformar números em insights que mostram o valor da sua comunidade, este artigo é para você. Vou compartilhar reflexões e um caminho prático para mensurar e comunicar o impacto de forma estratégica.&lt;/p&gt;

&lt;h2&gt;
  
  
  O desafio das comunidades
&lt;/h2&gt;

&lt;p&gt;Medir o impacto de uma comunidade tech pode parecer difícil, e isso acontece porque, muitas vezes, os resultados podem não ser tão diretos e imediatos.&lt;/p&gt;

&lt;p&gt;Comunidades geram valor por meio de interações que nutrem relacionamentos, criam confiança e fortalecem conexões. Mas como medir tudo isso de forma clara?&lt;/p&gt;

&lt;p&gt;Uma métrica muito comum nesse contexto é o engajamento: quantas pessoas participaram de eventos, quantos likes ou comentários um post recebeu, ou o número de membros ativos. Mas aqui está o problema: engajamento por si só não demonstra como a comunidade afeta diretamente os objetivos de uma empresa.&lt;/p&gt;

&lt;p&gt;Hoje, vamos além: como conectar essas métricas aos objetivos da empresa de forma estratégica?&lt;/p&gt;

&lt;h2&gt;
  
  
  Engajamento não é suficiente
&lt;/h2&gt;

&lt;p&gt;O problema das métricas genéricas está em sua limitação: engajamento por engajamento não demonstra como a comunidade impacta diretamente o crescimento do negócio.&lt;/p&gt;

&lt;p&gt;Antes de pensar em métricas ou números, é essencial entender o propósito da comunidade, então precisamos dar um passo atrás e começar com a pergunta certa:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Qual é o objetivo da sua comunidade? Por que ela existe dentro da empresa?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;O objetivo da comunidade é o norte que vai guiar suas métricas e ações. Por exemplo, uma comunidade voltada para networking terá objetivos diferentes de uma focada em educar ou atrair leads. Saber o porquê da existência da sua comunidade é essencial para conectar o impacto dela aos objetivos da empresa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como mensurar o impacto da sua comunidade tech
&lt;/h2&gt;

&lt;p&gt;Quando você entende o objetivo da sua comunidade, é possível conectar as métricas diretamente aos resultados estratégicos da empresa.&lt;/p&gt;

&lt;p&gt;Por exemplo, na empresa onde atuo, onde um dos objetivos principais é alocar profissionais de tecnologia nos clientes que atuamos, as métricas de engajamento podem ser direcionadas para criar ações específicas que aumentem o número de profissionais inscritos  nas oportunidades vindos da comunidade. Assim, o engajamento deixa de ser um número genérico e se torna estratégico.&lt;/p&gt;

&lt;h2&gt;
  
  
  Métricas estratégicas
&lt;/h2&gt;

&lt;p&gt;Comunidades são únicas e são muito vivas e diversas, mas aqui está uma estrutura que pode ser adaptada para diferentes contextos  e que pode ser um caminho prático pra te ajudar a chegar nessas métricas estratégicas:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Entenda o objetivo principal da sua comunidade.&lt;/li&gt;
&lt;li&gt;Identifique os objetivos estratégicos da empresa.&lt;/li&gt;
&lt;li&gt;Trace um paralelo: como sua comunidade pode apoiar esses objetivos?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Defina métricas conectadas a resultados&lt;/strong&gt; e transforme métricas genéricas em indicadores estratégicos.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Assim, uma métrica como &lt;em&gt;“aumentar o engajamento de X% para Y%”&lt;/em&gt; se torna algo mais estratégico, como &lt;em&gt;“aumentar em Z% o número de profissionais inscritos em nossas oportunidades através da comunidade.”&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Mostrando o valor da sua comunidade tech
&lt;/h2&gt;

&lt;p&gt;Com essa abordagem, ainda estamos falando de engajamento, mas agora ele não é um fim em si mesmo. Ele se torna estratégico e direcionado, alinhado ao que realmente importa para a empresa.&lt;/p&gt;

&lt;p&gt;A chave é pensar sempre no impacto que você pode gerar e como traduzir isso em dados que falam a língua do negócio.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A transição de métricas genéricas para indicadores estratégicos exige mudanças na forma de pensar e planejar iniciativas.

&lt;ul&gt;
&lt;li&gt;Entenda o que a empresa valoriza e o que ela considera sucesso.&lt;/li&gt;
&lt;li&gt;Crie ações específicas que alinhem as interações da comunidade aos objetivos estratégicos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adapte e meça constantemente&lt;/strong&gt;: Avalie os resultados, ajuste as métricas e melhore continuamente.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Comunidades são estratégicas
&lt;/h2&gt;

&lt;p&gt;Comunidades não são apenas espaços de interação ou suporte – e isso não as torna menos importantes. Pelo contrário: as interações e conexões genuínas são a base que permite que uma comunidade se torne um motor estratégico para a empresa. O grande desafio é mostrar esse impacto de forma clara e alinhada aos objetivos do negócio e eu espero ter ajudado vocês hoje com esse desafio.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vamos conversar? 💬
&lt;/h3&gt;

&lt;p&gt;Se você trabalha com comunidades, espero que este artigo tenha ajudado a iluminar o caminho para mostrar o impacto do seu trabalho. &lt;/p&gt;

&lt;p&gt;Quero saber: como você mede o impacto da sua comunidade? Vamos trocar ideias! &lt;/p&gt;

&lt;p&gt;Deixe um comentário ou entre em contato comigo. Minhas DMs estão sempre abertas para conversarmos sobre métricas, estratégias e o valor das comunidades ⭐&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.levxyca.com/" rel="noopener noreferrer"&gt;https://www.levxyca.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>devrel</category>
      <category>community</category>
    </item>
    <item>
      <title>Desvendando o código aberto: junte-se à revolução colaborativa</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Wed, 27 Nov 2024 12:30:26 +0000</pubDate>
      <link>https://forem.com/feministech/desvendando-o-codigo-aberto-junte-se-a-revolucao-colaborativa-493n</link>
      <guid>https://forem.com/feministech/desvendando-o-codigo-aberto-junte-se-a-revolucao-colaborativa-493n</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;O que é Open Source e por que é importante?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;"Open Source" é um termo que vai além de um simples modelo de desenvolvimento de software. Ele representa um movimento que promove a transparência, o compartilhamento de conhecimento e a colaboração global. No contexto do desenvolvimento de software, significa que o código-fonte de um programa é disponibilizado publicamente, permitindo que qualquer pessoa o visualize, modifique, distribua e até contribua para seu aprimoramento.&lt;/p&gt;

&lt;p&gt;Essa abordagem é fundamental porque fomenta a inovação, cria soluções mais robustas por meio do esforço coletivo e reduz barreiras ao acesso a tecnologias. Além disso, promove uma comunidade ativa que compartilha não apenas código, mas também ideias e aprendizagens.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;O GitHub como plataforma essencial para Open Source&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Quando falamos de Open Source, é impossível não mencionar o &lt;a href="https://github.com/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, a principal plataforma de hospedagem e colaboração para projetos de software. Com recursos como controle de versionamento, pull requests e issues, o GitHub é o núcleo da colaboração no desenvolvimento de código aberto.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Por que o GitHub é tão importante?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Facilidade no Compartilhamento de Código:&lt;/strong&gt; A criação de repositórios permite que desenvolvedores compartilhem seu código com o mundo de maneira rápida e organizada.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rastreamento de Problemas e Bugs:&lt;/strong&gt; Com a funcionalidade de &lt;em&gt;Issues&lt;/em&gt;, é possível gerenciar tarefas, discutir problemas e documentar soluções.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Colaboração em Equipe:&lt;/strong&gt; Ferramentas como PRs (Pull Requests) facilitam o trabalho conjunto, permitindo revisões e discussões antes da integração de alterações.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Histórico de Alterações:&lt;/strong&gt; O controle de versão integrado oferece uma trilha completa das mudanças no código.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automação com Integração Contínua:&lt;/strong&gt; Com ferramentas de CI/CD integradas, é possível testar e implantar código automaticamente, garantindo maior confiabilidade nos projetos.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;O GitHub não apenas organiza o trabalho, mas também aproxima pessoas de diferentes partes do mundo, transformando projetos em esforços verdadeiramente globais.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Os princípios fundamentais do Open Source&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;O conceito de Open Source vai além de liberar código para o público. Ele é guiado por princípios que moldam a forma como o software é desenvolvido e utilizado:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Acesso ao Código-Fonte:&lt;/strong&gt; Qualquer pessoa pode visualizar e estudar como o software funciona.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Liberdade de Uso e Modificação:&lt;/strong&gt; Os usuários podem adaptar o software às suas necessidades.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distribuição Livre:&lt;/strong&gt; Melhorias e personalizações podem ser compartilhadas com a comunidade.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparência e Prestação de Contas:&lt;/strong&gt; As decisões de desenvolvimento podem ser analisadas abertamente.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Esses princípios criam um ecossistema de confiança e inovação, impulsionando projetos que variam de sistemas operacionais até ferramentas de produtividade.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Benefícios de contribuir para projetos Open Source&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Contribuir para projetos de código aberto oferece ganhos que vão muito além do aprimoramento técnico:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Aprendizado Contínuo:&lt;/strong&gt; Trabalhar em projetos reais expande habilidades técnicas e ensina a lidar com problemas complexos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Portfólio Profissional:&lt;/strong&gt; Contribuições visíveis no GitHub demonstram sua capacidade para o mercado de trabalho.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Networking Global:&lt;/strong&gt; Ao colaborar com pessoas desenvolvedoras de diferentes lugares, você constrói uma rede de contatos valiosa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reconhecimento na Comunidade:&lt;/strong&gt; Contribuições consistentes podem destacar seu nome na comunidade Open Source.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Além disso, o impacto positivo de suas contribuições pode beneficiar milhares de usuários e fortalecer a comunidade como um todo.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Como escolher um projeto Open Source para contribuir&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Se você deseja começar a contribuir, o primeiro passo é encontrar projetos que combinem com suas habilidades e interesses:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Explore o GitHub:&lt;/strong&gt; Utilize a aba "Explore" para encontrar projetos populares.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pesquise Por Tecnologia:&lt;/strong&gt; Use palavras-chave relacionadas às tecnologias que você conhece.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Participe de Comunidades:&lt;/strong&gt; Fóruns e grupos em redes sociais são excelentes para descobrir projetos e oportunidades.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comece Pequeno:&lt;/strong&gt; Escolha projetos com tarefas introdutórias (&lt;em&gt;good first issues&lt;/em&gt;).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://github.com/levxyca/open-source-friendly" rel="noopener noreferrer"&gt;⭐ Dica extra, conheça esse repositório que é dedicado a reunir uma coleção de projetos open source amigáveis para contribuições.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ao selecionar projetos, priorize aqueles que você utiliza ou que despertam seu interesse, pois isso torna a experiência mais motivadora e enriquecedora.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Como começar a contribuir&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Para começar a contribuir, temos alguns passos iniciais:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configure sua Conta no GitHub:&lt;/strong&gt; Se ainda não tiver, crie uma conta e familiarize-se com a plataforma.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leia a Documentação:&lt;/strong&gt; Cada projeto possui diretrizes específicas para contribuições.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fork e Clone:&lt;/strong&gt; Faça um "fork" do repositório e clone-o para sua máquina local.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implemente Alterações:&lt;/strong&gt; Trabalhe em uma nova &lt;em&gt;branch&lt;/em&gt; para adicionar funcionalidades ou corrigir problemas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Abra um Pull Request:&lt;/strong&gt; Explique sua contribuição e submeta para análise.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A interação com as pessoas mantenedoras e a comunidade do projeto é essencial. Esteja aberto a feedbacks, pois eles ajudam a melhorar suas habilidade.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusão&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;O mundo do Open Source é vasto e cheio de oportunidades. Seja você uma pessoa iniciante ou uma pessoa desenvolvedora experiente, contribuir para projetos de código aberto é uma forma poderosa de crescer profissionalmente, aprender com a comunidade e retribuir ao ecossistema de software.&lt;/p&gt;

&lt;p&gt;Seja no GitHub ou em outras plataformas, cada linha de código compartilhada é uma peça importante na construção de soluções melhores para todos. Comece hoje e descubra como o Open Source pode transformar sua jornada no desenvolvimento de software 🚀&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>Tecnologia, comunicação e pessoas: descubra o papel de uma pessoa Tech Community Manager.</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Mon, 20 May 2024 22:12:28 +0000</pubDate>
      <link>https://forem.com/feministech/tecnologia-comunicacao-e-pessoas-descubra-o-papel-de-uma-pessoa-tech-community-manager-3726</link>
      <guid>https://forem.com/feministech/tecnologia-comunicacao-e-pessoas-descubra-o-papel-de-uma-pessoa-tech-community-manager-3726</guid>
      <description>&lt;h2&gt;
  
  
  Para começar... Um pouco sobre a minha trajetória 💭
&lt;/h2&gt;

&lt;p&gt;No início de 2024, fiz uma migração de carreira de desenvolvedora de software para Tech Community Manager. Desde então, percebi que muitas pessoas que me acompanham não sabem exatamente o que faz uma pessoa Tech Community Manager na prática.&lt;/p&gt;

&lt;p&gt;Apaixonada por tecnologia, comunicação e educação, busco constantemente aprender, compartilhar e ensinar sobre tech através de diversos meios, incluindo lives, palestras, eventos, vídeos, artigos, podcasts e mídias sociais.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddtvnc9a3oz3hjqa1nli.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddtvnc9a3oz3hjqa1nli.jpg" alt="Imagem da Leticia @levxyca segurando um microfone" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Minha história como dev e criadora de conteúdo tech 🖥️
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A iniciação no mundo da tecnologia
&lt;/h3&gt;

&lt;p&gt;No segundo semestre de 2019, ingressei na Universidade Tecnológica Federal do Paraná para cursar Tecnologia em Análise e Desenvolvimento de Sistemas. Logo percebi a necessidade de compartilhar minha rotina como estudante de desenvolvimento e, por isso, criei uma conta no Twitter onde postava minhas atividades diárias, tarefas do curso e outros assuntos relacionados à tecnologia e programação. Essa foi minha primeira experiência criando conteúdo nessa área.&lt;/p&gt;

&lt;p&gt;Com a chegada da pandemia em 2020, as aulas na universidade foram suspensas. Com mais tempo livre, decidi começar a estudar front-end. Em paralelo, comecei a fazer live coding e compartilhar todo o meu processo de aprendizagem e evolução em várias redes sociais.&lt;/p&gt;

&lt;h3&gt;
  
  
  Envolvimento com comunidades
&lt;/h3&gt;

&lt;p&gt;Apesar de ter feito a migração de carreira em 2024, estou envolvida com comunidades há 4 anos. Sou cofundadora de algumas comunidades que participo, como a &lt;a href="https://feministech.com.br/" rel="noopener noreferrer"&gt;Feministech&lt;/a&gt;. Esse envolvimento me ajudou a perceber a importância das comunidades na tecnologia e como elas podem ser um espaço de aprendizado e crescimento.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que faz uma Tech Community Manager? 🔍
&lt;/h2&gt;

&lt;p&gt;Agora, vamos lá! O que faz uma Tech Community Manager? Vou compartilhar minha experiência pessoal, mas lembre-se de que as responsabilidades podem variar dependendo da empresa ou organização.&lt;/p&gt;

&lt;h3&gt;
  
  
  Principais responsabilidades
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Estabelecer, nutrir e administrar comunidades
&lt;/h4&gt;

&lt;p&gt;Minha principal responsabilidade é criar e manter comunidades vibrantes e engajadas. Isso envolve conhecer as necessidades e interesses da comunidade, além de fornecer conteúdos e oportunidades que promovam a participação ativa.&lt;/p&gt;

&lt;h4&gt;
  
  
  Produção de eventos
&lt;/h4&gt;

&lt;p&gt;Organizo e lidero eventos, encontros e oficinas. Esses eventos são fundamentais para criar conexões entre membros da comunidade e proporcionar um espaço para troca de conhecimento.&lt;/p&gt;

&lt;h4&gt;
  
  
  Acompanhar, avaliar e comunicar o engajamento da comunidade
&lt;/h4&gt;

&lt;p&gt;Acompanho de perto o engajamento da comunidade, avaliando métricas e feedbacks. Com base nisso, ajusto minhas estratégias para garantir que estamos atendendo às expectativas e necessidades da comunidade alinhado aos objetivos da empresa.&lt;/p&gt;

&lt;h4&gt;
  
  
  Servir como elo entre a comunidade e a empresa
&lt;/h4&gt;

&lt;p&gt;Sou a ponte entre a comunidade e a empresa, garantindo que as vozes e necessidades das pessoas participantes da comunidade sejam ouvidas e atendidas. Isso inclui levar feedbacks importantes para a empresa e comunicar de forma clara as decisões e novidades para a comunidade.&lt;/p&gt;

&lt;h4&gt;
  
  
  Aplicar estratégias para impulsionar o crescimento da comunidade
&lt;/h4&gt;

&lt;p&gt;Reconheço e aplico estratégias para impulsionar o crescimento da comunidade. Isso pode incluir parcerias e iniciativas que aumentem a visibilidade e atração de novas pessoas participantes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Criação de conteúdo
&lt;/h4&gt;

&lt;p&gt;Crio conteúdos relevantes para a comunidade. Também ajudo outras pessoas do time a se engajar na comunidade, por exemplo, criando blog posts ou participando de eventos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skills que foram importantes para mim nessa área 💡
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ser comunicativa
&lt;/h3&gt;

&lt;p&gt;A boa comunicação é essencial. Embora eu seja introvertida, desenvolvi habilidades para me expressar bem e lidar com a timidez. Isso me ajuda a me conectar de forma autêntica com a comunidade.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ter atuado como desenvolvedora
&lt;/h3&gt;

&lt;p&gt;Meu background em tecnologia me permite compreender melhor as necessidades e desafios da comunidade. Isso facilita a identificação com meus conteúdos e a criação de um ambiente de apoio e colaboração.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão 🤝
&lt;/h2&gt;

&lt;p&gt;Já sabia o que uma pessoa Tech Community Manager faz? Se interessou? Deixe nos comentários! E se você atua na área e tem outras responsabilidades, bora trocar figurinhas aqui e enriquecer esse conteúdo!&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>community</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Desenvolva suas habilidades de programação de forma divertida: 10 jogos para aprender programação</title>
      <dc:creator>Leticia @levxyca</dc:creator>
      <pubDate>Mon, 11 Mar 2024 17:19:52 +0000</pubDate>
      <link>https://forem.com/feministech/desenvolva-suas-habilidades-de-programacao-de-forma-divertida-10-jogos-para-aprender-programacao-23fc</link>
      <guid>https://forem.com/feministech/desenvolva-suas-habilidades-de-programacao-de-forma-divertida-10-jogos-para-aprender-programacao-23fc</guid>
      <description>&lt;p&gt;Aprender programação pode ser desafiador, mas não precisa ser monótono 👀 Se você está buscando uma maneira divertida e interativa de aprimorar suas habilidades de codificação, os jogos são uma excelente escolha 🎮 Vamos explorar 10 jogos que transformam o aprendizado em algo lúdico e didático!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://flexboxfroggy.com/" rel="noopener noreferrer"&gt;Flexbox Froggy&lt;/a&gt;&lt;/strong&gt;: Mergulhe no mundo flexível do CSS com o Flexbox Froggy. Este jogo envolvente ensina os fundamentos do Flexbox de maneira interativa, desafiando você a posicionar sapos em lily pads usando propriedades do Flexbox.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://codecombat.com/" rel="noopener noreferrer"&gt;CodeCombat&lt;/a&gt;&lt;/strong&gt;: Participe de uma aventura épica enquanto aprende a programar em Python, JavaScript e outros. CodeCombat combina desafios de codificação com uma narrativa envolvente, proporcionando uma experiência imersiva.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://flukeout.github.io/" rel="noopener noreferrer"&gt;CSS Diner&lt;/a&gt;&lt;/strong&gt;: Entre em um restaurante CSS e resolva quebra-cabeças para aprender seletores CSS. CSS Diner é uma maneira divertida e prática de aprimorar suas habilidades de estilização.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://alexnisnevich.github.io/untrusted/" rel="noopener noreferrer"&gt;Untrusted&lt;/a&gt;&lt;/strong&gt;: Desvende quebra-cabeças de programação em Untrusted, um jogo intrigante que desafia você a hackear o sistema para avançar. Prepare-se para raciocinar de forma criativa!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/git-game/git-game" rel="noopener noreferrer"&gt;Git Game&lt;/a&gt;&lt;/strong&gt;: Aprender Git pode ser complexo, mas o Git Game simplifica o processo. Este jogo ensina os conceitos fundamentais do controle de versão de forma envolvente, transformando o aprendizado em uma jornada interativa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://lightbot.com/" rel="noopener noreferrer"&gt;Lightbot&lt;/a&gt;&lt;/strong&gt;: Comande um simpático robô para acender azulejos em Lightbot. Este jogo educativo introduz conceitos de programação por meio de comandos simples, proporcionando uma experiência visualmente atraente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://checkio.org/" rel="noopener noreferrer"&gt;CheckiO&lt;/a&gt;&lt;/strong&gt;: Desenvolva suas habilidades em Python resolvendo missões desafiadoras em CheckiO. Este jogo transforma o aprendizado de programação em uma jornada de resolução de problemas, onde cada desafio é uma oportunidade de crescimento.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://screeps.com/" rel="noopener noreferrer"&gt;Screeps&lt;/a&gt;&lt;/strong&gt;: Entre em um mundo de estratégia e programação em tempo real com Screeps. Este jogo MMO permite que você escreva códigos para controlar suas unidades em uma batalha constante pela supremacia.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://play.elevatorsaga.com/" rel="noopener noreferrer"&gt;Elevator Saga&lt;/a&gt;&lt;/strong&gt;: Desafie suas habilidades de lógica e programação ao otimizar a eficiência de elevadores em diferentes cenários. Elevator Saga é uma maneira prática e divertida de aprender algoritmos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.hackerrank.com/domains/tutorials/10-days-of-javascript" rel="noopener noreferrer"&gt;HackerRank&lt;/a&gt;&lt;/strong&gt;: Engaje-se em desafios de programação específicos em HackerRank. Com uma ampla variedade de problemas, você pode aprimorar suas habilidades em várias linguagens, incluindo Python, JavaScript e mais.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conhecem outros jogos legais para aprender ou praticar programação? Fique a vontade para deixar nos comentários e fortalecer essa comunidade de programação com mais diversão! 🎮&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>learning</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
