<?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: Valdir Mendes</title>
    <description>The latest articles on DEV Community by Valdir Mendes (@valdirmendesdev).</description>
    <link>https://dev.to/valdirmendesdev</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%2F208583%2F428eb1fa-f6cf-433a-bf38-7250b494b262.jpeg</url>
      <title>DEV Community: Valdir Mendes</title>
      <link>https://dev.to/valdirmendesdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/valdirmendesdev"/>
    <language>en</language>
    <item>
      <title>Profissão e/ou Paixão?</title>
      <dc:creator>Valdir Mendes</dc:creator>
      <pubDate>Sat, 30 May 2020 18:48:13 +0000</pubDate>
      <link>https://dev.to/valdirmendesdev/profissao-e-ou-paixao-4dn7</link>
      <guid>https://dev.to/valdirmendesdev/profissao-e-ou-paixao-4dn7</guid>
      <description>&lt;p&gt;Com um título desse, você, deve estar pensado: - Ihhhhh, lá vem mensagenzinha motivacional de uma vida perfeita ou quer vender curso!&lt;/p&gt;

&lt;p&gt;Você está errado, mas se quiser comprar! (risos) Brincadeiras à parte, hoje, eu gostaria de compartilhar algo que vivencio constantemente e acredito que também acontece bastante com outras pessoas.&lt;/p&gt;

&lt;p&gt;Sou engenheiro/desenvolvedor de software, estudei para tal e amo fazer o que faço! Como a grande maioria da galera dessa área que busca evolução constante, estudamos as novidades e novas tecnologias à noite/madrugada, muitas vezes nos finais de semana e feriados! Concordam DEVs?&lt;/p&gt;

&lt;p&gt;Dito isso, muitas vezes somos bombardeados com frases do tipo: "É, mas você precisa viver também!", "Você só fica nesse computador?!", "Você não cansa de estudar?".&lt;/p&gt;

&lt;p&gt;De onde tirei essas tem mais um monte, quer que busque? (risos)&lt;/p&gt;

&lt;p&gt;Voltando ao nosso título, não posso falar em relação à outras áreas e/ou profissões porque conheço pouco sobre, mas pessoalmente falando, entendo desenvolvimento de software como uma arte, e como em toda arte, para apresentar o seu melhor, o artista, precisa praticar, analisar, aprender/desenvolver novas técnicas e praticar, praticar muito. É um &lt;a href="https://pt.wikipedia.org/wiki/Loop_(programa%C3%A7%C3%A3o)"&gt;loop&lt;/a&gt; "infinito".&lt;/p&gt;

&lt;p&gt;Um dos meus hobbies é música! Amo música, tenho na família tios que tocam e aprendi tocar um pouco de violão novinho ainda. Aprendi um pouquinho de outros instrumentos, como guitarra e tive a oportunidade de tocar na igreja, em alguns eventos e até viajei para tocar em outros estados. Vivenciando esse meio musical, conheci músicos que tocavam para cantores reconhecidos e sonhei em ser músico profissional.&lt;/p&gt;

&lt;p&gt;Diante desse sonho, comecei buscar conhecimento musical autodidata e tentar fazer o que esses músicos profissionais faziam para me desenvolver. Meu Deus, como músico sofre! Quantas vezes passei finais de semana estudando um mesmo trecho de exercícios por horas.&lt;/p&gt;

&lt;p&gt;Aprender a teoria da música, executar exercícios, reproduzir o que já foi construído, criar seus próprios riffs, prática sozinho, prática com banda, repertório, ensaios, troca instrumentos, monta setup, passa som, faz a apresentação, desmonta setup, trabalha enquanto todos os outros se divertem. Mas se perguntarem se eles trocariam essa vida por uma "carteira assinada" e folga no final de semana, ninguém trocaria porque é arte deles e para apresentar o melhor, tudo isso é necessário ainda que não seja tão bem remunerado. Fazem porque precisam, mas muito mais porque amam, nasceram com essa aptidão.&lt;/p&gt;

&lt;p&gt;Por que eu trouxe esse desvio sobre música? Porque os assuntos convergem! Tanto o profissional que quer se tornar melhor quanto o artista (nesse caso, o músico), precisam se dedicar pré, durante e pós atividade. Para quem deseja ser melhor, precisa se dedicar estudando, investindo em equipamento, conhecimento, analisando o que os outros fazem e praticar para aprender. Quando for produzir algo, tem que tentar aplicar o que aprendeu e o que vem praticando e analisar se está dando certo, se já domina o assunto ou os pontos que ainda precisam ser melhorados. Quando o que se propôs fazer estiver concluído, temos que analisar e permitir que outros analisem. Recebendo feedback, encurtamos o caminho para nos tornarmos melhores. Com os feedbacks e a lista de coisas que precisam ser melhoradas na mão, iniciamos novamente o ciclo.&lt;/p&gt;

&lt;p&gt;Bom, quis trazer para você uma reflexão. O que você desempenha hoje, você deixaria de fazer se não tivesse salário? Se assim como eu, sua resposta é não, viva sim sua vida, curta sua família e amigos, mas reserve mesmo um tempo para seus estudos, continue se dedicando, praticando, seja constante. Você não está se desenvolvendo em função de um salário ou uma posição (ainda que seja risos), você está aprimorando aquilo que você nasceu com aptidão para fazer!&lt;/p&gt;

</description>
      <category>amooquefaço</category>
      <category>estudar</category>
      <category>profissão</category>
      <category>paixão</category>
    </item>
    <item>
      <title>Tem ABAP aqui no meu programa em Go (GoLang)?</title>
      <dc:creator>Valdir Mendes</dc:creator>
      <pubDate>Tue, 31 Mar 2020 15:17:08 +0000</pubDate>
      <link>https://dev.to/valdirmendesdev/tem-abap-aqui-no-meu-programa-em-go-golang-2982</link>
      <guid>https://dev.to/valdirmendesdev/tem-abap-aqui-no-meu-programa-em-go-golang-2982</guid>
      <description>&lt;p&gt;Comecei estudar a linguagem de programação &lt;strong&gt;GO&lt;/strong&gt; ou como muitas pessoas a chamam, &lt;em&gt;GoLang da Google&lt;/em&gt;. Depois de um workshop rápido, muito esclarecedor e motivador com o &lt;a href="https://dev.to/jeffotoni"&gt;Jeff Otoni&lt;/a&gt;, decidi encarar essa jornada.&lt;/p&gt;

&lt;p&gt;Atualmente, sou desenvolvedor e arquiteto de software imerso no mundo SAP e suas tecnologias, então conheço um pouquinho de ABAP, SAP UI5, Fiori, OData e mais uma sopa de letrinhas específica do mundo SAP. No entanto, o mercado está em constante evolução e demanda, por isso, gosto de aprender e me manter atualizado sobre outras tecnologias e linguagens para aplicar melhores práticas, aprender o que os outros estão fazendo de legal e não passar aperto quando um projeto sair do "padrão".&lt;/p&gt;

&lt;p&gt;A linguagem Go é fortemente tipada, compilada, o que a diferencia da maior parte das linguagens populares atualmente, com uma sintaxe de código incrivelmente simples (imagine, até a data que estou escrevendo esse artigo, a linguagem só possui 25 palavras reservadas! &lt;a href="https://golang.org/ref/spec"&gt;Confira aqui!&lt;/a&gt;), ela foi projetada para simplificar e resolver os maiores problemas encontrados no desenvolvimento de software, principalmente tratando de web, (listados no dia a dia da gigante Google, onde a linguagem foi construída), como por exemplo, escalabilidade, concorrência, paralelismo, produtividade e facilidade ao escrever e manter código, softwares com grande dependência de comunicação via rede, padronização de código em projetos grandes e com muitos colaboradores trabalhando ao mesmo tempo (quem nunca discutiu se a '{' fica na linha do if ou em uma linha abaixo? que comece a guerra, risos), e mais um tantão de coisas legais que vale a pena você pesquisar (esse artigo escrito por Rob Pike, um dos criadores da linguagem é bem interessante &lt;a href="https://talks.golang.org/2012/splash.article"&gt;Go at Google: Language Design in the Service of Software Engineering&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Para começar minha jornada de aprendizado não foi difícil. Utilizo macos e não tive problemas na instalação do ambiente GO, bastou baixar a imagem correta do sistema operacional (&lt;a href="https://golang.org/dl/"&gt;Download Go&lt;/a&gt;), instalar e começar rodar. Iniciei pelo famigerado "Hello World!", que você pode codar em um arquivo fonte na sua máquina local, fazer o build (ou compilar, como alguns gostam) e executar o binário gerado. Você também pode usar o comando &lt;em&gt;&lt;strong&gt;go run [file]&lt;/strong&gt;&lt;/em&gt; para executar o código diretamente, sem precisar fazer o build, ou ainda, se não quiser instalar nada, pode simplesmente utilizar o &lt;a href="https://play.golang.org/"&gt;playground&lt;/a&gt; da linguagem para começar codar e experimentar a linguagem diretamente no browser.&lt;/p&gt;

&lt;p&gt;Logo depois do "Hello world!", a maioria dos programadores já pensam em como declarar variáveis e funções, queremos variáveis para fazer cálculos complexos porque vamos dominar o mundo, integrar o sistemas via api e zas, e zas, zas (Chaves mandou lembranças, risos). Comigo não foi diferente, busquei alguns materiais que apresentam os conceitos da linguagem passo a passo, explicando trechos de código e te desafiando escrever códigos utilizando o que foi aprendido. Aqui, gostaria de ressaltar que achei muito material legal, de boa qualidade, em português, sim PT-BR, com textos bem escritos e divertidos, ensinando os conceitos e apresentando exemplos de código, confiram a jornada GoSchool no &lt;a href="https://medium.com/gommunity"&gt;Gommunity&lt;/a&gt; e os artigos legais em inglês &lt;a href="https://dev.to/t/go"&gt;go no dev.to&lt;/a&gt;. Sensacional, me ajudou bastante nestes primeiros contatos com a linguagem, os conceitos e o jeito de fazer. O meu muito obrigado à essas pessoas que investem seu tempo no ensino de tecnologia escrevendo artigos e tutoriais em nossa língua nativa.&lt;/p&gt;

&lt;p&gt;Bom, com o básico da linguagem aprendido, fui buscar projetos mais práticos e encontrei como fazer uma simples API em Go neste artigo &lt;a href="https://medium.com/@rafaelacioly/construindo-uma-api-restful-com-go-d6007e4faff6"&gt;aqui&lt;/a&gt;. Fui seguindo o passo a passo do tutorial e magicamente, com 74 linhas de código em &lt;strong&gt;Go&lt;/strong&gt;, tinha construído minha primeira web api, permitindo recuperar uma lista de contatos, inserir um novo contato e excluir um contato.&lt;/p&gt;

&lt;h2&gt;
  
  
  Similaridade com o ABAP
&lt;/h2&gt;

&lt;p&gt;Como sempre faço, ao finalizar o tutorial, fui rever todo o código e checar se eu tinha dúvida em algum trecho de código ou conceito utilizado e aí tive uma surpresa boa. Analisando a declaração de uma estrutura em Go, encontrei uma similaridade com declaração de estrutura em ABAP. &lt;/p&gt;

&lt;p&gt;Compare abaixo:&lt;/p&gt;

&lt;p&gt;Declaração das estruturas Person e Address em Go:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;type&lt;/span&gt; &lt;span class="n"&gt;Person&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;ID&lt;/span&gt;        &lt;span class="kt"&gt;string&lt;/span&gt;
    &lt;span class="n"&gt;Firstname&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt;
    &lt;span class="n"&gt;Lastname&lt;/span&gt;  &lt;span class="kt"&gt;string&lt;/span&gt;
    &lt;span class="n"&gt;Address&lt;/span&gt;   &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;Address&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;type&lt;/span&gt; &lt;span class="n"&gt;Address&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;City&lt;/span&gt;  &lt;span class="kt"&gt;string&lt;/span&gt;
    &lt;span class="n"&gt;State&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Declaração das estruturas Person e Address em ABAP:
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight abap"&gt;&lt;code&gt;&lt;span class="k"&gt;TYPES&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="k"&gt;BEGIN&lt;/span&gt; &lt;span class="k"&gt;OF&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;city&lt;/span&gt;  &lt;span class="k"&gt;TYPE&lt;/span&gt; &lt;span class="k"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;state&lt;/span&gt; &lt;span class="k"&gt;TYPE&lt;/span&gt; &lt;span class="k"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="k"&gt;END&lt;/span&gt; &lt;span class="k"&gt;OF&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

  &lt;span class="k"&gt;BEGIN&lt;/span&gt; &lt;span class="k"&gt;OF&lt;/span&gt; &lt;span class="k"&gt;person&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;id&lt;/span&gt;        &lt;span class="k"&gt;TYPE&lt;/span&gt; &lt;span class="k"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;firstname&lt;/span&gt; &lt;span class="k"&gt;TYPE&lt;/span&gt; &lt;span class="k"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;lastname&lt;/span&gt;  &lt;span class="k"&gt;TYPE&lt;/span&gt; &lt;span class="k"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;address&lt;/span&gt;   &lt;span class="k"&gt;TYPE&lt;/span&gt; &lt;span class="n"&gt;address&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="k"&gt;END&lt;/span&gt; &lt;span class="k"&gt;OF&lt;/span&gt; &lt;span class="k"&gt;person&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Além disso, a declaração de métodos em Go é bem similar à declaração de rotina (form) no ABAP.&lt;/p&gt;

&lt;p&gt;Declaração de um método para imprimir o nome completo em Go:&lt;/p&gt;

&lt;p&gt;Para funcionar como método, em Go, criamos uma função recebendo como parâmetro antes do nome da função o tipo ao qual queremos associá-la, neste caso, ao nosso tipo Person criado anteriormente. Para utilizar a nossa função que trabalhará como método, podemos acessar o nome da função diretamente de uma variável do tipo que declaramos no parâmetro e omitir a passagem do parâmetro. Conforme código abaixo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;PrintFullName&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;fmt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Firstname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Lastname&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;pessoa&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;Person&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;ID&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;        &lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;Firstname&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"Valdir"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;Lastname&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;  &lt;span class="s"&gt;"Mendes"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;pessoa&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PrintFullName&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Declaração de uma rotina para imprimir o nome completo em ABAP:&lt;/p&gt;

&lt;p&gt;No ABAP, não conseguimos fazer uma função ou rotina funcionar como um método, mas para mim, existe uma similaridade interessante na estrutura de criação. Recebemos o tipo de uma estrutura que foi criada dentro do programa como parâmetro na rotina criada que consequentemente só funcionará para essa estrutura, assim como no método/função do Go. Confira abaixo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight abap"&gt;&lt;code&gt;  &lt;span class="k"&gt;DATA&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;pessoa&lt;/span&gt; &lt;span class="k"&gt;TYPE&lt;/span&gt; &lt;span class="k"&gt;person&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

  &lt;span class="n"&gt;pessoa&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;id&lt;/span&gt;        &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'1'&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
  &lt;span class="n"&gt;pessoa&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;firstname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Valdir'&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
  &lt;span class="n"&gt;pessoa&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;lastname&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Mendes'&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="k"&gt;PERFORM&lt;/span&gt; &lt;span class="n"&gt;print_full_name&lt;/span&gt; &lt;span class="k"&gt;USING&lt;/span&gt; &lt;span class="n"&gt;pessoa&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="k"&gt;FORM&lt;/span&gt; &lt;span class="n"&gt;print_full_name&lt;/span&gt; &lt;span class="k"&gt;USING&lt;/span&gt; &lt;span class="kt"&gt;p&lt;/span&gt; &lt;span class="k"&gt;TYPE&lt;/span&gt; &lt;span class="k"&gt;person&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

  &lt;span class="k"&gt;WRITE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;p&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;firstname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;p&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;lastname&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="k"&gt;ENDFORM&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Em resumo, gostaria de compartilhar com você um pouquinho da minha jornada de aprendizado da linguagem Go e essa similaridade encontrada em uma das linguagens que trabalho no cotidiano. E aí, o que achou?&lt;/p&gt;

</description>
      <category>go</category>
      <category>abap</category>
    </item>
    <item>
      <title>#EstudandoSempre! Por que?</title>
      <dc:creator>Valdir Mendes</dc:creator>
      <pubDate>Sun, 29 Mar 2020 02:39:12 +0000</pubDate>
      <link>https://dev.to/valdirmendesdev/estudandosempre-por-que-4dc4</link>
      <guid>https://dev.to/valdirmendesdev/estudandosempre-por-que-4dc4</guid>
      <description>&lt;p&gt;Ei, que legal que animou ler este artigo, ficou um pouco grande, mas acho que vale muito a pena a leitura. Gostaria de te apresentar porque eu acho que precisamos estudar sempre e o quanto isso me faz bem.&lt;/p&gt;

&lt;p&gt;Bem, minha origem é totalmente técnica, sou desenvolvedor e meu primeiro contato com a programação foi por volta dos 11 anos de idade quando através de uma escola de informática de bairro (Que nostalgia! Nem existe mais essa expressão "escola de informática". Você também fez informática básica I, II, III? Windows 95? risos), tive a oportunidade de aprender codificar meus primeiros programas utilizando Visual Basic. Aquilo era fantástico. Lembro-me de um programa que desenvolvi no curso que tinha um botão com o texto "Clique aqui" e quando o usuário movia o mouse para cima do botão, o mesmo desaparecia da tela para que o usuário não conseguisse clicar. Isso era muito divertido, me sentia um gênio por fazer aquilo (risos). Foi exatamente esse primeiro contato que me fez apaixonar por tecnologia, computadores e principalmente pela programação.&lt;/p&gt;

&lt;p&gt;Profissionalmente, minha primeira linguagem de programação foi o COBOL (sim, isso mesmo que você leu!). Apesar de todas as críticas e preconceitos, os estereótipos, a verbosidade, sou muito grato por ter tido essa experiência. Todos os conceitos e aprendizado em desenvolvimento com o COBOL, me deram uma bagagem gigantesca de experiência que eu aplicaria em desafios que vivenciei com outras linguagens. Arquivos lógicos indexados, famosos VSAM (Virtual Storage Access Method, sabe o que é isso? risos), bloqueio de registro para um usuário, GO TO, sobreposição de tela do terminal com armazenamento do contexto anterior, mensagem com mudança de cor contextual do terminal, barra de progresso escrita "na unha" ponto a ponto da tela e tantas outras coisas que me bate até uma saudade, mas que já passou. (risos)&lt;/p&gt;

&lt;p&gt;Já na faculdade, conheci um incrível e terrível mundo novo. Por uma parceria da faculdade com a Microsoft, a linguagem definida para os trabalhos práticos era o C# (Lê-se C sharp). Nova sintaxe, novos conceitos, novo jeito de programar, importação de namespaces, telas "reais" com botões, caixas de textos, imagens, nada de terminal, além de outras tantas coisas. Foi também meu primeiro contato com o tal "OO". Puxa vida, que mundo de informação! Pensei que nunca fosse capaz de conseguir entender isso: Método Main, estático, instância, objeto, herança, polimorfismo, composição, passagem por valor, por referência, privado, protegido, público, interface, classe, atributos, eventos... Cansa né?! Nem comecei falar dos objetos em si, listas, filas, pilhas, FIFO, LIFO, array, índice, chave-valor, hash, map, nossa era muita coisa para quem estava migrando de uma linguagem como COBOL, "velha" e FLAT, ou seja, os tipos eram numéricos, caracteres e estruturas, fim. Muito mais fácil, né?!&lt;/p&gt;

&lt;p&gt;Passei! Estudei muito e aprendi, gostei tanto que fui monitor em AED(Algoritmos e Estrutura de Dados), acredita? Que desenhava no quadro e tudo para galera entender. Quando achei que estava "dominando" o jeito moderno de programar, BOOOM! Fui apresentado ao HTML, CSS, JavaScript, JSON e ao famigerado JQuery. Para programar "a Web", você precisa saber mais um turbilhão de informação: Protocolo HTTP, modelo cliente servidor, Request, Response, backend, frontend... 😱 Ichhhh, nem vou tentar citar. Nossa, foram dias estudando isso!&lt;/p&gt;

&lt;p&gt;Bem, apesar de vários novos conceitos, senti que eu estava aprendendo mais rápido e me perguntei, por que? Nessa época, eu não entendia como conceitos para pessoas que não eram da área de TI, eram complexos e para mim pareciam óbvios!&lt;/p&gt;

&lt;p&gt;Segui carreira e tive uma grande oportunidade de aprendizado, desenvolver emissores de Nota Fiscal Eletrônica de produtos e serviços (Isso me ajuda muito até hoje). Para isso, aprendi Java, conheci o modelo SOA, WebServices, WSDL, XML, Metadata, protocolo SOAP e vários outros conceitos inerentes ao modelo SOA e as regras de negócio de uma NF. Outra vez estava diante de muitas novidades, certo? Sim, porém apesar de algumas dificuldades aqui e ali, ainda sim eu conseguia aprender e desenvolver muito mais rápido.&lt;/p&gt;

&lt;p&gt;Ufa, até que enfim chegamos ao objetivo do título. O artigo ficou um pouco grande então muito obrigado pelo seu tempo dedicado. Poderia passar mais alguns parágrafos contando de mais algumas coisas que fiz, estudei e/ou experimentei na minha jornada até aqui, mas acho que não é necessário, você já entendeu como foi meu progresso. Estudava o conceito e tentava aplicar, simples assim.&lt;/p&gt;

&lt;p&gt;Um belo dia, iniciando um novo estudo de alguns assuntos que estavam na hype, comecei listar os tópicos e traçar um paralelo com algo que eu já conhecia, para facilitar o progresso e focar no que eu ainda não sabia. Foi ai que eu consegui responder aquela pergunta que eu me fiz lá na faculdade ainda, lembra? Por que algumas coisas parecem óbvias para mim? Por que parece que eu aprendo mais rápido?&lt;/p&gt;

&lt;p&gt;Percebi que eu conseguia abstrair conceitos e associá-los com algo parecido que eu já havia estudado em algum momento da vida. Note que eu escrevi &lt;strong&gt;conceitos&lt;/strong&gt; e é aí que eu entendo ser o diferencial. Aprender fazer, normalmente é mais fácil do que aprender porque fazer!&lt;/p&gt;

&lt;p&gt;Quando você entende porque fazer algo, isso se torna um modelo de resolução de problema na sua mochila e toda vez que você encontrar um problema parecido, bingo, você se lembra do modelo de resolução e aplica-o novamente adequando-o a situação. Duvida? Se eu te falar que eu tenho um parafuso Philips para apertar, qual chave você me recomendaria? Philips ou fenda? Alguns fazem gambiarras (risos), mas a ferramenta adequada seria a chave Philips, correto? E se eu não tiver uma chave Philips, mas tiver uma parafusadeira elétrica? Ainda sim, vou precisar de uma ponteira Philips para resolver meu problema. A ferramenta mudou, mas o problema continua sendo resolvido da mesma forma, ou seja, adequamos a situação da ferramenta, mas o modelo de resolução é o mesmo.&lt;/p&gt;

&lt;p&gt;Quando entendi a quantidade de coisas que eu poderia resolver e o quanto isso me economizaria tempo em novos aprendizados, apenas estudando os conceitos e guardando-os na "mochila", me apaixonei ainda mais por estudar, conhecer novas coisas, por me desenvolver diariamente e continuamente, então, #EstudandoSempre!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
