<?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: Olaf Ranai { dev-it-out }</title>
    <description>The latest articles on DEV Community by Olaf Ranai { dev-it-out } (@olaf_ranai).</description>
    <link>https://dev.to/olaf_ranai</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%2F837198%2F0e0afef6-7c10-485a-8a0c-96dcbd1751fc.jpeg</url>
      <title>DEV Community: Olaf Ranai { dev-it-out }</title>
      <link>https://dev.to/olaf_ranai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/olaf_ranai"/>
    <language>en</language>
    <item>
      <title>5 Tips for Junior Node Js Developers</title>
      <dc:creator>Olaf Ranai { dev-it-out }</dc:creator>
      <pubDate>Wed, 08 May 2024 22:53:37 +0000</pubDate>
      <link>https://dev.to/olaf_ranai/5-tips-for-junior-node-js-developers-4mc2</link>
      <guid>https://dev.to/olaf_ranai/5-tips-for-junior-node-js-developers-4mc2</guid>
      <description>&lt;h2&gt;
  
  
  1. Join communities and ask questions 🌐
&lt;/h2&gt;

&lt;p&gt;While online developer communities may sometimes exhibit toxic behavior, great people who are willing to help still exist. Learning by discussing with others is a great way to stay updated.&lt;br&gt;
Hints:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎮 Discord communities&lt;/li&gt;
&lt;li&gt;🤝 meetups and conferences&lt;/li&gt;
&lt;li&gt;📱 social networks&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  2. Practice your algorithms 🧠
&lt;/h2&gt;

&lt;p&gt;Regularly practicing algorithms is essential for improving your problem-solving abilities. Engage in algorithmic challenges on platforms like LeetCode, HackerRank, or CodeSignal to enhance your skills and become more comfortable tackling complex problems.&lt;/p&gt;
&lt;h2&gt;
  
  
  3. Securize your backend 🔒
&lt;/h2&gt;

&lt;p&gt;I recently heard a lot of "My discord API has been token grabbed". Those sort of stuffs are due to guys that do not spend time to put in place the basic security measures.&lt;br&gt;
Some tips:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💼 use environment variables instead of committing your TOKEN into Git platforms (pleaseeeee )&lt;/li&gt;
&lt;li&gt;⏳ add rate limits to the API&lt;/li&gt;
&lt;li&gt;🛡️ prevent SQL Injection&lt;/li&gt;
&lt;li&gt;🔐 protect your API routes&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  4. Test your codes 🛠️
&lt;/h2&gt;

&lt;p&gt;Testing is crucial for ensuring the reliability and correctness of your backend code. Learn about different types of testing such as unit testing, integration testing, and end-to-end testing. Use testing frameworks like Mocha, Chai, or Jest to write and automate tests for your Node.js applications. By writing tests, you can catch bugs early, improve code quality, and build confidence in your codebase.&lt;/p&gt;

&lt;p&gt;Below is an example of a test using Jest:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;it('should return true for valid email addresses', () =&amp;gt; {
        const validEmails = [
            'test@example.com',
            'user123@gmail.com',
            'john.doe@company.co'
        ];

        validEmails.forEach(email =&amp;gt; {
            expect(isValidEmail(email)).to.be.true;
        });
    });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. Learn debugging techniques 🐞
&lt;/h2&gt;

&lt;p&gt;A lot of bugs when we are starting a programming project may be quickly solved just by having a basic debugging techniques.&lt;/p&gt;

&lt;p&gt;Familiarize yourself with debugging techniques specific to Node.js, such as using the built-in debugger, &lt;code&gt;console.log&lt;/code&gt; statements, and logging libraries like Winston ( &lt;a href="https://github.com/winstonjs/winston"&gt;https://github.com/winstonjs/winston&lt;/a&gt; ) or Bunyan. Understanding how to set breakpoints, inspect variables, and trace the flow of execution will help you diagnose and resolve issues more efficiently.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;The list above is of course far from being exhaustive.&lt;br&gt;
What about you ? Any tips that you would recommend for our Node Js Dev friends ? :)&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%2F9oyz6t7or34sy85e8znz.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%2F9oyz6t7or34sy85e8znz.png" alt="Image description" width="542" height="546"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Wanna have some chat with me ? &lt;br&gt;
🗓️ &lt;a href="https://calendly.com/nji-olaf/meeting-time"&gt;Let's schedule a meeting here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wanna find a small community to chill and learn with ? Join us at Dev It Out Studio :) &lt;br&gt;
🎮 &lt;a href="https://discord.gg/YwfRE8PFGp"&gt;Dev It Out Studio Discord&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;P.S: Wanna support me ? &lt;a href="https://ko-fi.com/dev_it_out"&gt;https://ko-fi.com/dev_it_out&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Building a simple invoice generator with Node Js</title>
      <dc:creator>Olaf Ranai { dev-it-out }</dc:creator>
      <pubDate>Mon, 16 May 2022 01:05:51 +0000</pubDate>
      <link>https://dev.to/olaf_ranai/building-a-simple-invoice-generator-with-node-js-lah</link>
      <guid>https://dev.to/olaf_ranai/building-a-simple-invoice-generator-with-node-js-lah</guid>
      <description>&lt;h2&gt;
  
  
  Why ❓🤔
&lt;/h2&gt;

&lt;p&gt;After each online coaching sessions, at the beginning, that was a pain to find a good invoice generator platform as I was not yet ready for a 20€ monthly subscription just for handling the invoice part.&lt;/p&gt;

&lt;p&gt;None was enough flexible for my own use 🙄 so.. I decided to build my own mini-invoice generator with Node Js ✅  ( that took approx 1h max ⌛️ )&lt;/p&gt;

&lt;p&gt;No more talk..Straight to the point 💪🏼&lt;/p&gt;

&lt;h2&gt;
  
  
  The main parts ⚙️:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Storing clients in Json :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yep that one is simple..for now x)&lt;/p&gt;

&lt;p&gt;(Note: these are fictional characters of course 😝 )&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%2F0gnyioxr8sy7ejpc6vpc.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%2F0gnyioxr8sy7ejpc6vpc.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Creating the route:&lt;/strong&gt;&lt;br&gt;
Using express router, just create a POST /invoice route.&lt;br&gt;
&lt;code&gt;const router = express.Router();&lt;br&gt;
router.post('/', handleCreateInvoice);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then add the Joi Schema. Why ? It allows to define schema and validate the schema before calling the controller/handler of invoice creation.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://joi.dev/" rel="noopener noreferrer"&gt;https://joi.dev/&lt;/a&gt;&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%2Fxk2v6ozy0re90kopt37w.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%2Fxk2v6ozy0re90kopt37w.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Handling the invoice creation:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used the module pdf-kit to generate the pdf to be sent to the client.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/pdfkit" rel="noopener noreferrer"&gt;pdf-kit&lt;/a&gt;&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%2Fp2ljzpqc4ez1ahvufozd.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%2Fp2ljzpqc4ez1ahvufozd.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Email sending:&lt;/strong&gt;&lt;br&gt;
A small function using &lt;code&gt;gmail-send&lt;/code&gt; npm module which accepts html as an input &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%2Fsc5u2yfjk3c842t9s8zg.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%2Fsc5u2yfjk3c842t9s8zg.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Yep..so what about the result ?
&lt;/h2&gt;

&lt;p&gt;A snapshot of my first trials ^^  ( yep that email should be more personnalized and better structure 😊 )&lt;/p&gt;

&lt;p&gt;Insomnia POST Call&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%2Fsz2uh52175rtsk419eav.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%2Fsz2uh52175rtsk419eav.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Final result 😁&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%2Fsshpxoh9v56ff0dlnfox.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%2Fsshpxoh9v56ff0dlnfox.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;The pdf:&lt;/u&gt;&lt;/strong&gt;&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%2Fc28gnrayf3qcn4awmst2.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%2Fc28gnrayf3qcn4awmst2.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Next steps:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Front-end ( React 🤔 ) &lt;/li&gt;
&lt;li&gt;Database 💿&lt;/li&gt;
&lt;li&gt;make it online x)&lt;/li&gt;
&lt;li&gt;Iterate 👀&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  And you 💪🏼?
&lt;/h2&gt;

&lt;p&gt;Tell us in the comments which mini-project you built 👀😊&lt;/p&gt;

&lt;h2&gt;
  
  
  Wanna support me ?
&lt;/h2&gt;

&lt;p&gt;I am blogging during my free time ^^ like most people on this platform 😊 however I'm not against a small coffee if you want to support me 💪🏼 Link below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ko-fi.com/dev_it_out" rel="noopener noreferrer"&gt;https://ko-fi.com/dev_it_out&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;P.S: I added the sample on Github ( &lt;a href="https://github.com/njivaolafpro/invoice-management-sample" rel="noopener noreferrer"&gt;https://github.com/njivaolafpro/invoice-management-sample&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>invoice</category>
      <category>node</category>
    </item>
    <item>
      <title>Stuff I wish I'd known ( before those 4 years of programming ) - part I</title>
      <dc:creator>Olaf Ranai { dev-it-out }</dc:creator>
      <pubDate>Sun, 27 Mar 2022 14:49:50 +0000</pubDate>
      <link>https://dev.to/olaf_ranai/stuff-my-younger-self-should-have-known-before-those-4-years-of-programming-part-i-4b6c</link>
      <guid>https://dev.to/olaf_ranai/stuff-my-younger-self-should-have-known-before-those-4-years-of-programming-part-i-4b6c</guid>
      <description>&lt;p&gt;Hello world 😊&lt;br&gt;
After 4 years of building and maintaining software products,  I decided to share a list of stuffs I would like to have known at the time I started programming ^^ &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%2Fahuz6d3ampni1bkmb0et.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%2Fahuz6d3ampni1bkmb0et.jpg" alt="Image description" width="300" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Working on a new project / feature / technology ? Start with the WHY.. not the HOW
&lt;/h2&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%2Fw30f0crkrbmxpl71x4nz.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%2Fw30f0crkrbmxpl71x4nz.jpg" alt="Image description" width="276" height="182"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the beginning I was 1000% motivated to try so many stuff 🔥 ( I am still though 😝 ), but was too focused on the &lt;strong&gt;HOW&lt;/strong&gt; part..&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;How can I use Angular to develop that website ?&lt;/em&gt;&lt;br&gt;
&lt;em&gt;How can I implement that feature ?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Doing so made me only feel like a robot whose mission is to "deliver".&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;But bruh🤨, delivery is the only goal -&amp;gt; that's how I get my salary at the end of the month&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I know 😩 but wait😏&lt;br&gt;
would going like that be fun in long-term 🤔 ? &lt;/p&gt;

&lt;p&gt;So what if I instead put myself in the POV of the client. Starting with "&lt;strong&gt;Why&lt;/strong&gt; do we need that feature?"&lt;br&gt;
That may trigger a new conversation/debate like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Client&lt;/strong&gt;: we need that in order to have more visibility on our products&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Dev&lt;/strong&gt;: Hm ok I get it, that feature will take 2 weeks to dev. Also what about adding an email marketing + notifications ?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Client&lt;/strong&gt;: sounds cool ;) let's brainstorm that during our next planning&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2. Everyone can mentor 👨🏻‍🏫
&lt;/h2&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%2Fb4574cv9w902vtwmnbev.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%2Fb4574cv9w902vtwmnbev.jpg" alt="Image description" width="300" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mentoring is not about only sharing knowledge to the other, but I also learned a lot in the process. &lt;/p&gt;

&lt;p&gt;That helps the team to have common ground process and participates in a better team &lt;strong&gt;cohesion&lt;/strong&gt;. &lt;br&gt;
That has contributed to break my &lt;strong&gt;shyness&lt;/strong&gt; too 💁🏽‍♂️&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Stop losing code 🙅🏼‍♂️
&lt;/h2&gt;

&lt;p&gt;Yep -&amp;gt; several times during my seasons at the university, I "&lt;strong&gt;lost&lt;/strong&gt;" codes due to a folder deleted or a saved file without history ( so not able to recover old versions ).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Hoya..what if you could go back on time ?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I would have included &lt;strong&gt;Git&lt;/strong&gt; in my main tools. &lt;br&gt;
It allows us to commit / push my codes into the "cloud" and keep track of my changes ( no more code lost 💪🏼 )&lt;/p&gt;

&lt;p&gt;Git is my everyday bae ❤️..Git may be your bae too&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%2Fv9wg4qf3yi9jltz96pgr.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%2Fv9wg4qf3yi9jltz96pgr.png" alt="Image description" width="588" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. 👀  More emphasis on tests
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Old process&lt;/u&gt;&lt;/strong&gt;: I develop a feature to add items to cart in an e-commerce website.&lt;br&gt;
Let's deploy my changes to the preprod environment.&lt;br&gt;
Waiting for the QA to test...👀&lt;/p&gt;

&lt;p&gt;⌛️ Two days later:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;QA team : ⚠️⚠️⚠️⚠️⚠️ Mayday mayday 🚨 the app has crashed&lt;br&gt;
Me: sorry 😐 we were counting on you to test all possibilities in that new functionalities :( we're gonna fix and deploy for you to test&lt;br&gt;
QA team : are you for real ? 🙄&lt;/p&gt;
&lt;/blockquote&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%2Fign86drdn1bip69jqh3n.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%2Fign86drdn1bip69jqh3n.jpg" alt="Image description" width="192" height="146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Next-gen process&lt;/u&gt;&lt;/strong&gt;: Write tests ^^&lt;br&gt;
Let us not depend on a QA team to test all our code..we are not only developper but first of all -&amp;gt; &lt;strong&gt;OWNERS&lt;/strong&gt; of the project. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Indeed💭 but what is the solution ?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I would like to have known the importance of &lt;strong&gt;tests&lt;/strong&gt; at the beginning to avoid wasting time testing manually each features.&lt;/p&gt;

&lt;p&gt;Check out that interesting article on Unit Tests: &lt;a href="https://dev.to/codingpizza/what-is-a-unit-test-1e1m"&gt;https://dev.to/codingpizza/what-is-a-unit-test-1e1m&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A small snapshot showing green tests ( using Jest ) here before committing my code 😍&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%2F5hyznscvarn1jrrhgy0d.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%2F5hyznscvarn1jrrhgy0d.png" alt="Image description" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  ℹ️ Conclusion
&lt;/h1&gt;

&lt;p&gt;we are all learning, I missed a lot of stuff but doing errors is just a part of the process ;) &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%2Fso92ianx5nfxeu23vcfy.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%2Fso92ianx5nfxeu23vcfy.jpg" alt="Image description" width="450" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What would you want your younger self to have known several years ago ?&lt;/p&gt;

&lt;p&gt;Peace ✌🏼 and stay tuned for the part 2 😃&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>productivity</category>
      <category>career</category>
    </item>
  </channel>
</rss>
