<?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: Otávio</title>
    <description>The latest articles on DEV Community by Otávio (@atomotavio).</description>
    <link>https://dev.to/atomotavio</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%2F518450%2Ffad14666-8e71-4957-8782-7ad727d2e088.jpeg</url>
      <title>DEV Community: Otávio</title>
      <link>https://dev.to/atomotavio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atomotavio"/>
    <language>en</language>
    <item>
      <title>Como aprender melhor?</title>
      <dc:creator>Otávio</dc:creator>
      <pubDate>Thu, 21 Jul 2022 21:51:57 +0000</pubDate>
      <link>https://dev.to/atomotavio/como-aprender-melhor-3d1b</link>
      <guid>https://dev.to/atomotavio/como-aprender-melhor-3d1b</guid>
      <description>&lt;p&gt;Aprender é sempre um assunto complexo, tema de diversos estudos, ao mesmo tempo que também é algo bem particular, em que cada um diz se dar bem com uma técnica, uma forma e até um formato de estudo. Quando o assunto é programação parece que fica ainda mais complicado definir a melhor forma de aprender.&lt;/p&gt;

&lt;p&gt;De fato é muito difícil definir um padrão e bater o martelo de que tal técnica vai funcionar para todos, mas nesse artigo quero passar algumas dicas que aplico no meu aprendizado e que aprendi com o curso &lt;em&gt;&lt;a href="https://learning.edx.org/course/course-v1:BarbaraOakley_OlavSchewe+LLAP+2T2022/home"&gt;Learn Like a Pro: Science-Based Tools to Become Better at Anything&lt;/a&gt;&lt;/em&gt; que nos ensina baseado em ciencia, como podemos fixar melhor nosso aprendizado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Revisar
&lt;/h2&gt;

&lt;p&gt;A primeira dica é: revise o que voce acabou de aprender, preferencialmente no mesmo dia em que voce aprendeu. A melhor hora segundo os autores é antes de dormir, com isso, as ligações dos seus neuronios tendem a se fortalecer e voce esquecerá menos conteúdo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Procrastinação
&lt;/h2&gt;

&lt;p&gt;Com certeza o maior problema quando estamos estudando ou tendo que fazer qualquer tipo de tarefa mais dificil e demorada. Para isso existem 3 dicas essenciais que vão te ajudar a vencer a procrastinação e se concentrar melhor nos seus estudos:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Ambiente de trabalho/estudo limpo:&lt;/strong&gt; tente manter sua mesa o mais limpa possível, antes de começar arrume-a, tire tudo que é desnecessário.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hx5ei_lC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ppfab96o3pmaoe665yur.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hx5ei_lC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ppfab96o3pmaoe665yur.png" alt="Explicação do pomodoro" width="880" height="622"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Pomodoro:&lt;/strong&gt; amado por uns e odiados por outros, já foi cientificamente comprovado que periodos de foco seguidos de periodos de descanso nos ajudam não só a estudar com mais qualidade, como também ajudam nosso cerebro a fazer relações que vão nos ajudar a entender melhor aquele conteúdo estudado ou a solucionar aquele problema difícil.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ficar longe do celular:&lt;/strong&gt; com certeza o maior problema atual e o que te faz fracassar a maior parte do tempo, o celular, voce fica distraído nas redes sociais e adia o que precisa fazer, quando ve já passou o dia todo e voce não conseguiu fazer nada do que planejou. Coloque seu celular no modo nao perturbe e fique longe dele, inclusive durante as pausas no pomodoro, afinal ele nao te permite relaxar de verdade e com isso todos os benefícios das pausas do pomodoro vão acabar indo por água abaixo.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Por onde começar?
&lt;/h2&gt;

&lt;p&gt;Saber por onde começar é a parte mais importante, pois assim voce vai otimizar seus estudos e pode estudar por menos horas.&lt;/p&gt;

&lt;p&gt;Comece pelo mais difícil. Mas por que? Muitas vezes estamos realizando uma tarefa e travamos nela, e continuar focado ali por mais tempo não te ajuda a resolver o problema. Nós temos basicamente dois modos, o modo de foco, e um modo que eu vou traduzir para modo difuso, que seria um modo em que nós não estamos 100% focados naquela tarefa mas o nosso cerebro está "pensando" nela. E para acessarmos esse modo precisamos relaxar, por isso que comumente nossas melhores ideias ocorrem quando estamos dormindo ou simplesmente caminhando por aí. Mas é claro que não seria interessante nós pararmos por tanto tempo sempre que travamos em algo, portanto existe uma forma de voce "hackear" isso.&lt;/p&gt;

&lt;h2&gt;
  
  
  Começo difícil
&lt;/h2&gt;

&lt;p&gt;Comece pelo mais difícil e quando travar passe para algo mais fácil, assim, quando voce voltar para resolver aquela tarefa mais difícil seu cerebro vai ter trabalhado naquela ideia, o que vai te ajudar a resolve-la.&lt;/p&gt;

&lt;p&gt;Como isso se aplica a um desenvolvedor? Quando estamos construindo aplicações há sempre tarefas mais faceis de fazer, e outras mais dificeis de implementar, comece pelas partes do sistema que voce tem mais dificuldade e quando travar passe para as mais faceis.&lt;/p&gt;

&lt;p&gt;E o mesmo vale para tarefas mais dificeis, se for possível, tente quebrá-la em outras tarefas menores e mais faceis, com isso vai facilitar na hora de resolver.&lt;/p&gt;

&lt;h2&gt;
  
  
  Com qual frequencia estudar?
&lt;/h2&gt;

&lt;p&gt;Com certeza voce ja ouviu algum professor falar pra voce estudar um pouco todos os dias e não na véspera de um exame né?&lt;/p&gt;

&lt;p&gt;Pois bem, ele está mais do que certo. Todos os dias seu cérebro armazena os pontos que ele considera mais importantes e vai apagando o restante, portanto, ao invés de tentar devorar um tema por dia, tente estudar um pouco dele por dia, e um pouquinho de outro, voce vai ver como no final vai fixar muito mais os assuntos do que se dedicar a apenas um por dia.&lt;/p&gt;

&lt;h2&gt;
  
  
  Assimile o que voce está aprendendo com algo que voce já aprendeu
&lt;/h2&gt;

&lt;p&gt;Outra técnica muito bacana que vai te ajudar a se lembrar ;e criar associações e metáforas. Por exemplo, se voce está estudando uma linguagem de programação nova, tente encontrar pontos em comum com alguma linguagem anterior. Também é interessante tentar criar metaforas para explicar assuntos, por exemplo ao explicar o conceito de herança em POO, podemos fazer uma comparação com a herança que é passada de pai pra filho.&lt;/p&gt;

&lt;h2&gt;
  
  
  Faça um mix de exercícios
&lt;/h2&gt;

&lt;p&gt;Misturar exercicios diferentes pode ajudar te ajudar a compreender melhor. Por exemplo, voce pode misturar exercicios de algoritmos com exercicios sobre estruturas de dados.&lt;/p&gt;

&lt;h2&gt;
  
  
  Confie no seu potencial
&lt;/h2&gt;

&lt;p&gt;Antes de ver a resolução de um exercício, tente resolver pela intuição, vá resolvendo até travar e não conseguir sair mais do lugar, só então consulte a resolução, e depois tente novamente até que não seja mais necessário dar aquela espiadinha.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flashcards e outras formas de memorização
&lt;/h2&gt;

&lt;p&gt;Um velho conhecido de todos os estudantes são os flashcards, eles podem ser muito úteis no aprendizado de uma nova língua e também para fixar um novo conceito. Escreva-os nos flashcards e revise sempre antes de dormir.&lt;/p&gt;

&lt;p&gt;Outra forma de memorização é imaginar esses conceitos em lugares comuns, como por exemplo a sua casa, vá traçando um percurso mental e alocando esse conceitos ao longo da casa. Por exemplo, na sala fica o sofá = couch, na cozinha temos a pia = sink. Não necessariamente precisam ser itens que já estão na sua casa, voce pode imaginar conceitos abstratos também.&lt;/p&gt;

&lt;p&gt;Essas foram as dicas de como aprender melhor, elas tem me ajudado imensamente e espero poder ajudar mais alguém com elas, e se voce tiver algo a acrescentar será muito bem-vindo nos comentários.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>discuss</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Scrum, conceitos básicos</title>
      <dc:creator>Otávio</dc:creator>
      <pubDate>Tue, 19 Jul 2022 20:03:41 +0000</pubDate>
      <link>https://dev.to/atomotavio/scrum-conceitos-basicos-4bi</link>
      <guid>https://dev.to/atomotavio/scrum-conceitos-basicos-4bi</guid>
      <description>&lt;p&gt;Um resumo do que é a metodologia do desenvolvimento ágil e o Scrum, principal e mais utilizado framework de gerenciamento de projetos do mundo.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Scrum&lt;/em&gt; é um framework de gerenciamento de projetos amplamente utilizado no mundo do desenvolvimento de software. Até 2021, era a metodologia ágil mais utilizada no mundo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MrBY7a4e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vixglciluwjfomrjk4qu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MrBY7a4e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vixglciluwjfomrjk4qu.jpg" alt="Imagem exemplificando o fluxo do scrum" width="880" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Antes de começarmos a falar propriamente do Scrum, vale pontuar o que seria o &lt;strong&gt;desenvolvimento ágil de software&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Desenvolvido em 1990, o Manifesto Ágil surgiu para fundamentar os princípios do desenvolvimento ágil de software. Esses princípios são baseados em valores, descritos a seguir:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Os indivíduos e suas interações acima de procedimentos e ferramentas;&lt;/li&gt;
&lt;li&gt;O funcionamento do software acima de documentação abrangente;&lt;/li&gt;
&lt;li&gt;A colaboração com o cliente acima da negociação e contrato;&lt;/li&gt;
&lt;li&gt;A capacidade de resposta a mudanças acima de um plano pré-estabelecido.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O primeiro valor tem por objetivo salientar que as maiores e melhores ferramentas não terão o poder de ajudar automaticamente a melhorar processos, mas que o que vale é criar uma equipe que funcione e ela sim vai ser capaz de configurar o ambiente de acordo com a necessidade do projeto.&lt;/p&gt;

&lt;p&gt;Já o segundo valor diz que o código não é o meio ideal para comunicar o fundamento lógico e a estrutura de um sitema. É importante manter uma documentação desses fundamentos, mas ela deve ser curta e notória, algo em torno de 10 a 20 páginas e deve manter-se por discutir tais fundamentos de forma global do projeto, somente suas estruturas de alto nível. Os dois melhores documentos para transferencia de informações para novos membros sempre serão código e equipe.&lt;/p&gt;

&lt;p&gt;O terceiro valor diz que projetos bem sucedidos envolvem feedback regular e frequente do cliente.&lt;/p&gt;

&lt;p&gt;E por último, a capacidade de responder a mudanças frequentemente determina o sucesso ou o fracasso de um software.&lt;/p&gt;

&lt;p&gt;Esses valores são os responsáveis por fundamentar os &lt;strong&gt;12 princípios&lt;/strong&gt; do desenvolvimento ágil de software, que são:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Quanto mais frequentes são as entregas, maior é q qualidade final do sistema.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uma equipe ágil trabalha arduamente para manter a estrutura do seu software flexível, a fim de que quando os requisitos mudarem, o impacto no sistema seja mínimo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Entregar software funcionando com a maior frequencia possível no menor tempo possível.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Para que um projeto seja ágil clientes, desenvolvedores e interessados devem ter uma interação significativa e frequente.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As pessoas são o fator de sucesso mais importante. Todos os outros fatores são de segunda ordem e estão sujeitos a mudança caso estejam prejudicando as pessoas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;O método mais eficiente e eficaz de transmitir informações para e dentro de uma equipe de desenvolvimento é a conversa face a face.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Software funcionando é a principal medida de progresso.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Os patrocinadores, desenvolvedores e usuários devem manter um ritmo constante indefinidamente. Elas trabalham em uma velocidade que lhes permite manter os padrões de qualidade mais alta durante todo o projeto.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Atenção contínua a excelencia técnica e ao bom projeto aumenta a agilidade. Ir rápido é mantar o software o mais limpo e robusto possível.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simplicidade - a arte de maximizar o volume de trabalho que não precisou ser feito. É necessário fazer o trabalho mais simples e de qualidade mais alta hoje, confiante de que ele será mais fácil de alterar, se e quando os problemas de amanhã surgirem.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uma equipe ágil é auto organizada e os membros trabalham juntos em todos os aspectos do projeto.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uma equipe ágil ajusta continuamente sua organização, suas regras, suas convenções, seus relacionamentos etc.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0K_B1ZZa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tv3lgwx488080wz0sqvo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0K_B1ZZa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tv3lgwx488080wz0sqvo.png" alt="imagem resumindo os principios da metodologia ágil" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora que entendemos um pouco de como funciona a metodologia ágil, vamos ver como ela é aplicada no &lt;em&gt;Scrum&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scrum
&lt;/h2&gt;

&lt;p&gt;O scrum é sustentado por 3 pilares, são eles: transparencia, inspeção e adaptação.&lt;/p&gt;

&lt;p&gt;A transparencia se refere principalmente a forma de comunicação, que deve ser clara e possuir uma linguagem comum a todos os membros da equipe.&lt;/p&gt;

&lt;p&gt;Já a inspeção se refere a estar constantemente inspecionando seus artefatos (valor), identificando possíveis variações, no entanto é necessário tomar cuidado, elas não devem ser tão frequentes, pois podem atrapalhar a execução das tarefas.&lt;/p&gt;

&lt;p&gt;Por fim, a adaptação é a capacidade de ajustar os processos de modo que o produto final seja entregue no tempo previsto e da forma prevista.&lt;/p&gt;

&lt;p&gt;Dentro do scrum existem quatro eventos formais, contidos dentro dos limites da Sprint, justamente para&lt;br&gt;
inspeção e adaptação:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reunião de planejamento da Sprint (planning);&lt;/li&gt;
&lt;li&gt;Reunião diária (a famosa daily);&lt;/li&gt;
&lt;li&gt;Reunião de revisão da Sprint;&lt;/li&gt;
&lt;li&gt;Retrospectiva da Sprint.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Vamos falar do time da scrum
&lt;/h3&gt;

&lt;p&gt;Ele é composto por duas peças-chave além da equipe, geralmente, de desenvolvimento. Sendo eles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Scrum master: responsável por garantir a aplicação do scrum, ele é o conhcedor do framework e vai garantir que ele seja entendido por todos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Product owner: responsável por fazer a ponte entre o cliente e os desenvolvedores. Ele também é a única pessoa responsável por gerenciar o Backlog do Produto (requisitos).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Time de desenvolvimento: composto idealmente entre 5-7 pessoas. São multifuncioanais e auto-organizados.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Os eventos do Scrum:
&lt;/h3&gt;

&lt;p&gt;Todos os eventos no scrum tem uma quantidade de tempo definida, e não pode ser aumentada nem reduzida. Além disso eles foram planejados de modo que não haja a necessidade de outros eventos além dos listados abaixo e são sempre oportunidades de gerar inspeções e adaptações no no desenvolvimento.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sprint: o core do Scrum, o evento principal que dita todos os outros eventos. Ela é composta por: uma reunião de planejamento da Sprint, reuniões diárias, o trabalho de desenvolvimento, uma revisão da Sprint e a retrospectiva da Sprint. Elas tem uma duração média de 2-4 semanas. Cada Sprint tem a definição do que é para ser construído, um plano projetado e flexível que irá guiar a construção, o trabalho e o resultado do produto.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reunião de planejamento da sprint: consiste basicamente em responder a 3 perguntas principais que norteiam uma sprint: O que pode ser entregue nesta Sprint? Como o trabalho escolhido será entregue? Qual o objetivo ou meta da Sprint?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reunião diária ou daily: uma reunião diária com o time de desenvolvimento de duração média de no máximo 15 minutos que busca sincronizar a equipe a respeito do andamento da sprint através das perguntas: o que eu fiz ontem que ajudou o Time de Desenvolvimento a atender a meta da Sprint? O que eu farei hoje para ajudar o Time de Desenvolvimento atender a meta da Sprint? Eu vejo algum obstáculo que impeça a mim ou o Time de Desenvolvimento no atendimento da meta da Sprint?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Revisão da sprint: ocorre ao final da sprint para inspecionar o incremento (a parte do produto que está sendo entregue) e adaptar o backlog (requisitos) do Produto se necessário. Durante a reunião de Revisão da Sprint o Time Scrum e as partes interessadas colaboram sobre o que foi feito na Sprint. Com base nisso e em qualquer mudança no Backlog do Produto durante a Sprint, os participantes colaboram nas próximas coisas que podem ser feitas para otimizar valor.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;No scrum a medida não é o tempo, nem quantidade, mas sim o valor que é entregue ao longo de cada sprint&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retrospectiva da sprint: é uma reunião que tem por finalidade fazer com que o Time Scrum inspecione a si próprio e crie um plano para melhorias a serem aplicadas na próxima Sprint.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Artefatos do scrum:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Backlog do produto: é uma lista ordenada de tudo que deve ser necessário no produto, ou seja, seus requisitos. O Product&lt;br&gt;
Owner é responsável pelo Backlog do Produto, incluindo seu conteúdo, disponibilidade e ordenação. Ele é flexível e nunca possui uma versão final, vai se adaptando conforme as necessidades.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Backlog da sprint: é um conjunto de itens do Backlog do Produto selecionados para a Sprint, juntamente com o plano para entregar o incremento do produto e atingir o objetivo da Sprint.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Incremento, é a soma de tudo que ja foi entregue nas sprints anteriores e o que foi entregue na sprint atual, o equivalente as "features" do produto.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Por ser o framework mais utilizado dentro do ambiente de desenvolvimento de software e pela metodologia ágil ter sido criada com o foco na da engenharia de software, é de extrema importancia conhecer seu funcionamento e princípios, tanto para o mercado de trabalho, como também para melhorar a entrega de projetos pessoais, trabalhos de faculdade e freelas.&lt;/p&gt;

</description>
      <category>scrum</category>
      <category>performance</category>
      <category>management</category>
    </item>
  </channel>
</rss>
