<?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>DEV Community: Fabrícia Diniz</title>
    <description>The latest articles on DEV Community by Fabrícia Diniz (@fabriciadiniz).</description>
    <link>https://dev.to/fabriciadiniz</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%2F262998%2F2fe9df38-923d-4a65-85c8-6568aaf4eb3b.jpeg</url>
      <title>DEV Community: Fabrícia Diniz</title>
      <link>https://dev.to/fabriciadiniz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fabriciadiniz"/>
    <language>en</language>
    <item>
      <title>O que aprendi ministrando meu primeiro workshop</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Wed, 15 Sep 2021 16:07:07 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/o-que-aprendi-ministrando-meu-primeiro-workshop-35db</link>
      <guid>https://dev.to/fabriciadiniz/o-que-aprendi-ministrando-meu-primeiro-workshop-35db</guid>
      <description>&lt;p&gt;Em julho de 2021 eu fui convidada para dar um workshop de Django REST Framework na &lt;a href="https://2020.pythonnordeste.org/"&gt;Python Nordeste&lt;/a&gt;. Eu já havia atuado como monitora em um Django Girls local, mas nunca havia ministrado o meu próprio workshop. Eu sabia o tamanho da responsabilidade, mas o que eu não esperava era que aceitar esse desafio mudaria uma chavinha na minha cabeça em termos de criar e desenvolver projetos.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Um &lt;strong&gt;workshop&lt;/strong&gt; é um seminário ou curso intensivo de curta duração em que técnicas são demonstradas e aplicadas.&lt;/em&gt; Ou seja, eu precisava de um projeto relativamente simples, que pudesse ser concluído em 3 horas ou menos, mas que ao mesmo tempo "vendesse o peixe" do DRF, demonstrando o quão fácil de usar e customizável ele é.&lt;/p&gt;

&lt;h3&gt;
  
  
  1º aprendizado: uso da documentação
&lt;/h3&gt;

&lt;p&gt;Todas as vezes que eu cheguei a ler avidamente documentações foi porque eu tinha um problema em um grande projeto e precisava de uma resposta rápida e pontual. Isso fazia com que eu não testasse os exemplos de código em um projeto de baixa complexidade, os aplicando direto no meu grande projeto, e isso normalmente acabava resultando em um comportamento inesperado ou uma mensagem de erro que eu não entendia a procedência.&lt;/p&gt;

&lt;p&gt;Aplicar os diferentes conceitos em um projeto contendo o mínimo de código necessário para seu funcionamento reduz as chances de algum fator desconhecido quebrar o código. Além disso, torna mais fácil identificar causas de erros, já que existem menos fatores influenciando o resultado.&lt;/p&gt;

&lt;h3&gt;
  
  
  2º aprendizado: reduzir escopo dos projetos
&lt;/h3&gt;

&lt;p&gt;No começo de 2020 eu fazia live coding de um site de receitas que eu estava criando como side project. Como eu tinha uma audiência, eu tentei delimitar quais funcionalidades seriam desenvolvidas em qual ordem, &lt;strong&gt;mas eu acabei adicionando mais complexidade do que eu conseguia lidar naquele momento&lt;/strong&gt;. O resultado é que o projeto está abandonado até hoje.&lt;/p&gt;

&lt;p&gt;Ser forçada a criar um projeto que pudesse ser completado em poucas horas mudou a forma que eu olho para o escopo dos meus projetos. É melhor criar um projeto com um escopo pequeno mas que você consiga desenvolver do começo ao fim do que tentar fazer um projeto extraordinário que vai ser abandonado na metade.&lt;br&gt;
Um outro ponto a favor dos projetos de escopo pequeno é que você pode sempre adicionar mais funcionalidades, e ter terminado alguma coisa é um gatilho positivo para o seu cérebro.&lt;/p&gt;

&lt;h3&gt;
  
  
  3º aprendizado: ensinar é realmente uma ótima forma de aprender
&lt;/h3&gt;

&lt;p&gt;Como eu iria ter que explicar todos os passos do projeto para outras pessoas e precisaria saber responder a dúvidas,  me debrucei com afinco na documentação e busquei realmente entender o comportamento do código e o que estava acontecendo por baixo dos panos. Testei alguns cenários diferentes (dentro do meu escopo pequeno) para ver como a API se comportava em diferentes situações, com diferentes inputs. Fazendo isso &lt;strong&gt;eu consegui um entendimento bem mais profundo do funcionamento do meu sistema e do framework como um todo&lt;/strong&gt;, que me deu um sentimento de estar mais apta a resolver problemas futuros.&lt;/p&gt;

&lt;p&gt;Algumas pessoas (como eu) têm dificuldade em estudar por si mesmas, escolher um assunto e sentar a bunda na cadeira para aprender algo novo. Precisar estudar para passar conhecimento de qualidade para outras pessoas é um grande incentivo para finalmente conseguir focar nos estudos. E nesse ponto, não precisa ser apenas algo grandioso como um workshop num evento de grande porte, pode ser num evento de pequeno porte, um vídeo, uma live ou até mesmo um artigo no seu blog.&lt;/p&gt;

&lt;h3&gt;
  
  
  4º aprendizado: você consegue
&lt;/h3&gt;

&lt;p&gt;Não sei vocês, mas o meu Github é um cemitério de projetos inacabados e isso meio que me fazia pensar que eu não conseguiria desenvolver um side project do início ao fim. Sendo forçada a reduzir o escopo e construir algo em um período definido de tempo fez com que &lt;em&gt;alguma coisa&lt;/em&gt; saísse do papel e o meu cérebro entendesse que sim, eu consigo desenvolver coisas por mim mesma, num contexto fora do trabalho. Não que alguém &lt;em&gt;precise&lt;/em&gt; desenvolver projetos paralelos, mas há uma diferença grande entre não querer e achar que não consegue.&lt;/p&gt;




&lt;p&gt;Em julho eu não achava que estava pronta para ministrar algo dessa magnitude em um evento como a PyNE, mas eu sou uma mulher de palavra e fui mesmo assim. Depois de horas e horas estudando e montando o melhor conteúdo que eu poderia passar, eu sinto que a minha autoconfiança nas minhas capacidades profissionais aumentou um tantinho a mais. Recomendo a experiência!&lt;/p&gt;

</description>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Como melhorar seus testes técnicos</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Sun, 04 Jul 2021 23:06:37 +0000</pubDate>
      <link>https://dev.to/feministech/como-melhorar-seus-testes-tecnicos-5e68</link>
      <guid>https://dev.to/feministech/como-melhorar-seus-testes-tecnicos-5e68</guid>
      <description>&lt;p&gt;Pelo menos 1 vez por mês eu corrijo testes técnicos de pessoas que querem entrar na empresa que eu trabalho e com frequência analiso os pontos fortes e fracos dos testes de pessoas que eu indico. &lt;strong&gt;Muitas vezes os critérios que desqualificam alguém não são necessariamente técnicos&lt;/strong&gt;, e vendo as pessoas cometendo os mesmos erros repetidamente eu gostaria de dar a minha contribuição e trazer alguns pontos de atenção na hora de fazer um teste técnico para maximizar suas chances de conseguir um emprego. &lt;br&gt;
&lt;em&gt;Lembrando que existem empresas que vão sim dar muito mais peso ao aspecto técnico, então não posso prometer que seguindo esse artigo você vai conseguir passar com certeza.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  README
&lt;/h2&gt;

&lt;p&gt;A primeira coisa que me faz olhar um projeto com bons olhos é o README. Ele é o ponto de acesso das pessoas ao seu projeto e portanto deve ter um bom descritivo das tecnologias usadas e de como rodar o projeto localmente. Na hora de escrever o README você precisa ter em mente que a pessoa que vai avaliar o seu projeto provavelmente não tem as mesmas configurações de ambiente que você e não vai querer perder tempo descobrindo quais as configurações corretas, seu projeto não roda e pronto e você pode não passar para a próxima fase por conta disso.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fl8uvl8t9mzcij1y5soaz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fl8uvl8t9mzcij1y5soaz.png" alt="Exemplo de README com instruções de instalação"&gt;&lt;/a&gt;&lt;em&gt;Exemplo de instruções de instalação&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Uma coisa que me ajudou quando eu submeti o meu último teste técnico foi enviá-lo antes para um amigo, que tentou rodar tudo seguindo o que estava no README. Ele não conseguiu rodar o projeto por falta de informações a respeito das versões dos frameworks e linguagens utilizados e apontou diversas outras inconsistências no meu projeto, que eu tive a chance de corrigir antes de submeter para a empresa (e conseguir a vaga).&lt;/p&gt;
&lt;h3&gt;
  
  
  Itens que não podem faltar
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Descrições das tecnologias utilizadas e suas respectivas versões&lt;/strong&gt;: um código que roda em uma versão de um framework pode não rodar em outra por isso é sempre importante especificar todas as versões utilizadas

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;pontos bônus&lt;/strong&gt;: adicionar um &lt;code&gt;requirements.txt&lt;/code&gt; ou algo do tipo que permita que a pessoa instale todas as dependências de uma vez só&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link para o repositório do teste OU explicação básica de como o projeto funciona&lt;/strong&gt;: facilita a vida da pessoa que vai corrigir, bem. Basta a pessoa pegar o seu repositório e ela já vai ter tudo que precisa para corrigir, aposto que pelo menos um tiquinho de simpatia da pessoa você já ganha.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Repositório
&lt;/h2&gt;

&lt;p&gt;Deixe o repositório o mais limpo e organizado possível. Exclua arquivos que não estão sendo utilizados (tipo alguns arquivos automáticos gerados pelo framework que não sejam úteis), &lt;em&gt;pelo amor da deusa&lt;/em&gt; não suba a pasta node_modules pro repositório se você fizer algo em JS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F1cpq4dichhopbzjietll.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F1cpq4dichhopbzjietll.png" alt="Estrutura de pastas de um repositório no github, a primeira pasta se chama .idea"&gt;&lt;/a&gt;&lt;em&gt;Nesse repo aqui eu esqueci de adicionar a pasta .idea ao gitignore, acabei subindo o que não devia&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Como &lt;em&gt;baby-dev&lt;/em&gt; eu apanhei um bocado para entender qual a forma certa de organizar as pastas em um projeto, quais responsabilidades deveriam ficar isoladas onde, essas coisas. A dica que eu posso dar nesse caso é o que funciona para mim: &lt;strong&gt;desenhe a sua solução&lt;/strong&gt;, no papel mesmo. Eu normalmente desenho de onde os dados vêm, qual o caminho que eles percorrem, que modificações são feitas e onde eles serão utilizados, de forma que fique mas fácil visualizar que trechos de código estão fazendo o que e quais critérios eu poderia usar para dividi-los em arquivos diferentes.&lt;/p&gt;

&lt;p&gt;Um ponto difícil para quem está começando a pouco tempo na programação, aprendendo por tutoriais e vídeos no youtube, é que normalmente nesses conteúdos mais básicos as responsabilidades ficam todas num arquivo só ou não são separadas da forma que acontece em projetos maiores, o que pode levar ao seu projeto ficar com alto acoplamento e acabar perdendo pontos. &lt;/p&gt;

&lt;p&gt;O desenho do fluxo dos dados ajuda a agrupar métodos do mesmo tipo em pastas descritivas. A lógica que estamos tentando desenvolver é a seguinte: se alguém precisar trabalhar no meu repositório e quiser alterar um método que faz X, a pessoa consegue saber onde fazer isso sem ter que procurar em várias pastas? Se ela precisar alterar algo na visualização dos dados é fácil de saber onde estão os arquivos que cuidam da visualização? Lembrando que cada linguagem de programação e cada framework tem a sua forma própria de organizar os arquivos, então é importante se atentar a isso também.&lt;/p&gt;
&lt;h2&gt;
  
  
  Arquivos
&lt;/h2&gt;

&lt;p&gt;Escreva códigos legíveis e concisos. Mas Fabrícia como eu sei que o meu código está legível e conciso? Vamos dar uma entrada no &lt;a href="https://amzn.to/3jIFYuw" rel="noopener noreferrer"&gt;Clean Code&lt;/a&gt; aqui. A resposta é: &lt;strong&gt;dê nomes significativos para as suas variáveis&lt;/strong&gt;, se tiver uma variável &lt;code&gt;x&lt;/code&gt; ou &lt;code&gt;string&lt;/code&gt; em algum lugar você já não tem um código tão legível. Na hora de nomear as variáveis procure usar nomes que representem o que elas são, por exemplo &lt;code&gt;taxa&lt;/code&gt; ou &lt;code&gt;inputTelefone&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Falando em &lt;code&gt;inputTelefone&lt;/code&gt;, escolha uma forma de nomear as suas variáveis e métodos e se atenha a ela por todo o código, de preferência aquela que for uma boa prática para a linguagem escolhida. Se for camelCase, mantenha camelCase, se for snake_case, mantenha snake_case, misturar duas ou mais formas diferentes passa a impressão de que você não está dando a devida atenção ao seu código.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const student_name = "Olivia";
const findRegisterByName = () =&amp;gt; {...};

# Não faça isso, consistência é tudo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mesmo que você não domine a fundo a tecnologia, existem alguns aspectos de organização que pessoas de qualquer nível podem aplicar e passar um ar mais profissional. Nem todas as empresas pensam o processo de contratação da mesma forma, mas existe a linha de pensamento de que é mais fácil ensinar hard skills para uma pessoa recém-contratada do que ensiná-la certas soft skills, então se você se mostra uma pessoa organizada, que escreve códigos legíveis e concisos, você pode estar à frente de pessoas que são melhores tecnicamente mas que não têm o mesmo cuidado com o material que estão apresentando.&lt;br&gt;
&lt;em&gt;Eu inclusive já recebi esse feedback, que existiam outras pessoas no processo seletivo que eram melhores do que eu tecnicamente mas o meu código era legível e muito bem organizado, então eu acabei sendo contratada.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Usar uma &lt;strong&gt;ferramenta de linter&lt;/strong&gt; também pode contar pontos a seu favor, uma vez que muitas empresas as usam e é outro ponto que mostra o seu cuidado com a padronização do código.&lt;/p&gt;
&lt;h2&gt;
  
  
  Testes
&lt;/h2&gt;

&lt;p&gt;Eu sei, nem todo mundo domina testes, especialmente iniciantes na área. Então eu vou dar uma dica: teste como você espera que o sistema se comporte frente a um usuário. Pense como alguém usando o seu programa, se a pessoa clicar em determinado botão o que ela deve ver? Se alguma informação errada for inserida, como o programa responde a isso? Que informações podem ser checadas na tela para indicar que a página carregou corretamente? No backend, teste se as informações estão sendo retornadas no formato esperado, incluindo mensagens de erro, de acordo com os cenários de sucesso e fracasso na requisição. Dessa forma você demonstra escrever um código de mais fácil manutenção e também mostra que tem conhecimento em algo tão importante quanto testes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;test("Não deve matricular aluno sem CPF válido", () =&amp;gt; {
    const requisicaoMatricula = {
        aluno: {
            nome: "Ana Maria",
            cpf: "213.345.654-10"
        }
    };
    expect(() =&amp;gt; matriculaAluno.execute(requisicaoMatricula)).toThrow(new Error("CPF inválido"));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Aqui testamos uma situação de erro, esperando (expect) que seja lançado (toThrow) o erro específico (CPF inválido)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Saber o que você quer testar ajuda na hora de procurar como escrever o código que vai fazer tudo isso. Tendo uma ideia do que precisa ser feito, o que resta é se debruçar em documentações e exemplos e tentar traduzir aquilo para a sua situação. Uma coisa que me ajuda muito é ver projetos reais e analisar como os testes foram implementados, isso facilita e muito o trabalho de escrever testes quando você não sabe muito bem por onde começar.&lt;/p&gt;

&lt;p&gt;Eu passei em duas entrevistas sem escrever testes, mas eu com certeza perdi vários pontos por não tê-los feito. Se você vai optar por não escrever testes, se faça um grande favor e teste manualmente mesmo todos os casos extremos, com os inputs mais mirabolantes que você puder pensar. Dessa forma pelo menos você garante que a coisa está funcionando mesmo e evita perder ainda mais pontos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pontos de melhoria
&lt;/h2&gt;

&lt;p&gt;Pessoalmente eu gosto de incluir no README do projeto uma seção de pontos de melhoria que eu faria no projeto. Gosto de fazer isso porque normalmente nós não temos tempo suficiente para fazer o teste técnico da melhor forma possível, por qualquer motivo que seja, e mostrar que você tem ciência dos pontos que podem ser melhorados passa a ideia de que você está ciente de como o seu projeto poderia ficar bem melhor. Eu vejo como uma forma de dizer &lt;em&gt;"esse projeto não representa o meu melhor e eu tenho ciência desse, desse e desse aspectos que eu poderia melhorar se eu tivesse mais tempo para trabalhar na solução."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Um outro aspecto que pode ser interessante mencionar é o que foi priorizado em detrimento do quê. Recentemente eu entrevistei uma pessoa cujo projeto tinha sido avaliado como sendo de nível júnior por não ter testes e mais alguns outros detalhes. Na hora da entrevista a pessoa mencionou trabalhar a anos em um determinada empresa e falou sobre diversas experiências de trabalho. Certamente não era o que eu estava esperando. Perguntei sobre os testes e ela me disse que havia feito a escolha de não fazer testes para priorizar outro aspecto da aplicação e em seguida discorreu sobre a importância que ela via nos testes e seus estudos sobre Desenvolvimento Orientado a Testes. Ou seja, essa pessoa poderia não ter passado na etapa de avaliação por não ter implementado testes, mas ela sabia da importância deles e escolheu não implementá-los porque estava trabalhando em tempo integral na época e preferiu focar em finalizar mais requisitos do teste técnico.&lt;/p&gt;

&lt;p&gt;Mas claro que se você acha que deu o seu melhor e que não tem nada que você melhoraria, você não precisa incluir esse tópico.&lt;/p&gt;

&lt;h2&gt;
  
  
  Facilite a vida da pessoa que vai corrigir
&lt;/h2&gt;

&lt;p&gt;Essa dica eu aprendi vendo testes técnicos de outras pessoas. Em um teste específico a pessoa criou um container docker para que quem fosse corrigir não precisasse instalar as dependências na própria máquina. Em outro a pessoa subiu o projeto em um Heroku/Netlify da vida e possibilitou que nós testássemos o projeto sem precisar rodar ele localmente.&lt;/p&gt;

&lt;p&gt;Eu reconheço que essas atitudes não são muito triviais e podem consumir um tempo que você não tem. Até porque não adianta nada subir o projeto no Heroku se vai estar tudo quebrando porque não sobrou tempo para consertar. Então o que eu recomendo é: pega um projetinho que você já tenha e tira um fim de semana para tentar fazer esses processos. Se você precisar, documente o passo a passo. Fazendo isso uma vez e sabendo o "caminho das pedras" na hora do teste técnico você só precisa seguir o seu passo a passo e a coisa sai mais rápido do que se você tivesse que aprender na hora.&lt;/p&gt;

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

&lt;p&gt;Existem diversos aspectos não diretamente relacionados com linguagens de programação que podem ser observados para te dar alguma vantagem frente a outros concorrentes para uma vaga. Nesse artigo eu quis trazer alguns pontos de atenção e algumas dicas para deixar os seus testes técnicos ainda melhores e mais atraentes para as pessoas avaliadoras.&lt;/p&gt;

&lt;p&gt;Espero ter conseguido ajudar e como sempre sinta-se a vontade para deixar mais dicas nos comentários.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>beginners</category>
      <category>testing</category>
    </item>
    <item>
      <title>Microagressões em empresas de tecnologia</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Thu, 17 Jun 2021 00:38:55 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/microagressoes-em-empresas-de-tecnologia-89j</link>
      <guid>https://dev.to/fabriciadiniz/microagressoes-em-empresas-de-tecnologia-89j</guid>
      <description>&lt;p&gt;É cada vez mais comum ver empresas de tecnologia querendo contratar mais mulheres e se esforçando (às vezes não tanto) para criar ambientes inclusivos. A realidade é que &lt;em&gt;essa não é uma construção fácil&lt;/em&gt; e várias atitudes danosas podem passar despercebidas. Hoje eu quero falar especificamente sobre microagressões.&lt;/p&gt;

&lt;p&gt;Antigamente era mais fácil identificar agressões no ambiente de trabalho: eram gritos, um tapa na bunda, diminuição das capacidades das mulheres, etc. Hoje em dia as agressões estão cada vez mais sutis à medida que as mais graves vão sendo combatidas &lt;em&gt;mas o sentimento que as motiva ainda permanece&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;As &lt;strong&gt;microagressões&lt;/strong&gt; podem se passar por erros honestos, pois é perfeitamente possível, por exemplo, que uma pessoa não leia uma mensagem e acabe passando por cima do trabalho de uma colega (especialmente nesses tempos remotos que vivemos). Porém, essa ação pode ser motivada por essa pessoa inconscientemente perceber a colega como tendo "menos valor". Se você questioná-la, ela provavelmente vai dizer que não viu a mensagem mesmo, não foi intencional. Para a pessoa que é passada por cima fica aquele sentimento de &lt;em&gt;"será que isso aconteceu mesmo? Será que eu tô enxergando coisa onde não tem?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;O grande ponto de observação é se a pessoa tem as mesmas atitudes com colegas homens e mulheres. Apesar de importante critério de "desempate" isso pode não ser fácil de perceber, as diferenças de comunicação podem acontecer em ambientes privados, por exemplo. Além disso, para as pessoas que realizam as microagressões a sua própria culpa não é tão clara. O &lt;em&gt;"me desculpe se você se sentiu ofendida"&lt;/em&gt; é um sinal de que a pessoa não percebe o problema em suas ações e padrão de pensamento e dificilmente tomará alguma ação para melhorar (ou ela nunca aprendeu a se desculpar).&lt;/p&gt;

&lt;p&gt;Agora, o mais importante é: como se lida com uma pessoa que está cometendo uma microagressão se ela não percebe o seu próprio viés mental? Do meu ponto de vista, é preciso que a empresa tome uma ação e não a pessoa que foi vítima. A pessoa na maioria das vezes já não enxerga o seu viés, de forma que é muito fácil apenas descartar as reclamações recebidas. Cobrar que a pessoa que já está se sentindo mal resolva a situação apenas a submete a mais uma agressão.&lt;/p&gt;

&lt;p&gt;Sinceramente, enquanto eu escrevo isso eu consigo visualizar as desculpas sendo dadas e o sentimento de "eu preciso pisar em cascas de ovos perto dessas mulheres mimimizentas". Eu tenho ciência de que essa é uma mudança que raramente pode ser imposta se a pessoa não enxergar valor nela. &lt;strong&gt;E passar o valor dessa mudança talvez seja o grande X da questão.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Normalmente, pessoas do lado mais privilegiado do espectro &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;não percebem seus privilégios;&lt;/li&gt;
&lt;li&gt;nunca precisaram se preocupar com as suas ações estarem sendo danosas a outras pessoas.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Vamos de exemplo, inspirado no livro &lt;a href="https://amzn.to/3gHgCKn"&gt;Rápido e Devagar&lt;/a&gt; do Daniel Kahneman: em uma reunião de tomada de decisão, inconscientemente as pessoas tendem a concordar com quem deu a sua opinião primeiro e quem fala mais "alto", com mais convicção. Essa pessoa normalmente não se preocupa que as pessoas estarem acatando o que ela fala o tempo todo representa um silenciamento da colega mulher que fala de forma mais tímida e nunca tem as ideias acatadas. Pessoas assim costumam refletir pouco sobre si mesmas e sobre seus atos, tendendo a depositar a culpa na ação de outras pessoas, não conseguindo ter empatia pela colega que não é ouvida.&lt;/p&gt;

&lt;p&gt;Se esse último parágrafo te incomodou pela generalização, faça um exercício: veja se você consegue anotar pelo menos 3 privilégios que você usufrua no seu dia a dia. Você consegue identificar momentos em que você está sendo privilegiado em detrimento de alguma outra pessoa e você combate isso na vida real e não só na sua cabeça? &lt;strong&gt;Viver usufruindo de privilégios é bem mais fácil do que ter a consciência dos momentos em que eles existem.&lt;/strong&gt; Apenas ter consciência é muito mais fácil do que realmente tomar alguma atitude para equalizar a situação.&lt;/p&gt;

&lt;p&gt;Eu, Fabrícia, ainda enxergo uma barreira a mais. Atualmente as mulheres constituem cerca de 25% dos profissionais de TI no Brasil. Uma porcentagem menor ainda ocupa cargos de liderança. Ou seja, uma mulher tem uma chance enorme de ter um líder homem e esse líder precisa estar ciente de &lt;strong&gt;privilégios&lt;/strong&gt;, &lt;strong&gt;vieses inconscientes&lt;/strong&gt; e &lt;strong&gt;microagressões&lt;/strong&gt; para evitar que o discurso de inclusão seja um discurso vazio só para a empresa sair bem na mídia.&lt;/p&gt;

&lt;p&gt;Considerando o baixo percentual de pessoas de minorias em geral nesses cargos, eu vejo as lideranças tendo um grande trabalho de aprendizagem e reflexão sobre seus próprios privilégios e a maneira como as suas atitudes podem agravar uma microagressão sofrida, mesmo que de forma não intencional, por falta de empatia com aqueles historicamente menos privilegiados.&lt;/p&gt;

&lt;p&gt;A conclusão que eu posso tirar é: se a empresa possui o valor de inclusão de diversidade, &lt;strong&gt;todas as pessoas que trabalham nela precisam ser bastiãs desse valor&lt;/strong&gt;, reconhecendo inclusive ações sutis que o contrariam. Uma boa saída seria promover periodicamente cursos obrigatórios de inclusão que saíssem do básico e entrassem nesses temas mais "espinhosos" e sutis. Para as lideranças, reforço extra no trabalho de empatia. Se a pessoa não enxerga nenhuma vantagem nesse tipo de ação de combate, já começou errado, volte 5 casas.&lt;/p&gt;

&lt;p&gt;Eu espero que esse texto possa trazer alguma reflexão sobre a temática e como sempre estou aberta à continuar a discussão nos comentários. A internet também está cheia de outros recursos para ajudar nessa jornada.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>How to start a task being a junior developer</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Tue, 08 Jun 2021 14:14:04 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/how-to-start-a-task-being-a-junior-developer-4d16</link>
      <guid>https://dev.to/fabriciadiniz/how-to-start-a-task-being-a-junior-developer-4d16</guid>
      <description>&lt;h3&gt;
  
  
  TL-DR:
&lt;/h3&gt;

&lt;p&gt;In this article I talk about strategies I use to efficiently navigate my tasks at work as a junior developer (who has ADHD).&lt;br&gt;
These are the topics covered (I went a little further than just starting):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Before starting a task&lt;/li&gt;
&lt;li&gt;While developing&lt;/li&gt;
&lt;li&gt;At task completion&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Basically, there are 3 types of strategies I use when doing a task: ** those applied to reduce the difficulty of starting, those applied during development to smooth the process, and those applied at the end of the task to reduce the errors that will pass into code review*&lt;em&gt;. To help understanding, I'm going to use a task I did a few months ago, a modal in React.&lt;br&gt;
*I have to warn you that these tips will improve your performance in the medium term, but in the short term it may seem like you're taking things slower than you'd like. I suggest talking to your leadership to align the expectations.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Before starting a task
&lt;/h2&gt;

&lt;p&gt;Before starting any task I like to understand the code I'm going to work with, so I look for the components involved in the task and read them, taking notes in a notebook about what each one does, where the data comes from and what its internal functions do. &lt;strong&gt;That way I can have a deeper understanding of what I'm going to be dealing with&lt;/strong&gt; and I prevent that information from staying only in my head (which is not at all reliable), as well create a place to turn to if ever I need to work again on the same components.&lt;/p&gt;

&lt;p&gt;You could argue that doing it this way "consumes" a lot of task time, but I guarantee it makes development easier and reduces time spent looking for bugs later. From a junior's perspective, &lt;strong&gt;you gain code mastery much faster and deeper&lt;/strong&gt; this way. People don't usually do this and I've found that reading and understanding the code beforehand helps me identify points of attention that go unnoticed even by the more experienced.&lt;/p&gt;

&lt;p&gt;However, sometimes the task is to start something from scratch. In these cases I look for similar components and do the same procedure to understand what all its code does because &lt;strong&gt;this prevents me from just copying code snippets without understanding what they actually do&lt;/strong&gt;. My task of creating a modal fell in this case, I had to create the component from scratch based on a more general one that already existed in the project.&lt;/p&gt;

&lt;p&gt;The last thing I do is &lt;strong&gt;taking note of the subtasks&lt;/strong&gt; within the main task. Here I try to make them as simple and short as possible, because this reduces the time between one subtask and another and greatly improves the development flow. Regarding my modal, it was something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;create modal component&lt;/li&gt;
&lt;li&gt;condition API call to click&lt;/li&gt;
&lt;li&gt;mock API return&lt;/li&gt;
&lt;li&gt;test the action of clicking the button&lt;/li&gt;
&lt;li&gt;find out how to pass information between different components&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  While developing
&lt;/h2&gt;

&lt;p&gt;Having very small and relatively simple subtasks helps reduce the anxiety and procrastination to get started and gives you a better view of progress. Sometimes it is necessary to define &lt;strong&gt;microsteps&lt;/strong&gt; to help break the inertia of starting the task and one that helps me a lot when I need to research a difficult topic is to leave the website or documentation open and then get up from the chair for a while. For some reason I feel less overwhelmed when I've just taken a walk and the website I need is already open just waiting for me. This also works with the code itself, I find the right file to work with and then I'll take a walk around to unwind before starting.&lt;/p&gt;

&lt;p&gt;During the task, unforeseen bugs/fixes always arise, so I &lt;strong&gt;write down all the things I didn't anticipate I would have to do and also all the questions that come up&lt;/strong&gt; to search the internet or ask someone on the team, that way nothing gets lost and I guarantee that I will remember to clarify everything.&lt;br&gt;
Another strategy I have to adopt when it's particularly difficult to focus on the task is to write down the problem I'm trying to solve and write down the little conclusions that will lead me to the solution. An example of how I do this part:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;at what moment should the click open the modal?

&lt;ul&gt;
&lt;li&gt;↪ when an element is registered, determined by &lt;code&gt;element.isEnabled&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;what defines isEnabled? At what point is it changed?&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;the modal must have: isOpen, onClose, type, name, date, activities

&lt;ul&gt;
&lt;li&gt;date comes from the URL ✅&lt;/li&gt;
&lt;li&gt;where does the other information come from? Does the parent component have them all? Do I need to get any of them from somewhere else?&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In some situations it's necessary to do a pair programming and I realized that without my notes I could end up getting pretty lost, so I like to take these steps before having someone help me with answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  At task completion
&lt;/h2&gt;

&lt;p&gt;This is the time to check if any silly mistakes have gone unnoticed. Before submitting an assignment for code review I usually recheck a few things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run all the automated/integration tests to make sure I didn't accidentally break anything&lt;/li&gt;
&lt;li&gt;run lint (if not running automatically)&lt;/li&gt;
&lt;li&gt;update my branch with main/master

&lt;ul&gt;
&lt;li&gt;if necessary, update libraries and database&lt;/li&gt;
&lt;li&gt;if necessary, resolve merge conflicts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;run the code and make sure the behavior is as expected, including error cases&lt;/li&gt;
&lt;li&gt;check if I've followed the code standards defined by the company&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;And here's a tip my tech lead gave me&lt;/strong&gt;: if you think the code is bad after finishing the whole task, call someone on your team to take a look, you can explain what you tried to do and the person can give you feedback on how to improve before submitting to the code review itself.&lt;/p&gt;




&lt;p&gt;Starting a career in development can be quite difficult, especially if you've gone through a career transition or don't have a good theoretical background. With this article I would like to share some strategies I use to make tasks less daunting and less anxiety-provoking.&lt;br&gt;
Do you have any more tips to give not only to me but to other people just starting out? Leave it in the comments and help some more people.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Como iniciar uma tarefa sendo dev júnior</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Sat, 05 Jun 2021 19:07:23 +0000</pubDate>
      <link>https://dev.to/feministech/como-eu-inicio-uma-tarefa-como-dev-junior-2cno</link>
      <guid>https://dev.to/feministech/como-eu-inicio-uma-tarefa-como-dev-junior-2cno</guid>
      <description>&lt;h3&gt;
  
  
  TL-DR:
&lt;/h3&gt;

&lt;p&gt;Nesse artigo eu falo sobre estratégias que eu uso para navegar de maneira eficiente pelas minhas tarefas no trabalho sendo uma desenvolvedora júnior (que tem TDAH).&lt;br&gt;
Etapas abordadas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Antes de iniciar uma tarefa&lt;/li&gt;
&lt;li&gt;Durante o desenvolvimento&lt;/li&gt;
&lt;li&gt;Na finalização da tarefa&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Basicamente, existem 3 tipos de estratégias que eu uso na hora de fazer uma tarefa: &lt;strong&gt;as aplicadas para reduzir a dificuldade de começar, as aplicadas durante o desenvolvimento para facilitar a cadência e as aplicadas ao finalizar a tarefa visando reduzir os erros que passarão para code review&lt;/strong&gt;. Para ajudar no entendimento, vou usar uma tarefa que eu fiz a alguns meses, uma modal em React.&lt;br&gt;
&lt;em&gt;Tenho que deixar avisado que essas coisas vão melhorar a sua performance no médio prazo, mas a curto prazo pode parecer que você está fazendo as coisas mais devagar do que gostaria. Eu sugiro conversar com a sua liderança para alinhar esse tipo de expectativa.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Antes de iniciar uma tarefa
&lt;/h2&gt;

&lt;p&gt;Antes de iniciar qualquer tarefa eu gosto de entender o código que eu vou trabalhar, então eu procuro os componentes envolvidos na tarefa e os leio, anotando num caderno o que cada um faz, de onde os dados vêm e o que as suas funções internas fazem. &lt;strong&gt;Dessa forma eu consigo ter um entendimento mais profundo do que eu estarei mexendo&lt;/strong&gt; e evito que essa informação fique só na minha cabeça (que não é nem um pouco confiável), além de ter um local para recorrer caso seja preciso voltar a trabalhar nos mesmos componentes.&lt;/p&gt;

&lt;p&gt;Você pode até argumentar que fazendo dessa forma se "gasta" muito tempo da tarefa, mas eu garanto que isso facilita o desenvolvimento e reduz o tempo passado procurando bugs depois. Da perspectiva de uma pessoa júnior, &lt;strong&gt;você ganha domínio do código bem mais rápido e de maneira mais profunda&lt;/strong&gt; dessa forma. Normalmente as pessoas não fazem isso e eu já percebi que ler e entender o código antes me ajuda a identificar pontos de atenção que passam despercebidos até para pessoas mais experientes.&lt;/p&gt;

&lt;p&gt;Porém, às vezes a tarefa consiste em começar algo do zero. Nesses casos eu busco componentes semelhantes para me basear e faço o mesmo procedimento de entender o que todo o código faz pois &lt;strong&gt;isso evita que eu só copie trechos de código sem entender o que eles realmente fazem&lt;/strong&gt;. Minha tarefa de criar a modal caiu nesse caso, eu tive que criar o componente do zero me baseando em um mais geral que já existia no projeto.&lt;/p&gt;

&lt;p&gt;A última coisa que eu faço é &lt;strong&gt;anotar as sub-tarefas&lt;/strong&gt; dentro da tarefa principal. Aqui eu tento torná-las o mais simples e reduzidas possível, porque isso reduz o tempo entre uma sub-tarefa e outra e melhora demais a cadência no desenvolvimento. No caso da minha modal, ficou algo parecido com isso:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;criar componente da modal&lt;/li&gt;
&lt;li&gt;condicionar chamada da API ao clique&lt;/li&gt;
&lt;li&gt;mockar retorno da API&lt;/li&gt;
&lt;li&gt;testar caso de clique no botão&lt;/li&gt;
&lt;li&gt;descobrir como passar informações entre diferentes componentes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Durante o desenvolvimento
&lt;/h2&gt;

&lt;p&gt;Ter sub-tarefas bem pequenas e relativamente simples ajuda a reduzir aquele frio na barriga e a procrastinação para começar e te dá uma melhor visão de progresso. Às vezes é preciso definir &lt;strong&gt;micropassos&lt;/strong&gt; para ajudar a quebrar a inércia de começar a tarefa e um que me ajuda bastante quando eu preciso pesquisar algum tema difícil é deixar o site ou a documentação aberta e aí levantar um pouco da cadeira. Por algum motivo eu me sinto menos sobrecarregada quando eu acabei de dar uma volta e o site que eu preciso já tá aberto só me esperando. Isso também funciona com o código em si, acho o arquivo certo pra trabalhar e depois vou dar uma volta para espairecer antes de começar.&lt;/p&gt;

&lt;p&gt;Durante a tarefa sempre surgem imprevistos, então eu &lt;strong&gt;anoto todas as coisas que eu não previ que teria que fazer e também todas as dúvidas que surgirem&lt;/strong&gt; para pesquisar na internet ou perguntar a alguém do time, dessa forma nada se perde e eu garanto que vou lembrar de tirar todas as dúvidas.&lt;br&gt;
Outra estratégia que eu preciso adotar quando está particularmente difícil de concentrar na tarefa é colocar no papel o problema que eu estou tentando resolver e ir anotando pequenas conclusões que vão me levar à solução. Um exemplo de como eu faço essa parte:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;em que momento o clique deve abrir a modal? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;↪ quando tem elemento registrado, determinado pelo &lt;code&gt;elemento.isEnabled&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;↪ o que define o isEnabled? Em qual momento ele é alterado?&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;a modal deve ter: isOpen, onClose, type, name, date, activities&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;date vem da URL ✅&lt;/li&gt;
&lt;li&gt;de onde vêm as outras informações? O componente pai tem todas? Preciso pegar alguma de algum outro lugar?&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Em algumas situações que é necessário fazer pair programming e eu percebi que sem as minhas anotações eu posso acabar ficando bem perdida, então gosto de fazer essas reflexões antes de ter alguém que vai me ajudar com as respostas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Na finalização da tarefa
&lt;/h2&gt;

&lt;p&gt;Esse é o momento de checar se algum errinho besta passou despercebido. Antes de submeter uma tarefa para code review eu costumo fazer algumas re-checagens:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;rodar todos os testes da aplicação para ter certeza de que eu não quebrei nada acidentalmente&lt;/li&gt;
&lt;li&gt;rodar o lint (caso não esteja rodando automaticamente)&lt;/li&gt;
&lt;li&gt;atualizar a minha branch com a main/master

&lt;ul&gt;
&lt;li&gt;caso necessário, atualizar bibliotecas e banco de dados&lt;/li&gt;
&lt;li&gt;caso necessário, resolver conflitos de merge&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;executar o código e me certificar de que o comportamento está como esperado, inclusive os casos de erro&lt;/li&gt;
&lt;li&gt;checar se eu segui os padrões de código definidos pela empresa&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;E aqui uma dica que o meu líder técnico me deu&lt;/strong&gt;: se você acha que o código está ruim depois de finalizar toda a tarefa, chama alguém do seu time para dar um olhada, você pode explicar o que tentou fazer e a pessoa pode te dar feedbacks de como melhorar antes de submeter ao code review propriamente dito.&lt;/p&gt;




&lt;p&gt;Começar a carreira de desenvolvimento pode ser bem difícil, especialmente se você passou por uma transição de carreira ou não possui um background teórico tão bom. Com esse artigo eu gostaria de compartilhar algumas estratégias que eu uso para tornar as tarefas menos assustadoras e menos causadoras ansiedade.&lt;br&gt;
Você tem alguma dica a mais para dar não só pra mim mas pra outras pessoas que estão começando? Joga ela nos comentários para ajudar mais pessoas.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The flow of a request in Django</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Tue, 01 Jun 2021 16:59:52 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/the-flow-of-a-request-in-django-221c</link>
      <guid>https://dev.to/fabriciadiniz/the-flow-of-a-request-in-django-221c</guid>
      <description>&lt;p&gt;A while ago I was a beginner developer, and for those like me who don't have a computer science/engineering background it can be very difficult to understand what's going on behind the curtains when we develop a web application. For those who are just starting out in the world of programming with Python and Django and who are perhaps feeling overwhelmed and lost with what happens in web applications, I'm going to explain how I managed to understand the flow of the thing.&lt;/p&gt;

&lt;h1&gt;
  
  
  The request
&lt;/h1&gt;

&lt;p&gt;Considering a complete application, the flow starts when you type an url in the browser. From there Django goes into your settings.py file and looks for the &lt;code&gt;ROOT_URLCONF&lt;/code&gt; variable to find out in which file the url patterns "known" to your application are in. Knowing which file to look for urls in, Django then searches for the &lt;code&gt;urlpatterns&lt;/code&gt; variable in that file, which contains all the base urls your application recognizes. I say base urls because this file usually link to other url files that contain the most detailed routes.&lt;/p&gt;

&lt;h1&gt;
  
  
  urls.py
&lt;/h1&gt;

&lt;p&gt;Knowing which file is the right one, Django goes through all the url patterns in order and looks for one that matches the url typed in the browser. Once there is a match it will import and call the associated view. In other languages, the "view" is called a controller because it controls how the information in the application is treated and sent to the browser / user. This can get a little confusing when studying the MVC (Model-View-Controller) pattern, where view means the part the user interacts with.&lt;/p&gt;

&lt;p&gt;If none of the urls in the list match, Django returns an exception indicating that it couldn't find any urls that matched the url entered by the user. Often an error occur simply because you forgot to add a specific url to your url file. This can happen even with the most experienced developers.&lt;/p&gt;

&lt;h1&gt;
  
  
  View
&lt;/h1&gt;

&lt;p&gt;Well, back to our flow in Django, when the view is called an HttpRequest object is passed to it with information regarding the request that was made. This object contains the url called and can contain various other information such as: arguments passed through the request body, user session data... Information that will be used by the view to decide what information will be returned to the user. This is where the bulk of the programming will happen, where you will be able to access the database to fetch information, manipulate incoming data, and do all the magic of your program.&lt;/p&gt;

&lt;h1&gt;
  
  
  Template
&lt;/h1&gt;

&lt;p&gt;After all the magic and all the manipulation happens, it's time to return the information to the user. A view can contain several methods that handle different requests for that url (if it's a GET or a POST, for example) and in the end the methods must return both the data and which html file (template) should be rendered when displaying the information for the user. This can happen in several ways, Django can even handle your requests on its own, without you having to code all the behavior. You'll have to do some research to see which way works best for you, and I might even post about that in the future.&lt;/p&gt;

&lt;h1&gt;
  
  
  Success!!
&lt;/h1&gt;

&lt;p&gt;Once the view returns the information and which html file should be rendered, Django will show that page to the user and then (if everything is done correctly) it's a win!!&lt;/p&gt;

&lt;p&gt;I hope you were able to understand the flow of a request in Django, but feel free to comment with your questions if you didn't understand, every question is valid.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>django</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Como criar ambientes inclusivos para pessoas neurodiversas</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Fri, 28 May 2021 19:45:53 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/como-criar-ambientes-inclusivos-para-pessoas-neurodiversas-596n</link>
      <guid>https://dev.to/fabriciadiniz/como-criar-ambientes-inclusivos-para-pessoas-neurodiversas-596n</guid>
      <description>&lt;p&gt;A sua empresa provavelmente já possui pessoas neurodiversas, o que falta é um ambiente inclusivo para que essas pessoas possam trabalhar da forma que mais as beneficia.&lt;/p&gt;

&lt;h3&gt;
  
  
  O que são pessoas neurodiversas?
&lt;/h3&gt;

&lt;p&gt;A denominação foi criada inicialmente para se referir a pessoas que estavam dentro do espectro autista, mas depois foi expandida para englobar outras condições associadas ao neurodesenvolvimento como TDAH, dislexia, discalculia, síndrome de Tourette e condições de saúde mental como transtorno obsessivo-compulsivo e borderline, entre outros.&lt;/p&gt;

&lt;h3&gt;
  
  
  Qual a importância de ter pessoas assim na equipe?
&lt;/h3&gt;

&lt;p&gt;A diferença de visões de mundo e formas de pensar sempre vai ser positiva para as empresas (embora muitas não percebam isso ainda). Nós somos condicionados a pensar que essas pessoas seriam piores em suas funções, ou seriam profissionais ruins, mas essa é uma visão enviesada e eu espero que ao fim desse artigo você se sinta de forma diferente. Pessoas com TDAH podem ser extremamente criativas e empregar uma visão mais abrangente aos projetos que participam. Pessoas dentro do espectro autista podem demonstrar uma grande atenção a detalhes e ética de trabalho. Todas as pessoas têm contribuições importantes a darem, desde que as barreiras que as impedem de "sentar à mesa" sejam reduzidas ou eliminadas.&lt;/p&gt;

&lt;h3&gt;
  
  
  De que forma a sua empresa pode reduzir essas barreiras?
&lt;/h3&gt;

&lt;p&gt;Bom, o principal é entender quais são as necessidades da pessoa, porque mesmo pessoas que tenham a mesma condição podem ter necessidades bem distintas. Algumas pessoas (como eu) não funcionam muito bem com horários de trabalhos rígidos, e precisam de rotinas mais flexíveis. Algumas precisam que a comunicação seja feita de forma clara, sem ambiguidades. Algumas precisam que os colegas entendam que não é porque ela está mexendo em alguma coisa ou desenhando que ela não está prestando atenção ao que está sendo dito. Existem casos mais graves, com mais necessidades, mas no geral o time todo cresce em integração e respeito uns pelos outros ao fazer ajustes visando inclusão.&lt;br&gt;
Outras iniciativas poderiam incluir disponibilização de fones anti ruído, bolinhas antiestresse, 1:1 mais frequentes com uma liderança caso a empresa não os faça e/ou algum sistema de "não perturbe".&lt;/p&gt;

&lt;h3&gt;
  
  
  Alguns erros para não cometer:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Não incluir as pessoas em decisões que dizem respeito a elas. Se uma pessoa neurodiversa entra no seu time e decisões de adaptações são tomadas &lt;em&gt;por ela&lt;/em&gt; sem uma conversa sobre a opinião dela, já começou errado.&lt;/li&gt;
&lt;li&gt;Encará-las como pessoas frágeis. Esse é autoexplicativo. &lt;/li&gt;
&lt;li&gt;Desconsiderar suas diferenças individuais. As pessoas neudivergentes não &lt;em&gt;são&lt;/em&gt; as suas condições, elas possuem gostos, desejos e interesses que indiferem da condição que carregam.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Por fim, alguns passos práticos para serem adotados logo ao fim desse artigo
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; Pergunte às pessoas como elas trabalham melhor, ou se a maneira como o trabalho está estruturado está confortável para elas. A partir disso você pode tanto entendê-las melhor quanto saber que adaptações precisam ser feitas.&lt;/li&gt;
&lt;li&gt; Se comunique de maneira clara, ambiguidade pode perpetuar uma série de desentendimentos.&lt;/li&gt;
&lt;li&gt; Treinar os seus músculos da inclusão. Como? Isso é algo que eu gostaria que todas as pessoas contribuíssem nos comentários de acordo com as suas vivências. Eu não tenho respostas prontas e além disso gostaria muito de aprender com outras realidades.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No fim das contas, a mensagem principal é de que respeito é fundamental, e não só com pessoas neurodiversas. Tratar todo mundo com respeito é algo que pode trazer muito mais conforto e confiança para as pessoas com as quais você convive e pode fazer uma diferença gigantesca na vida de alguém.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>inclusion</category>
      <category>productivity</category>
    </item>
    <item>
      <title>A importância da matemática para a programação</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Fri, 21 May 2021 16:18:05 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/a-importancia-da-matematica-para-a-programacao-329e</link>
      <guid>https://dev.to/fabriciadiniz/a-importancia-da-matematica-para-a-programacao-329e</guid>
      <description>&lt;p&gt;&lt;em&gt;Esse artigo surgiu a partir de uma palestra que eu dei para pessoas de ensino médio. O intuito era mostrar que a matemática existe no mundo real da profissão.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Quando eu decidi abandonar a carreira de biotecnologista e virar programadora, instintivamente eu voltei a estudar cálculo, geometria... &lt;strong&gt;Não que eu esperasse encontrar esses assuntos no dia a dia do trabalho&lt;/strong&gt;, mas porque eu achava os desafios interessantes e via similaridade entre eles e os desafios impostos pela programação.&lt;/p&gt;

&lt;p&gt;A matemática se apoia na lógica, que é uma qualidade essencial para um bom profissional de TI, a geometria é uma aliada no processo criativo, ajudando na abstração do mundo real e estatística nem se fala (alô ciência de dados). É possível trabalhar com TI sem saber nada além do básico de matemática, &lt;strong&gt;mas saber conceitos de matemática mais avançados te ajuda a ser uma pessoa profissional de destaque.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A pessoa que possui conhecimento em matemática é capaz de resolver problemas profundos, oferecendo soluções mais claras, organizadas e eficientes. Empresas como Amazon, Facebook e Google olham muito mais para a lógica no código que você escreve do que conhecimentos de tecnologias específicas. Elas te pedem para resolver desafios de lógica, resolver problemas apontando também a complexidade e a rapidez do código que você fez além da lógica que te levou à resposta apresentada.&lt;br&gt;
&lt;a href="https://media.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%2Fdmlxyqtk4u7t9ys9t6jr.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fdmlxyqtk4u7t9ys9t6jr.jpeg" alt="Sapinhos de porcelana trabalhando no computador, com um computador entre eles mostrando a logo do Google"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quando estamos aprendendo matemática, nós aprendemos as operações básicas e depois evoluímos para as letrinhas, para achar x, achar y, e isso são funções, que é a base da computação todinha. Como na escola evoluímos de operações básicas só com números para funções que têm umas letras no meio, quando entramos no campo da programação os números e letras evoluem para &lt;strong&gt;qualquer coisa&lt;/strong&gt;. O que nós nos apoiamos para lidar com esses desafios mais complexos é na lógica que vem bem do início. Partimos de números para letras e depois para coisas como carros, naves espaciais… umas coisas mais legais e diferenciadas.&lt;/p&gt;

&lt;p&gt;Falando em naves espaciais, vocês sabiam que o programa que possibilitou o pouso do homem na lua pela primeira vez foi escrito por uma mulher? Foi a Margaret Hamilton que fez esse feito. &lt;strong&gt;Imaginem o TANTO de matemática que não é necessário para fazer uma nave espacial voar?&lt;/strong&gt; Ou então, pra fazer um joguinho como Minecraft?&lt;br&gt;
&lt;a href="https://media.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%2Fvj4urd4zbcb6lgs3ey4s.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fvj4urd4zbcb6lgs3ey4s.jpeg" alt="Minecraft"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nesse jogos mais legais de hoje em dia as pessoas precisam simular no computador a física do mundo, uma bala ou uma flecha sendo lançadas, o seu personagem caindo muito rápido de um lugar alto e se estabacando no chão e você morrendo. Tudo isso envolve bastante matemática (e física). Meu marido começou a aprender design de jogos ano passado e eu o estava ajudando com a parte de programação puramente dita. A gente tinha que definir a velocidade do personagem quando ele andava, a velocidade quando ele corria, a aceleração para ele mudar de andando pra correndo pra parado. &lt;strong&gt;Tinha que definir a gravidade, a força do pulo do personagem pra definir quão alto ele ia pular e quão rápido ele ia cair no chão.&lt;/strong&gt; Foi bem divertido, e mostrou pra nós que tem muita matemática e física envolvida em fazer joguinhos legais.&lt;/p&gt;

&lt;p&gt;Hoje em dia ainda existem outras profissões dentro da TI que são bem legais e demandam bastante matemática, como ciência de dados que é estatística pura (&lt;em&gt;e uma das profissões de TI com os maiores salários&lt;/em&gt;), como inteligência artificial, robótica e o próprio desenvolvimento de jogos. Isso sem contar todas as profissões que envolvem hardware. A matemática permeia toda a base dos trabalhos em TI e definitivamente não é algo que fica na escola e deixa de impactar o nosso dia a dia no trabalho.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Lembrete para quem chegou até aqui: matemática não é um pré-requisito, é apenas um bônus. Ainda é possível ser um excelente profissional em diversas áreas sem saber bulhufas de matemática.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>gamedev</category>
      <category>programming</category>
      <category>math</category>
    </item>
    <item>
      <title>How to use VanHack to get a job abroad</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Thu, 03 Dec 2020 15:56:36 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/how-to-use-vanhack-to-get-a-job-abroad-f17</link>
      <guid>https://dev.to/fabriciadiniz/how-to-use-vanhack-to-get-a-job-abroad-f17</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This text was initially published on my &lt;a href="https://www.linkedin.com/pulse/como-utilizar-vanhack-para-inigar-sua-carreira-exterior-diniz/?trackingId=y3NocuXWQtC73WdaazeiFw%3D%3D" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, but I would like to share it here too (and now in English).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Like many people in the technology field, I also dream of working for a foreign company and eventually moving to another country. This was a dream that has always been present in my mind and over the years I have searched for new ways and resources to achieve it. One of the tools that captivated me the most was &lt;a href="https://vanhack.com/candidates?invite=NomadCodemist" rel="noopener noreferrer"&gt;VanHack&lt;/a&gt;, both for the attention they have with the candidates and for the diversity of resources they offer on the platform.&lt;/p&gt;

&lt;p&gt;Here are some of the reasons why I think VanHack is a great resource for those who want an international career:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All job openings available on the platform are from companies that are willing to help with obtaining a visa and the applicant's relocation costs;&lt;/li&gt;
&lt;li&gt;Having a profile on the platform and applying for any opening is ✨ free ✨;&lt;/li&gt;
&lt;li&gt;VanHack itself offers enormous support with the bureaucratic part of the relocation;&lt;/li&gt;
&lt;li&gt;In addition to making job openings available, the platform holds several hiring events throughout the year. In September there was a specific for women and last month, November 2020, there was a specific for Devops;&lt;/li&gt;
&lt;li&gt;There is a lot of content on the platform to help candidates improve their profile and prepare for interviews. A portion is only available to premium users, but for some periods all of their content is open to all users;&lt;/li&gt;
&lt;li&gt;There is a slack workspace where you can receive notifications of new openings and interact with people from Vanhack and candidates from around the world, in addition to a workspace &lt;em&gt;exclusive for women&lt;/em&gt; to interact and improve within the platform.&lt;/li&gt;
&lt;li&gt;VanHack Premium Academy offers classes covering everything you need to stand out in interviews, such as English and mock interviews, as well as a profile review tool, to determine points that can be improved and increase your chances of being hired.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pretty cool right?&lt;/p&gt;

&lt;h3&gt;
  
  
  How to have a more appealing profile for companies
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwibbpbja4zlocpg6d9tf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwibbpbja4zlocpg6d9tf.png" alt="Example of profile on the site"&gt;&lt;/a&gt;&lt;br&gt;
When creating a profile, you have the possibility to take an English test and a code test. The English test is mandatory for your profile to be considered for any job openings and you can retake it as many times as you want. Code test is not mandatory, but having a good grade can be a plus.&lt;/p&gt;

&lt;p&gt;About the code test, do you want to know one more cool thing? There are several programming languages ​​that can be chosen and your grade is not displayed in your profile unless it is greater than 7! So you can retake it as many times as you want without being afraid of the company seeing that you got a 5 on the Javascript test and possibly not hiring you for it.&lt;/p&gt;

&lt;p&gt;In addition to the English and code tests, it is important to complete your profile, adding all the necessary information, a link to your resume and a good profile photo.&lt;/p&gt;

&lt;h3&gt;
  
  
  And you, a junior, do you have any chance?
&lt;/h3&gt;

&lt;p&gt;While most openings are for senior developers, there are sporadic ones for developers with less experience. If you are a junior and already know that you want to have a career outside of where you live right now, there is a lot of value in being present on a platform where you can continuously learn and develop skills in the direction you want to go.&lt;/p&gt;

&lt;p&gt;I'm pretty much a junior developer, with less than a year of formal experience in the job market, but I'm there with my active and updated profile, participating in all the events that I can and constantly learning new things that bring me closer to achieving a job offer.&lt;/p&gt;

&lt;h3&gt;
  
  
  And finally
&lt;/h3&gt;

&lt;p&gt;That was all I had to say about the platform in this article. I really like VanHack a lot and I would like to spread the word so that more people (especially women) can take a few more steps towards the future that they always dreamed of.&lt;/p&gt;

&lt;p&gt;If you are interested and want to chat a bit about it, you can contact me and I will love to talk to you. If you are interested and will create a profile, just click on the link at the beginning of the text or &lt;a href="https://vanhack.com/candidates?invite=NomadCodemist" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This text is a partnership with VanHack, I was noticed (that's Brazilian slang, sorry for that) hahaha. Creating your profile from the links in this publication you help me strengthen this partnership and will support your favorite content producer &amp;lt;3&lt;/p&gt;

</description>
      <category>remote</category>
      <category>womenintech</category>
      <category>interview</category>
      <category>career</category>
    </item>
    <item>
      <title>Como utilizar a VanHack para iniciar sua carreira no exterior</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Fri, 20 Nov 2020 19:05:14 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/como-utilizar-a-vanhack-para-iniciar-sua-carreira-no-exterior-4c3d</link>
      <guid>https://dev.to/fabriciadiniz/como-utilizar-a-vanhack-para-iniciar-sua-carreira-no-exterior-4c3d</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Esse texto foi inicialmente publicado no meu &lt;a href="https://www.linkedin.com/pulse/como-utilizar-vanhack-para-iniciar-sua-carreira-exterior-diniz/?trackingId=y3NocuXWQtC73WdaazeiFw%3D%3D" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, mas eu gostaria de compartilhar ele aqui também.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Assim como muitas pessoas da área de tecnologia eu também sonho em trabalhar para uma empresa gringa e eventualmente mudar de país. Esse foi um sonho que sempre esteve presente na minha mente e ao longo dos anos eu busquei novas formas e recursos de atingi-lo. Uma das ferramentas que mais me cativou foi a &lt;a href="https://vanhack.com/candidates?invite=NomadCodemist" rel="noopener noreferrer"&gt;VanHack&lt;/a&gt;, tanto pela atenção que eles têm com os candidatos quanto pela diversidade de recursos que oferecem na plataforma.&lt;/p&gt;

&lt;p&gt;Aqui estão alguns dos motivos pelos quais eu acho a VanHack um ótimo recurso para quem deseja uma carreira internacional:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Todas as vagas disponíveis na plataforma são de empresas que estão dispostas a ajudar com obtenção do visto e com os custos de realocação do candidato;&lt;/li&gt;
&lt;li&gt;Ter um perfil na plataforma e aplicar para qualquer vaga é ✨ de graça ✨;&lt;/li&gt;
&lt;li&gt;A própria VanHack oferece um suporte enorme na parte burocrática da realocação;&lt;/li&gt;
&lt;li&gt;Além de disponibilizar as vagas, a plataforma realiza diversos eventos de contratação ao longo do ano. Em setembro houve um específico para mulheres e esse mês, novembro de 2020, está acontecendo um específico para Devops;&lt;/li&gt;
&lt;li&gt;Existe bastante conteúdo na plataforma para auxiliar os candidatos a melhorarem o seu perfil e se prepararem para as entrevistas. Uma parte está disponível apenas para usuários premium, mas durante alguns períodos todo o conteúdo fica aberto;&lt;/li&gt;
&lt;li&gt;Há um workspace do slack onde você pode receber notificações de vagas novas e interagir com pessoas da Vanhack e candidatos do mundo todo, além de um workspace &lt;em&gt;exclusivo para mulheres&lt;/em&gt; interagirem e se aprimorarem dentro da plataforma.&lt;/li&gt;
&lt;li&gt;O VanHack Premium Academy oferece aulas de tudo que você precisa para se destacar nas entrevistas, como inglês e mock interviews, e também uma ferramenta de revisão do seu perfil, para determinar pontos que podem ser melhorados e aumentar as suas chances de ser contratade.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bem legal né?&lt;/p&gt;

&lt;h3&gt;
  
  
  Como ter um perfil mais atrativo para as empresas
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdukoxff6hksczhhcthiq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdukoxff6hksczhhcthiq.png" alt="Exemplo de perfil no site"&gt;&lt;/a&gt;&lt;br&gt;
Ao criar um perfil, você tem a possibilidade de fazer um teste de inglês e um teste de código. O teste de inglês é obrigatório para que o seu perfil seja considerado para vagas e você pode refazer ele quantas vezes quiser. Já o teste de código não é obrigatório, mas ter uma boa nota pode ser um diferencial.&lt;/p&gt;

&lt;p&gt;Sobre o teste de código, quer saber mais uma coisa legal? Existem diversas linguagens de programação que podem ser escolhidas e a sua nota não é exibida no perfil a menos que ela tenha sido maior do que 7! Então você pode refazer quantas vezes quiser sem medo da empresa ver que você tirou um 5 no teste de Javascript e possivelmente não te contratar por isso.&lt;/p&gt;

&lt;p&gt;Além dos testes de inglês e de código, é importante preencher o perfil completo, adicionando todas as informações necessárias, um link para o seu currículo e uma boa foto de perfil.&lt;/p&gt;

&lt;h3&gt;
  
  
  E você, que é júnior, tem alguma chance?
&lt;/h3&gt;

&lt;p&gt;Embora a maioria das vagas seja para desenvolvedores sênior, existem vagas esporádicas para desenvolvedores com menos experiência. Se você é júnior e já sabe que quer ter uma carreira fora do Brasil, existe muito valor em estar presente numa plataforma onde você pode continuamente aprender e desenvolver skills na direção que você quer seguir.&lt;/p&gt;

&lt;p&gt;Eu sou beeem júnior, tenho menos de um ano de experiência formal no mercado de trabalho, mas eu estou lá com o meu perfil ativo e atualizado, participando de todos os eventos que eu consigo e constantemente aprendendo coisas novas que me deixam mais próximo de conseguir uma vaga.&lt;/p&gt;

&lt;h3&gt;
  
  
  Falando em eventos...
&lt;/h3&gt;

&lt;p&gt;No final do mês acontecerá o VanHackCON, um evento visando trazer informações para você estar ainda mais preparade para tirar os sonhos do papel. O evento possui 3 pilares - Mercado, Preparação e Inspiração - e vai trazer CEOs, CTOs, profissionais de RH e VanHackers que conseguiram o seu emprego fora do país para compartilhar ferramentas que vão te ajudar a conquistar o seu trabalho dos sonhos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft81wwx4spbiiusq8d9rc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft81wwx4spbiiusq8d9rc.png" alt="Imagem de divulgação da VanhackCON"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  E por fim
&lt;/h3&gt;

&lt;p&gt;Isso era o que eu tinha para falar sobre a plataforma nesse artigo. Eu realmente curto bastante a VanHack e gostaria de espalhar a palavra para que mais pessoas (especialmente mulheres ok) possam dar mais uns passinhos na direção do futuro que elas sempre sonharam.&lt;/p&gt;

&lt;p&gt;Se você se interessou e quer trocar uma ideia sobre, pode entrar em contato comigo que eu vou adorar conversar. Se você se interessou e vai criar um perfil, é só clicar no link que tá no começo do texto ou &lt;a href="https://vanhack.com/candidates?invite=NomadCodemist" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Esse texto é uma parceria com a VanHack, eu fui notada hahaha. Criando seu perfil a partir dos links presentes nessa publicação você me ajuda a fortalecer essa parceria e apoia a sua produtora de conteúdo favorita &amp;lt;3&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>womenintech</category>
      <category>workabroad</category>
      <category>career</category>
    </item>
    <item>
      <title>Como utilizar duas contas do Github no mesmo computador (Windows)</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Sun, 16 Aug 2020 18:30:55 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/como-utilizar-duas-contas-do-github-no-mesmo-computador-windows-2348</link>
      <guid>https://dev.to/fabriciadiniz/como-utilizar-duas-contas-do-github-no-mesmo-computador-windows-2348</guid>
      <description>&lt;p&gt;Estudando os básicos do Git/Github eu me deparei com a dificuldade de dar push para um repositório utilizando uma conta diferente da qual eu uso todos os dias para o trabalho.&lt;br&gt;
Você pode estar pensando &lt;em&gt;"Mas Fabrícia, é só substituir as credenciais globalmente"&lt;/em&gt;. Pensei isso também, mas não funcionou, eu continuei travada por estar com as credenciais incorretas. Não sei bem porque isso aconteceu, mas eu descobri uma forma simples de contornar isso que normalmente não é conhecida/usada por pessoas mais iniciantes no uso do Git.&lt;/p&gt;

&lt;p&gt;A solução para o problema é &lt;strong&gt;adicionar chaves SSH&lt;/strong&gt; à sua conta do Github e nas próximas linhas eu vou explicar o passo a passo para fazer isso. Para esse tutorial você já deve ter o repositório na sua máquina local com o remoto apontando para o repositório do Github.&lt;/p&gt;

&lt;h3&gt;
  
  
  1 - Entrar no diretório do projeto
&lt;/h3&gt;

&lt;p&gt;Bem autoexplicativo, navegue até a pasta do projeto que você quer fazer push com uma conta diferente.&lt;/p&gt;

&lt;h3&gt;
  
  
  2 - Criar uma nova chave SSH
&lt;/h3&gt;

&lt;p&gt;Abra o terminal e digite o seguinte:&lt;br&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ssh-keygen -t rsa -C “seu email”&lt;/code&gt;&lt;/pre&gt;
&lt;br&gt;
O -t indica o tipo da chave que será gerada (rsa) e -C indica um comentário.
&lt;h4&gt;
  
  
  2.1 - Salvar a sua chave SHH
&lt;/h4&gt;

&lt;p&gt;Após rodar o código acima, você deverá colocar o caminho completo de onde os arquivos das suas chaves (pública e privada) serão salvas.&lt;br&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Generating public/private rsa key pair.&lt;br&gt;
Enter file in which to save the key (/c/Users/your_username/.ssh/id_rsa):&lt;/code&gt;&lt;/pre&gt;
&lt;br&gt;
Lembre-se de colocar um nome específico para essas chaves para não sobrescrever nenhuma outra chave.&lt;br&gt;
&lt;pre&gt;&lt;code&gt;/c/Usuarios/seu_usuario/.ssh/id_rsa_NOME_UNICO&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;
  
  
  2.2 - Colocar uma senha (ou não) para sua chave
&lt;/h4&gt;

&lt;p&gt;Após definir onde suas chaves serão salvas, será pedido que você digite uma senha.&lt;br&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Enter passphrase (empty for no passphrase):&lt;br&gt;
Enter same passphrase again:&lt;/code&gt;&lt;/pre&gt;
&lt;br&gt;
Você não é obrigado a colocar uma senha, mas é recomendado colocar uma por ser uma camada a mais de segurança.
&lt;h3&gt;
  
  
  3 - Adicionar a sua chave SSH ao seu perfil no Github
&lt;/h3&gt;

&lt;p&gt;Navegue até a localização da sua chave e copie o conteúdo de &lt;strong&gt;id_rsa_NOME_UNICO.pub&lt;/strong&gt;, essa é a sua chave pública.&lt;br&gt;
De posse da sua chave SSH, logue no seu perfil do Github e acesse&lt;br&gt;
 &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;SSH and GPG keys&lt;/strong&gt; e adicione a nova chave. É interessante nomear suas chaves de acordo com as máquinas onde elas são usadas, para evitar confusão caso você tenha mais de uma chave salva no seu perfil.&lt;/p&gt;

&lt;h3&gt;
  
  
  4 - Adicionar a chave às configurações do repositório local
&lt;/h3&gt;

&lt;p&gt;Navegue até a pasta do repositório e digite no terminal:&lt;br&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git config -e&lt;/code&gt;&lt;/pre&gt;
&lt;br&gt;
Esse comando abrirá o seu arquivo git config, que deve ser parecido com esse:&lt;br&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxbgkcm0ep644j1nhsyzl.png" alt="exemplo do arquivo git config"&gt;&lt;br&gt;
Você precisa adicionar o &lt;strong&gt;sshCommand = ssh -i ~/.ssh/id_rsa_NOME_UNICO&lt;/strong&gt; dentro de [core] indicando onde está a sua chave privada.&lt;br&gt;
&lt;em&gt;&lt;strong&gt;OBS&lt;/strong&gt;: Caso a url em [remote "origin"] seja o link https do seu repositório, mude para o link SSH, que pode ser obtido aqui:&lt;/em&gt;&lt;br&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1peb7rmfsm0v470u9f2q.png" alt="popup do link para copiar o repositório do github, com use SSH destacado"&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;OBS2&lt;/strong&gt;: Caso o email e o nome não correspondam à conta que será utilizada, modifique isso também diretamente no arquivo ou por meio dos comandos:&lt;/em&gt;&lt;br&gt;
&lt;pre&gt;&lt;code&gt;git config user.name "Seu Nome"&lt;br&gt;
git config user.email &lt;a href="mailto:seu_email@mail.com"&gt;seu_email@mail.com&lt;/a&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;
  
  
  5 - Dancinha da vitória
&lt;/h3&gt;

&lt;p&gt;Seguindo esses passos você agora deve conseguir fazer o push para o seu repositório remoto utilizando uma segunda conta do Github.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdstvkxbwk95bsmrgqg9g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdstvkxbwk95bsmrgqg9g.jpg" alt="Mulher com os braços abertos em um campo de girassois"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;(eu sei que você se sente assim quando algo finalmente dá certo)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>github</category>
      <category>ssh</category>
      <category>windows</category>
    </item>
    <item>
      <title>Fluxo de uma requisição no Django</title>
      <dc:creator>Fabrícia Diniz</dc:creator>
      <pubDate>Sat, 30 May 2020 23:56:25 +0000</pubDate>
      <link>https://dev.to/fabriciadiniz/fluxo-de-uma-requisicao-no-django-3273</link>
      <guid>https://dev.to/fabriciadiniz/fluxo-de-uma-requisicao-no-django-3273</guid>
      <description>&lt;p&gt;A pouco tempo atrás eu era uma desenvolvedora iniciante, e para quem como eu não tem um background de computação pode ser muito difícil entender o que está acontecendo por baixo dos panos quando fazemos uma aplicação. Para quem está iniciando no mundo da programação com Python e Django e está se sentindo sobrecarregado e perdido com o que acontece nas aplicações, eu vou explicar aqui a forma que eu consegui entender o fluxo da coisa.&lt;/p&gt;

&lt;h1&gt;
  
  
  A requisição
&lt;/h1&gt;

&lt;p&gt;Partindo de uma aplicação pronta, o fluxo se inicia quando você digita uma url no navegador. A partir daí o Django vai no seu arquivo settings.py e procura a variável &lt;code&gt;ROOT_URLCONF&lt;/code&gt; para saber em qual arquivo estão os padrões de urls "conhecidos" pela sua aplicação. Sabendo em qual arquivo buscar pelas urls, o Django então procura nesse arquivo a variável &lt;code&gt;urlpatterns&lt;/code&gt;, que contém todas as urls base que a sua aplicação conhece. Eu digo urls base porque esse arquivo normalmente direciona para outros arquivos de urls que contêm as rotas mais detalhadas.&lt;/p&gt;

&lt;h1&gt;
  
  
  urls.py
&lt;/h1&gt;

&lt;p&gt;Sabendo qual é o arquivo certo, o Django passa por todos os padrões de url em ordem e procura uma que corresponda à url digitada no navegador. Uma vez que role um match ele irá importar e chamar a view associada. Em outras linguagens a "view" é chamada de controller porque é ela que controla como as informações da aplicação serão tratadas e enviadas para o navegador/usuário. Isso pode se tornar um pouco confuso quando se está estudando o padrão MVC (Model-View-Controller), no qual view significa a parte com a qual o usuário interage.&lt;/p&gt;

&lt;p&gt;Caso não haja um match com nenhuma das urls na lista, o Django retorna uma exceção indicando que ele não conseguiu encontrar nenhuma url que correspondesse à url digitada pelo usuário. Muitas vezes um erro no programa surge pelo simples fato de você esquecer de adicionar uma url específica ao seu arquivo de urls. Isso pode ocorrer até com os mais experientes dos desenvolvedores.&lt;/p&gt;

&lt;h1&gt;
  
  
  View
&lt;/h1&gt;

&lt;p&gt;Bom, voltando ao nosso fluxo no Django, quando a view é chamada um objeto HttpRequest é passado com as informações referentes à requisição que foi feita. Esse objeto contém a url chamada e pode conter diversas outras informações como: argumentos passados por meio do corpo da requisição, dados da sessão do usuário, arquivos... Informações que serão usadas pela view para decidir que informações serão retornadas para o usuário. É nesse ponto que o grosso da programação irá acontecer, onde se poderá acessar o banco de dados para buscar informações, manipular os dados recebidos, manipular informações, e fazer toda a mágica do seu programa.&lt;/p&gt;

&lt;h1&gt;
  
  
  Template
&lt;/h1&gt;

&lt;p&gt;Após toda a mágica e toda a manipulação acontecer, é chegada a hora de devolver as informações para o usuário. Uma view pode conter diversos métodos que lidem com diferentes requisições para aquela url (se é um GET ou um POST, por exemplo) e no final os métodos devem retornar tanto os dados quanto qual arquivo html (template) deve ser renderizado na hora de mostrar as informações para quem fez a requisição. Esse retorno pode acontecer de diversas formas, o Django pode inclusive lidar com as suas requisições sozinho, sem você precisar codar todo o comportamento. Você vai ter que pesquisar para ver qual forma funciona melhor para você, e eu posso inclusive fazer um post sobre isso no futuro.&lt;/p&gt;

&lt;h1&gt;
  
  
  Sucesso!!
&lt;/h1&gt;

&lt;p&gt;Uma vez que a view retorna as informações e qual arquivo html deve ser renderizado, o Django irá mostrar essa página para o usuário e então (se tudo for feito da forma correta) é só sucesso!!&lt;/p&gt;

&lt;p&gt;Espero que você tenha conseguido entender o fluxo de uma requisição no Django, mas sinta-se à vontade para comentar suas dúvidas se não tiver entendido, qualquer dúvida é válida.&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>django</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
