<?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: Thomas Ribeiro</title>
    <description>The latest articles on DEV Community by Thomas Ribeiro (@thribeiro8).</description>
    <link>https://dev.to/thribeiro8</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%2F597636%2Fe66c4317-30dd-4a53-9835-f71eca73e7b4.jpeg</url>
      <title>DEV Community: Thomas Ribeiro</title>
      <link>https://dev.to/thribeiro8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thribeiro8"/>
    <language>en</language>
    <item>
      <title>💻 Semantic Commits</title>
      <dc:creator>Thomas Ribeiro</dc:creator>
      <pubDate>Wed, 06 Mar 2024 18:24:33 +0000</pubDate>
      <link>https://dev.to/thribeiro8/semantic-commits-978</link>
      <guid>https://dev.to/thribeiro8/semantic-commits-978</guid>
      <description>&lt;p&gt;According to what I've seen used most in places where I've worked and also used in specific projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  📕 Format
&lt;/h2&gt;

&lt;p&gt;The following format for commits must be observed, the use of &lt;em&gt;type&lt;/em&gt; is mandatory, it can be consulted in the topic below, the description depicts what action the current commit will perform:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;type&amp;gt;: &amp;lt;description&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 Type
&lt;/h2&gt;

&lt;p&gt;The &lt;em&gt;types&lt;/em&gt; are as follows:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Prefix&lt;/th&gt;
&lt;th&gt;Definition&lt;/th&gt;
&lt;th&gt;Sense&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;build&lt;/td&gt;
&lt;td&gt;Builds&lt;/td&gt;
&lt;td&gt;Changes that affect the build system or external dependencies (scope examples: npm, gulp)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;chore&lt;/td&gt;
&lt;td&gt;Tasks&lt;/td&gt;
&lt;td&gt;Changes that do not modify test or source code files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ci&lt;/td&gt;
&lt;td&gt;Continuous Integrations&lt;/td&gt;
&lt;td&gt;Changes to our CI configuration files and scripts (example scopes: BrowserStack, Circle, Travis)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;docs&lt;/td&gt;
&lt;td&gt;Documentation&lt;/td&gt;
&lt;td&gt;Documentation changes only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;feat&lt;/td&gt;
&lt;td&gt;Features&lt;/td&gt;
&lt;td&gt;Some new functionality&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;fix&lt;/td&gt;
&lt;td&gt;Bug Fixes&lt;/td&gt;
&lt;td&gt;Bug fix&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;perf&lt;/td&gt;
&lt;td&gt;Performance Improvements&lt;/td&gt;
&lt;td&gt;Code change that improves performance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;refactor&lt;/td&gt;
&lt;td&gt;Code Refactoring&lt;/td&gt;
&lt;td&gt;Code change that does not add functionality or fix a bug&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;revert&lt;/td&gt;
&lt;td&gt;Revert&lt;/td&gt;
&lt;td&gt;Reverts a previous commit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;style&lt;/td&gt;
&lt;td&gt;Styles&lt;/td&gt;
&lt;td&gt;Changes regarding styling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;test&lt;/td&gt;
&lt;td&gt;Tests&lt;/td&gt;
&lt;td&gt;Correction of existing tests or addition of missing tests&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  ✒️ Author
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/thribeiro8"&gt;Thomas Ribeiro&lt;/a&gt;&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📌 References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.conventionalcommits.org/en/v1.0.0/"&gt;Conventional Commits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://karma-runner.github.io/6.3/dev/git-commit-msg.html"&gt;Karma Runner&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>markdown</category>
      <category>commit</category>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>Object Oriented Programming (OOP) x Procedural Programming (PP)</title>
      <dc:creator>Thomas Ribeiro</dc:creator>
      <pubDate>Thu, 29 Feb 2024 21:05:10 +0000</pubDate>
      <link>https://dev.to/thribeiro8/object-oriented-programming-oop-vs-procedural-programming-pp-3onk</link>
      <guid>https://dev.to/thribeiro8/object-oriented-programming-oop-vs-procedural-programming-pp-3onk</guid>
      <description>&lt;p&gt;Whatever the time, at some point in our career as developers we came to a discussion about programming language paradigms. And as it is crucial to understand more about the advantages that a certain language can bring us in order to make the most advantageous choice for our project, understanding the differences and advantages of programming paradigms will help us a lot in the process. It was exactly with this in mind that I decided to write this post explaining a little about the difference between the two.&lt;/p&gt;

&lt;h1&gt;
  
  
  Procedural Programming
&lt;/h1&gt;

&lt;p&gt;Procedural Programming (PC) or also called Structured Programming concerns modularizing instructions for executing a program into procedures or parts. Procedures contain a series of computational steps to be executed. A procedure can be called at any time during the execution of a program, including by itself or by other procedures. Procedures can receive arguments (parameters) to perform manipulations and may or may not return values, and unlike the concept of functional programming, procedures can also cause side effects like object methods. To simplify the difference in concepts between a procedure and a function is that a function would always return some value and would not change any arguments outside its scope, whereas procedures can change something outside their scope and do not necessarily return any value. This change of data outside its scope which are named as side effects.&lt;/p&gt;

&lt;h1&gt;
  
  
  Object-oriented programming
&lt;/h1&gt;

&lt;p&gt;Object Oriented Programming (OOP) is based on the idea that everything is classes and objects, classes are like groupers and objects are the participants of these groups. Each class defines attributes (characteristics) and methods (behaviors) that are common to everyone belonging to this class, in this case to each object that is an instance of the class. Objects can have an attribute that is equal to all belonging to the class, which are called class attributes, or attributes that despite defining the same thing do not have the same value, called object attributes, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Someone's age, every person has an age, but not necessarily every person has the same age.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Methods are abstractions to hide the details of objects, exposing only the functions that operate their data.&lt;br&gt;
Another very important concept in the world of OOP is polymorphism, which is basically the beginning of which classes derived from the same superclass (parent class) expose methods that have the same identification but with different implementations, as each class has its specificity and Because of this, different ways to perform the same action.&lt;/p&gt;

&lt;p&gt;For example, let's imagine the Animal superclass, it defines that all its derivatives must have the emitSound method, the derived class Dog implements the emitSound method which would be barking, while the Cat class implements emitSound as meowing. However, this internal behavior does not matter to those who see the class from the outside.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Animal&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;emitSound&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Cat&lt;/span&gt; &lt;span class="kd"&gt;implements&lt;/span&gt; &lt;span class="nc"&gt;Animal&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nd"&gt;@Override&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;emitSound&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Meow"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Dog&lt;/span&gt; &lt;span class="kd"&gt;implements&lt;/span&gt; &lt;span class="nc"&gt;Animal&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nd"&gt;@Override&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;emitSound&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Bark"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Regarding the differences, in my opinion, one of the most obvious is the way in which the data is treated, in OOP we manipulate the objects but we do not have direct access to the values, in PP it is the opposite.&lt;/p&gt;

&lt;p&gt;According to Robert Cecil Martin, author of the book Clean Code:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Data structures expose your data and do not have significant functions for manipulating it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Therefore, everything will depend on the way and objective you need to achieve the objective and solve the problem in your current context.&lt;/p&gt;

</description>
      <category>poo</category>
      <category>programming</category>
      <category>pp</category>
    </item>
    <item>
      <title>Applying Solution Based Learning</title>
      <dc:creator>Thomas Ribeiro</dc:creator>
      <pubDate>Thu, 21 Jul 2022 21:33:14 +0000</pubDate>
      <link>https://dev.to/thribeiro8/applying-solution-based-learning-4j3e</link>
      <guid>https://dev.to/thribeiro8/applying-solution-based-learning-4j3e</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Reading&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;practice&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="no"&gt;I&lt;/span&gt; &lt;span class="n"&gt;really&lt;/span&gt; &lt;span class="n"&gt;enjoy&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;especially&lt;/span&gt; &lt;span class="n"&gt;articles&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But to learn, just reading is not enough, something is missing, but what?! It was in programming that I could better identify this, this lack is very evident when we are coding. It is necessary to &lt;strong&gt;get your hands dirty&lt;/strong&gt; beyond theory if you want to go further...&lt;/p&gt;

&lt;p&gt;What has helped me a lot to learn and evolve in &lt;strong&gt;java&lt;/strong&gt; is precisely choosing problems to solve, and allowing this to drive me to understand new techniques and concepts.&lt;/p&gt;

&lt;p&gt;I have matured the way of thinking, speaking and acting in the face of problems solved and experienced both with &lt;em&gt;Java&lt;/em&gt; and with other technologies, and not only logic and reasoning but also the ways of doing household chores have changed a lot.&lt;/p&gt;

&lt;p&gt;In my current job working with java, it is more conducive to learning, precisely because I have tasks to be developed where internal and external clients request and I need to use logic to solve them. I always take as a basis the solutions experienced, I look for new alternatives, and I solve them in the way I believe to be ideal.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Ways I've put into practice:&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand the problem;&lt;/li&gt;
&lt;li&gt;List the needs;&lt;/li&gt;
&lt;li&gt;Raise which knowledge and tools can be useful to solve;&lt;/li&gt;
&lt;li&gt;Test different solutions;&lt;/li&gt;
&lt;li&gt;Solve the problem;&lt;/li&gt;
&lt;li&gt;Evaluate points for improvement.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Increasingly these points have helped me to achieve better personal and professional results and that's not all, there are different ways to solve problems and learn from these same "problems".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The important thing is to always stay focused!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>read</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>[pt-BR] Preciso de um super setup para ser um bom dev?</title>
      <dc:creator>Thomas Ribeiro</dc:creator>
      <pubDate>Wed, 06 Jul 2022 21:38:16 +0000</pubDate>
      <link>https://dev.to/thribeiro8/pt-br-preciso-de-um-super-setup-para-ser-um-bom-dev-32ee</link>
      <guid>https://dev.to/thribeiro8/pt-br-preciso-de-um-super-setup-para-ser-um-bom-dev-32ee</guid>
      <description>&lt;p&gt;Você já deve imaginar que uma resposta simples, curta e grossa seria&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Não!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Mas, porque não? Então, esse questionamento é um dos que alguns amigos e conhecidos vêm me perguntando, então resolvi falar um pouco mais, sobre...&lt;/p&gt;

&lt;h2&gt;
  
  
  Sonho de todo dev
&lt;/h2&gt;

&lt;p&gt;Então, não dá pra negar que uma boa máquina, ferramentas e apetrechos legais deixam o Batman muito mais divertido né, mas só basta isso para ele combater o crime? Não, então da mesma forma que ele, é o nosso caso como desenvolvedores, qualquer bom profissional almeja sim montar o seu setup &lt;strong&gt;ideal&lt;/strong&gt; e estar mais confortável, mas tudo é questão de gosto, tempo e investimento.&lt;/p&gt;

&lt;p&gt;As vezes outras situações pesam mais e são mais urgentes na caminhada de um bom dev, seja ele de qualquer tecnologia, então o melhor a se fazer é sempre pesquisar, estudar, investir tempo no que realmente agrega.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que realmente precisa um &lt;em&gt;dev&lt;/em&gt; ou &lt;em&gt;almejante&lt;/em&gt; a &lt;em&gt;dev&lt;/em&gt;?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Notebook ou Desktop
&lt;/h3&gt;

&lt;p&gt;Qual a diferença de ambos? Então, apenas o transporte e manuseio, onde o notebook você terá flexibilidade de levar para onde bem entender e o desktop, é mais trabalhoso de transportar, com tudo, não existem barreiras quando se tem &lt;em&gt;vontade de aprender e evoluir&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Monitor
&lt;/h3&gt;

&lt;p&gt;Esse é um item um tanto quanto opcional, pois sim, ele facilita no quesito de testes e também possibilita melhores visualizações, é de fato uma mão na roda, mas não é obrigatório, então jamais deixe de tentar evoluir por não ter algum recurso ou material que você vê em vídeos ou na internet, o fundamental é sua vontade de aprender e pesquisar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Considerações
&lt;/h2&gt;

&lt;p&gt;Ter um setup do momento é sem dúvidas maravilhoso para qualquer desenvolvedor, pois é com isso que todos os dias podemos executar nosso trabalho de forma mais confortável. &lt;/p&gt;

&lt;p&gt;Mas assim como nós seres &lt;em&gt;humaninhos&lt;/em&gt;, isso é um sonho que podemos ir melhorando com o tempo, bem tranquilo e de boa, o que vai te destacar é justamente não ficar estagnado esperando a oportunidade cair do céu, levanta e corre atrás, aprendizado é muito importante, tanto tecnicamente como para uma vida melhor e mais leve. De acordo com o crescimento da carreira, o setup vai se adequando a isso de forma bem natural.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>blog</category>
      <category>discuss</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>[pt-BR] Quem falar que programar é fácil, não está te falando a verdade!</title>
      <dc:creator>Thomas Ribeiro</dc:creator>
      <pubDate>Tue, 05 Jul 2022 18:52:03 +0000</pubDate>
      <link>https://dev.to/thribeiro8/pt-br-quem-falar-que-programar-e-facil-nao-esta-te-falando-a-verdade-97</link>
      <guid>https://dev.to/thribeiro8/pt-br-quem-falar-que-programar-e-facil-nao-esta-te-falando-a-verdade-97</guid>
      <description>&lt;p&gt;Há algum tempo tenho percebido que a procura e interesse das pessoas em se tornar programador e trabalhar com TI vem cada vez mais aumentando.&lt;/p&gt;

&lt;p&gt;Dia pós dia amigos, conhecidos e desconhecidos perguntam: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;como é a área? &lt;/li&gt;
&lt;li&gt;é difícil de aprender?&lt;/li&gt;
&lt;li&gt;qual editor eu uso?&lt;/li&gt;
&lt;li&gt;qual IDE é boa para iniciar?&lt;/li&gt;
&lt;li&gt;o que precisa saber pra fazer um aplicativo, um sistema ou um site? &lt;/li&gt;
&lt;li&gt;quanto tempo leva para aprender programação?&lt;/li&gt;
&lt;li&gt;preciso fazer qual curso?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Trocando uma ideia mais a fundo com algumas pessoas, pude perceber que elas não tiveram nenhum contato com programação ou ferramentas utilizadas em TI!&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tenho me perguntado cada vez mais:&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Porque de um tempo para cá todo mundo vem se interessando por programação, o que tá acontecendo? Antes era uma área até vista de forma &lt;em&gt;bruta&lt;/em&gt; onde apenas &lt;em&gt;nerds&lt;/em&gt; poderiam estar. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Dinheiro x Facilidade
&lt;/h2&gt;

&lt;p&gt;Um questionamento um tanto curioso é o fato de &lt;em&gt;ser atraído por dinheiro fácil&lt;/em&gt; mas calma, não é bem por aí...Com toda a urgência e independência estabelecida pela mídia, as pessoas cada vez mais vem buscando ter mais dinheiro, conquistar mais bens e coisas do tipo.&lt;/p&gt;

&lt;p&gt;Pude perceber que em &lt;strong&gt;alguns casos&lt;/strong&gt;, desenvolvedores e profissionais de TI estão passando uma ideia de riqueza e descobrimento da mina de ouro, afinal é bem comum encontrarmos: "fique rico com uma linha de código", "como ganhar dinheiro fácil e rápido pela internet de qualquer lugar do mundo", "como lucrar mil vezes mais do que antes".&lt;/p&gt;

&lt;p&gt;Tal ideia é um tanto perigoso, pelo fato que nem todo mundo vai entrar na área com a motivação correta e pode se tornar frustrante. &lt;/p&gt;

&lt;p&gt;Alguns desenvolvedores vendem a ideia de que dá pra ganhar R$ 50.0000,00 em um ano pra ser "programador". Pode acontecer? Pode sim, mas isso não é regra. Qualquer pessoa que ver algo do tipo com certeza por status e mudança de vida financeira vai querer entrar para tal feito também.&lt;/p&gt;

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

&lt;p&gt;A real é que não é fácil e nem rápido virar um programador com boas ideias e projetos. Na maioria dos casos, é necessário realizar faculdade de 4/5 anos e mesmo assim não é obrigatório sair sabendo de tudo e tendo total domínio de processos e tecnologias para entrar no mercado e ganhar rios de dinheiro.&lt;/p&gt;

&lt;p&gt;E antes que a frase: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Existem vários programadores que aprenderam sozinhos e não têm faculdade nenhuma.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;De fato, existem, mas mesmo assim, não é um caminho fácil, porque primeiramente é necessário ter muito esforço e tempo de estudo, e se for pontuar minha humilde opinião, assim como conhecemos na programação, podemos chamar os &lt;strong&gt;autodidatas&lt;/strong&gt; de &lt;strong&gt;EXCEPTIONS&lt;/strong&gt; porque na sua maioria, já sabia construir algo grande com seus 10/12 anos de idade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conselho
&lt;/h2&gt;

&lt;p&gt;Fique sempre atento e não creia 100%, em pessoas que vendem o sonho de milionário que você vai se tornar o próximo &lt;strong&gt;gênio, bilionário, playboy, filantropo&lt;/strong&gt; aka &lt;strong&gt;Tony Stark&lt;/strong&gt; e ganhar 50k em alguns meses ou anos ou até mesmo se tornar web fullstack ou especialista de dados ou sênior em TI em menos de 6 meses. Esse tipo de promessa só serve para uma única coisa, que é, pegar o seu DINHEIRO e deixar você frustrado.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>discuss</category>
    </item>
    <item>
      <title>[pt-BR] Quero me tornar dev, como começar?</title>
      <dc:creator>Thomas Ribeiro</dc:creator>
      <pubDate>Mon, 04 Jul 2022 19:55:01 +0000</pubDate>
      <link>https://dev.to/thribeiro8/pt-br-quero-me-tornar-dev-como-comecar-5c59</link>
      <guid>https://dev.to/thribeiro8/pt-br-quero-me-tornar-dev-como-comecar-5c59</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;Com toda a certeza, essa tem sido a pergunta que eu mais venho recebendo no meu &lt;a href="https://discord.com/channels/@thribeiro8##3386"&gt;discord&lt;/a&gt;, &lt;a href="https://github.com/thribeiro8"&gt;github&lt;/a&gt; e &lt;a href="https://www.linkedin.com/in/thomasdribeiro"&gt;linkedin&lt;/a&gt;. Por isso resolvi fazer um breve passo a passo, para ajudar você que se encontra perdido nesse mundo de dev. Antes de qualquer coisa, é necessário escolher uma área e focar seus estudos.&lt;/p&gt;

&lt;p&gt;No que se trata de desenvolvimento, existem basicamente três caminhos para começar a jornada, são eles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backend&lt;/li&gt;
&lt;li&gt;Frontend&lt;/li&gt;
&lt;li&gt;Mobile&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uma dica que vale muito é &lt;strong&gt;NÃO QUEIRA SABER DE TUDO&lt;/strong&gt; pois na maioria das vezes isso pode ser um tiro no pé e atrapalhar mais do que ajudar, o que é crucial é ter foco e se tornar bom naquilo, porque com a experiência e situações do dia a dia, as demais tecnologias, metodologias e aprendizados vão se formando de forma gradativa.&lt;/p&gt;

&lt;p&gt;Essa coisa de ser de cara logo um FullStack não é tão indicado porque pode confundir a cabeça de uma pessoa que não tem vivência em tech. Então o ideal é sempre pegar pequenas ideias e treinar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Estudos
&lt;/h2&gt;

&lt;p&gt;É indicado procurar materiais que despertem a curisidade, poir um bom desenvolvedor é aquele que nunca cansa de pequisar. Então sempre que começar com alguma tecnologia, é bom dar boa uma olhada na documentação, pegar pequenos &lt;em&gt;passo a passos&lt;/em&gt; e praticar como se fossem &lt;em&gt;tarefinhas de casa&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Também o que ajudar bastante é responder questões e responder dúvidas e enquetes de outros &lt;strong&gt;devs&lt;/strong&gt;. Isso faz com que a empolgação e espírito de aprendizado se desafie cada vez mais.&lt;/p&gt;

&lt;h2&gt;
  
  
  Não procrastinar, nem tudo são flores
&lt;/h2&gt;

&lt;p&gt;Com o passar do tempo, desafios maiores tendem a surgir e isso faz muitas vezes o profissional e estudante a duvidar e se estressar quando não consegue resolver algo de primeira como de costume, mas o segredo está justamente no fato de &lt;strong&gt;não desistir&lt;/strong&gt;, quanto mais insistente e treinado você estiver, mais capaz de utilizar sua lógica de forma ágil estará.&lt;/p&gt;

&lt;h2&gt;
  
  
  Algumas tecnologias para buscar...
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;C++&lt;/li&gt;
&lt;li&gt;C#&lt;/li&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;li&gt;Node&lt;/li&gt;
&lt;li&gt;Php&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Html&lt;/li&gt;
&lt;li&gt;Css&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;li&gt;Angular&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Vue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Mobile&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Android&lt;/li&gt;
&lt;li&gt;Objective-C&lt;/li&gt;
&lt;li&gt;Kotlin&lt;/li&gt;
&lt;li&gt;Swift&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conselhos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Faça uma boa base, afinal antes de utilizar &lt;em&gt;bhaskara&lt;/em&gt;, você precisou aprender a somar e subtrair;&lt;/li&gt;
&lt;li&gt;Escolha aonde você vai atuar no início (frontend, backend, mobile);&lt;/li&gt;
&lt;li&gt;Não pule etapas, se está difícil, volte um passo;&lt;/li&gt;
&lt;li&gt;Tenha foco!;&lt;/li&gt;
&lt;li&gt;Quebre a cabeça para resolver problemas com uma dificuldade maior a cada acerto que você tiver;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Certificados&lt;/strong&gt; são bons, mas &lt;strong&gt;conhecimento&lt;/strong&gt; é muito melhor;&lt;/li&gt;
&lt;li&gt;Coloque a mão na massa;&lt;/li&gt;
&lt;li&gt;Busque por vagas no &lt;a href="https://www.linkedin.com/"&gt;linkedin&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;Estabeleça bons networkings;&lt;/li&gt;
&lt;li&gt;Tire dúvidas com pessoas mais experientes na área, nunca tenha vergonha ou medo de perguntar, afinal, o aprendizado é uma dádiva.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Se prepare, pois tempo de preparação não é tempo perdido!&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>[pt-BR] {Re-começar &amp;&amp; Re-adaptar}</title>
      <dc:creator>Thomas Ribeiro</dc:creator>
      <pubDate>Thu, 25 Mar 2021 02:37:19 +0000</pubDate>
      <link>https://dev.to/thribeiro8/pt-br-re-comecar-re-adaptar-hje</link>
      <guid>https://dev.to/thribeiro8/pt-br-re-comecar-re-adaptar-hje</guid>
      <description>&lt;p&gt;Eae &lt;em&gt;Dev's&lt;/em&gt;, tudo beleza?!&lt;/p&gt;

&lt;p&gt;Quero compartilhar com vocês um pouco sobre mudança de tecnologia, uma coisa muito comum na vida de qualquer &lt;strong&gt;Dev&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqiks6esu79w6hgp6ayq1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqiks6esu79w6hgp6ayq1.jpg" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2v74uoyl0ko7xe69gd7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2v74uoyl0ko7xe69gd7.png" alt="Alt Text" width="800" height="710"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Por exemplo, eu passei um tempo trabalhando com &lt;strong&gt;ABAP&lt;/strong&gt;, uma linguagem de programação destinada a comunidade &lt;em&gt;SAP&lt;/em&gt;, um pouco parecida com &lt;strong&gt;Cobol&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3r7505ub4041jokqo8kw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3r7505ub4041jokqo8kw.jpg" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Porém a minha primeira linguagem, foi o &lt;strong&gt;Python&lt;/strong&gt;, mesmo tendo pouco tempo de programação, eu como desenvolvedor me vi &lt;em&gt;obrigado&lt;/em&gt; a desenrolar e estudar a sintaxe das novas tecnologias para poder me inserir no mercado e começar um trabalho para pôr em prática conhecimentos teóricos vistos na academia e online.&lt;/p&gt;

&lt;p&gt;Passei por algumas empresas e enfrentei diversos desafios, o que me fez construir minha carreira até agora, e também me deu uma certa experiência e maturidade em algumas situações técnicas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvekw3pjrfx8270wlv9nf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvekw3pjrfx8270wlv9nf.png" alt="Alt Text" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Isso foi mudando, e hoje minha linguagem principal é o &lt;strong&gt;Javascript&lt;/strong&gt;. Muito embora eu tenha mudado de tecnologia, minha experiência em resolver problemas de negócios ou até mesmo de raciocínio lógico está sendo reaproveitada e &lt;em&gt;readaptada&lt;/em&gt;, o que faz com que a linguagem que eu escolhi seja apenas o que &lt;strong&gt;realmente deveria ser&lt;/strong&gt;, uma &lt;strong&gt;ferramenta&lt;/strong&gt; de trabalho.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mas como e por que essa escolha???
&lt;/h3&gt;

&lt;p&gt;Já que poderia ter acesso a qualquer outra tecnologia e/ou linguagem, pensei que, nas últimas experiências passei por vários projetos de diferentes tamanhos, então queria que tivesse algum novo desafio, alguma coisa que me fizesse sair da zona de conforto, mas não apenas isso, eu queria ter acesso a projetos ainda maiores, foi aí então que veio a ideia do &lt;em&gt;JavaScript&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Pelo fato de hoje em dia estar em constante evolução, principalmente pela quantidade de material e diversidade de bibliotecas e frameworks. E o mais divertido é o fato de sair da teoria e pôr tudo em prática.&lt;/p&gt;

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

&lt;p&gt;Hoje me encontro no processo de familiarização da nova tecnologia, tendo novas inspirações, novas maneiras de pensar e novas ferramentas, ainda existe muito o que aprender e se atualizar, principalmente quanto aos métodos e funções disponíveis, a comunidade é bem engajada. E principalmente, tendo novos colegas para trocar conhecimento a respeito disso.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>abap</category>
      <category>javascript</category>
      <category>python</category>
    </item>
    <item>
      <title>[pt-BR] Por que se tornar um blogger no Dev.to?</title>
      <dc:creator>Thomas Ribeiro</dc:creator>
      <pubDate>Thu, 25 Mar 2021 01:28:36 +0000</pubDate>
      <link>https://dev.to/thribeiro8/pt-br-por-que-se-tornar-um-blogger-no-dev-to-305d</link>
      <guid>https://dev.to/thribeiro8/pt-br-por-que-se-tornar-um-blogger-no-dev-to-305d</guid>
      <description>&lt;p&gt;Olá Devs, tudo beleza?!&lt;/p&gt;

&lt;p&gt;Espero que por aí esteja de boa, vim aqui pra me apresentar e falar com vocês sobre como é importante o compartilhamento do conhecimento.&lt;/p&gt;

&lt;p&gt;Então, meu nome é Thomas, mas conhecido como "Th" ou "Ribeiro" e atualmente eu sou gestor da informação e desenvolvedor de sistemas.&lt;/p&gt;

&lt;p&gt;Tenho uma paixão por dados e por aplicações web, por isso dou muita garra em tecnologias como &lt;strong&gt;Python&lt;/strong&gt; e &lt;strong&gt;JavaScript&lt;/strong&gt; e seus respectivos frameworks e bibliotecas. &lt;/p&gt;

&lt;p&gt;Eu &lt;em&gt;codo&lt;/em&gt; há pelo menos 2 anos, e tudo que eu sei, aprendi na internet mesmo, e tive ajuda na minha graduação também, com muita pesquisa e tutoriais.&lt;/p&gt;

&lt;p&gt;Escrever posts sobre minha jornada e estudos tem sido desde o começo, uma parte super importante do meu crescimento.&lt;/p&gt;

&lt;h2&gt;
  
  
  Motivo de escrever
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Escrever a respeito do que aprendo me ajuda a &lt;strong&gt;fixar o conhecimento&lt;/strong&gt;;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compartilhar com pessoas que talvez tenham tido alguma dificuldade em entender certos conceitos, que eu também já tenha passado;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conhecer novas pessoas, fazer &lt;strong&gt;networking&lt;/strong&gt; e novas amizades.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mostrar meu conhecimento, minha personalidade e o quanto sou apaixonado sobre pôr a mão no código;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Por que escolhi o Dev.to?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Primeiramente, por ser um grande apreciador do conteúdo do Dev.to.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Por conta da vontade de ver a comunidade brasileira imergir nesse canal. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftw6x3fipg9y848mnrpqx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftw6x3fipg9y848mnrpqx.png" alt="Alt Text" width="800" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;É notório que a grande maioria do conteúdo do canal é em Inglês. Porém, tudo não passa de dar o primeiro passo, o Dev.To oferece um bom espaço pra todo Desenvolvedor compartilhar suas ideias e trazer conhecimento à tona.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Escrever é uma grande oportunidade de ajudar outros &lt;em&gt;Dev's&lt;/em&gt; e curiosos em &lt;em&gt;Tech&lt;/em&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dev.to é um método para quem não quer manter blog próprio e é voltado 100% pra desenvolvedores, porém a interdisciplinaridade que ele oferece é muito boa.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Criar o próprio blog é o ideal para a maioria dos Dev's, mas nem todos, assim como eu, têm tempo de sobra para cuidar de um blog próprio, e creio que disponibilizando no Dev.To a abrangência do post pode ter um alcance melhor de ajudar a comunidade.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>braziliandevs</category>
      <category>writing</category>
    </item>
  </channel>
</rss>
