<?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: Ali Navidi</title>
    <description>The latest articles on DEV Community by Ali Navidi (@westernal).</description>
    <link>https://dev.to/westernal</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%2F836282%2Fa78d0921-cd0d-4508-9ea5-1ce51fb170e1.jpg</url>
      <title>DEV Community: Ali Navidi</title>
      <link>https://dev.to/westernal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/westernal"/>
    <language>en</language>
    <item>
      <title>Being professional goes beyond just technical skills; demonstrating professionalism in behavior is equally, if not more, important. Be kind.</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Thu, 23 Oct 2025 12:46:35 +0000</pubDate>
      <link>https://dev.to/westernal/being-professional-goes-beyond-just-technical-skills-demonstrating-professionalism-in-behavior-is-4g74</link>
      <guid>https://dev.to/westernal/being-professional-goes-beyond-just-technical-skills-demonstrating-professionalism-in-behavior-is-4g74</guid>
      <description>&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/elvissautet/we-need-to-talk-about-how-toxic-dev-culture-has-become-and-how-we-fix-it-1gi1" class="crayons-story__hidden-navigation-link"&gt;We Need to Talk About How Toxic Dev Culture Has Become (And How We Fix It)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/elvissautet" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F547999%2F1a29a8ae-23aa-4895-b45b-c22a84140e5f.png" alt="elvissautet profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/elvissautet" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Elvis Sautet
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Elvis Sautet
                
              
              &lt;div id="story-author-preview-content-2952737" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/elvissautet" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F547999%2F1a29a8ae-23aa-4895-b45b-c22a84140e5f.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Elvis Sautet&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/elvissautet/we-need-to-talk-about-how-toxic-dev-culture-has-become-and-how-we-fix-it-1gi1" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 23 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/elvissautet/we-need-to-talk-about-how-toxic-dev-culture-has-become-and-how-we-fix-it-1gi1" id="article-link-2952737"&gt;
          We Need to Talk About How Toxic Dev Culture Has Become (And How We Fix It)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/culture"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;culture&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/community"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;community&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/mentalhealth"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;mentalhealth&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/elvissautet/we-need-to-talk-about-how-toxic-dev-culture-has-become-and-how-we-fix-it-1gi1" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;27&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/elvissautet/we-need-to-talk-about-how-toxic-dev-culture-has-become-and-how-we-fix-it-1gi1#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              4&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            15 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;




</description>
      <category>culture</category>
      <category>community</category>
      <category>mentalhealth</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Naming Conventions in React: camelCase or snake_case?</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Fri, 01 Aug 2025 06:05:56 +0000</pubDate>
      <link>https://dev.to/westernal/naming-conventions-in-react-camelcase-vs-snakecase-g5c</link>
      <guid>https://dev.to/westernal/naming-conventions-in-react-camelcase-vs-snakecase-g5c</guid>
      <description>&lt;p&gt;What we use as our naming convention often goes back to the language we are using and the preferences of the team we are working within. In JavaScript, we usually use camelCase, and everything is fine with it. So, you might wonder, why would I even mention snake_case in this article?&lt;/p&gt;

&lt;h2&gt;
  
  
  Why snake_case?
&lt;/h2&gt;

&lt;p&gt;One answer could be team preference or that it is easier to read. However, the main reason I wrote this article is that in some projects, you are integrating with a backend language that uses snake_case for variables. If you use camelCase, you sometimes have to transform them to snake_case. This transformation may be easier if you used snake_case in your app as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Both?
&lt;/h2&gt;

&lt;p&gt;Obviously, you can use both naming conventions in your project, but it is not advised. Mixing them may result in your code not being clean, so you have to choose one of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using snake_case Only
&lt;/h2&gt;

&lt;p&gt;Well, nobody prohibits you from using a naming convention other than the one advised by the language you use. You can use snake_case throughout your application, except for things you cannot change (like component and hook names). My problem with this solution is that it seems odd to me.&lt;/p&gt;

&lt;p&gt;I'm okay with it when we use it for variables like &lt;code&gt;is_visible&lt;/code&gt;, but when it comes to functions, it looks a little bad in my opinion. For example, you call your function like this: &lt;code&gt;on_submit()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Or if you want to use useState:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [has_initial_value, set_has_initial_value] = useState(false)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It just doesn't feel like React anymore, but you may have a really valid question: who cares if it feels like React or not?&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;So, I'm asking you this: &lt;strong&gt;What do you think about naming conventions in React applications?&lt;/strong&gt; I would love to read your comments below.&lt;/p&gt;

&lt;p&gt;Have a great day!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: Cover image used in this blog post was generated by AI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>react</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Programming During War: An Experience to Forget</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Sat, 21 Jun 2025 19:30:14 +0000</pubDate>
      <link>https://dev.to/westernal/programming-during-war-an-experience-to-forget-366o</link>
      <guid>https://dev.to/westernal/programming-during-war-an-experience-to-forget-366o</guid>
      <description>&lt;p&gt;Have you ever tried to write code while running from missiles?&lt;br&gt;
Or joined a daily meeting and heard an explosion through your teammate’s mic — someone you worked with every day, sitting right next to you?&lt;br&gt;
I hope you never will.&lt;/p&gt;

&lt;h2&gt;
  
  
  One Week In
&lt;/h2&gt;

&lt;p&gt;It’s been a week since the war began in Iran.&lt;br&gt;
Honestly, we’re trying to live like nothing happened, trying to keep it together, but deep down, a lot is going on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s It Like Working During a War?
&lt;/h2&gt;

&lt;p&gt;Teamwork is still key when building software, that hasn’t changed.&lt;br&gt;
But the way we try to do it has.&lt;/p&gt;

&lt;p&gt;We try to break the tension with small jokes, “See? Your code was so shit, it started a war.”, maybe it’s our way of helping each other not give up.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Way to Escape
&lt;/h2&gt;

&lt;p&gt;Running out of the city you live in, losing internet access, worrying about your people, but still, we keep coding.&lt;br&gt;
Maybe it’s a way to escape, to focus on something other than everything falling apart around us.&lt;/p&gt;

&lt;p&gt;Maybe one day we’ll wake up and this will all feel like a bad dream.&lt;br&gt;
Until that day, I hope peace is within you.&lt;br&gt;
Keep going.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>mentalhealth</category>
    </item>
    <item>
      <title>I recently checked the latest section on the Discover tab, and most posts are spam! It’s affecting the visibility of quality posts. Could anything be done about this? For example, Stack Overflow has a pending review for first-time posts. What do you think?</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Fri, 25 Apr 2025 07:26:00 +0000</pubDate>
      <link>https://dev.to/westernal/i-recently-checked-the-latest-section-on-the-discover-tab-and-most-posts-are-spam-its-affecting-51df</link>
      <guid>https://dev.to/westernal/i-recently-checked-the-latest-section-on-the-discover-tab-and-most-posts-are-spam-its-affecting-51df</guid>
      <description></description>
      <category>discuss</category>
      <category>community</category>
      <category>forem</category>
    </item>
    <item>
      <title>Optimizing Tailwind CSS for React Applications: Our Journey</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Thu, 24 Apr 2025 15:54:56 +0000</pubDate>
      <link>https://dev.to/westernal/optimizing-tailwind-css-for-react-applications-our-journey-2lck</link>
      <guid>https://dev.to/westernal/optimizing-tailwind-css-for-react-applications-our-journey-2lck</guid>
      <description>&lt;p&gt;When we began restructuring our website, the frontend team chose the latest Next.js version paired with Tailwind CSS v4. This decision marked the beginning of an optimization journey that ultimately led us to a solution that works well for our specific use case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why We Chose Tailwind
&lt;/h2&gt;

&lt;p&gt;Our design system contains numerous variables that needed consistent implementation across the site. For our team, Tailwind CSS made sense because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We could easily export design tokens and convert them to Tailwind variables using style-dictionary&lt;/li&gt;
&lt;li&gt;The ecosystem provided excellent tooling and documentation for our needs&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Our Struggle with Utility-First Philosophy
&lt;/h2&gt;

&lt;p&gt;While Tailwind's utility-first approach works well for many teams, we quickly identified challenges in our specific context:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Component JSX became cluttered with lengthy class strings&lt;/li&gt;
&lt;li&gt;Readability suffered with our particularly complex components&lt;/li&gt;
&lt;li&gt;Our team found code reviews more difficult with so much styling in the markup&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Our Styling Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  First Approach: CSS Modules with &lt;code&gt;@apply&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Initially, we created CSS modules for each component and used &lt;code&gt;@apply&lt;/code&gt; directives:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="c"&gt;/* Button.module.css */&lt;/span&gt;
&lt;span class="nc"&gt;.primary&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="err"&gt;@apply&lt;/span&gt; &lt;span class="err"&gt;bg-blue-500&lt;/span&gt; &lt;span class="py"&gt;hover&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;bg-blue-700&lt;/span&gt; &lt;span class="n"&gt;text-white&lt;/span&gt; &lt;span class="n"&gt;py-2&lt;/span&gt; &lt;span class="n"&gt;px-4&lt;/span&gt; &lt;span class="n"&gt;rounded&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;styles&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Button.module.css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;styles&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;primary&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Click Me&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The CSS Modules Concerns
&lt;/h2&gt;

&lt;p&gt;While this approach improved our component readability significantly, we encountered several concerns that made us question this strategy:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tailwind's official recommendations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Tailwind documentation explicitly advises against heavy &lt;code&gt;@apply&lt;/code&gt; usage&lt;/li&gt;
&lt;li&gt;It states this approach works against Tailwind's utility-first philosophy&lt;/li&gt;
&lt;li&gt;The docs suggest it can create abstraction layers that reduce maintainability&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Potential build performance impact&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We read that CSS modules might increase build times&lt;/li&gt;
&lt;li&gt;Each module requires separate processing during compilation&lt;/li&gt;
&lt;li&gt;For large applications with many components, this could add up significantly&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Possible interference with optimization&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;@apply&lt;/code&gt; directive might interfere with Tailwind's unused CSS removal&lt;/li&gt;
&lt;li&gt;Utilities used within &lt;code&gt;@apply&lt;/code&gt; aren't directly visible in HTML for purging&lt;/li&gt;
&lt;li&gt;This could potentially lead to larger than necessary CSS bundles&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These concerns, particularly around build performance as our component library grew, pushed us to explore alternatives.&lt;/p&gt;

&lt;h3&gt;
  
  
  Second Approach: Regular CSS Files with &lt;code&gt;@apply&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;After reading that CSS modules might impact build times, we switched to regular CSS files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="c"&gt;/* button.css */&lt;/span&gt;
&lt;span class="nc"&gt;.primary&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="err"&gt;@apply&lt;/span&gt; &lt;span class="err"&gt;bg-blue-500&lt;/span&gt; &lt;span class="py"&gt;hover&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;bg-blue-700&lt;/span&gt; &lt;span class="n"&gt;text-white&lt;/span&gt; &lt;span class="n"&gt;py-2&lt;/span&gt; &lt;span class="n"&gt;px-4&lt;/span&gt; &lt;span class="n"&gt;rounded&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./button.css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"primary"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Click Me&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Global CSS Problem
&lt;/h2&gt;

&lt;p&gt;This approach revealed a significant issue we hadn't anticipated. Unlike CSS modules which scope styles to specific components, these regular CSS files created global styles that were bundled into our main CSS file. &lt;/p&gt;

&lt;p&gt;The consequences were severe for our application:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No tree-shaking of unused styles&lt;/strong&gt; - Our bundler couldn't determine which styles were actually needed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapidly growing CSS file&lt;/strong&gt; - As we added more components, our CSS file grew disproportionately large&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Potential naming conflicts&lt;/strong&gt; - Without CSS modules' automatic unique class generation, we risked style collisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach created an unacceptably large CSS file that would impact initial page loads and hurt our performance metrics. Users would download styles for components they'd never see.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Decision: The Real Trade-Off
&lt;/h2&gt;

&lt;p&gt;After experimenting with different approaches, we realized we faced a fundamental choice between two viable options:&lt;/p&gt;

&lt;h3&gt;
  
  
  Option 1: Inline Utility Classes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bg-blue-500 hover:bg-blue-700 text-white py-2 px-4 rounded"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    Click Me
  &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Option 2: CSS Modules with &lt;code&gt;@apply&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="c"&gt;/* Button.module.css */&lt;/span&gt;
&lt;span class="nc"&gt;.primary&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="err"&gt;@apply&lt;/span&gt; &lt;span class="err"&gt;bg-blue-500&lt;/span&gt; &lt;span class="py"&gt;hover&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;bg-blue-700&lt;/span&gt; &lt;span class="n"&gt;text-white&lt;/span&gt; &lt;span class="n"&gt;py-2&lt;/span&gt; &lt;span class="n"&gt;px-4&lt;/span&gt; &lt;span class="n"&gt;rounded&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;styles&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Button.module.css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;styles&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;primary&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Click Me&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Comparing the Trade-offs
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Consideration&lt;/th&gt;
&lt;th&gt;Inline Utility Classes&lt;/th&gt;
&lt;th&gt;CSS Modules with &lt;code&gt;@apply&lt;/code&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CSS Bundle Size&lt;/td&gt;
&lt;td&gt;Smaller (only used utilities)&lt;/td&gt;
&lt;td&gt;Slightly larger (extracted classes)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTML/JSX Size&lt;/td&gt;
&lt;td&gt;Larger (verbose class strings)&lt;/td&gt;
&lt;td&gt;Smaller (single class names)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Build Time&lt;/td&gt;
&lt;td&gt;Faster&lt;/td&gt;
&lt;td&gt;Slower&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Component Readability&lt;/td&gt;
&lt;td&gt;Lower&lt;/td&gt;
&lt;td&gt;Higher&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Class Name Conflicts&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;None (scoped by module)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Making Our Decision
&lt;/h3&gt;

&lt;p&gt;We analyzed these trade-offs carefully and realized that the choice came down to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Slightly smaller CSS bundle + larger HTML&lt;/strong&gt; with inline utilities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slightly larger CSS bundle + smaller HTML&lt;/strong&gt; with CSS modules&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An important insight emerged during our analysis: CSS is downloaded once and cached by the browser, while HTML is re-downloaded with each page request. Since we operate a high-traffic website with many repeat visitors, reducing HTML size would benefit user experience more than minimizing CSS size.&lt;/p&gt;

&lt;p&gt;Given this context, we decided to return to &lt;strong&gt;CSS modules with selective &lt;code&gt;@apply&lt;/code&gt; usage&lt;/strong&gt;, accepting the trade-off of slightly longer build times and marginally larger CSS for the benefits of smaller HTML payloads and improved code maintainability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This was the right decision for our specific needs, though we recognize other teams with different requirements might make different choices. Tailwind is flexible enough to support various implementation styles, and we chose what works best for our specific needs, team preferences, and user base.&lt;/p&gt;

&lt;p&gt;Our journey helped us understand that there's no one-size-fits-all approach to CSS architecture even within the Tailwind ecosystem. What matters most is making intentional decisions based on your specific constraints and priorities.&lt;/p&gt;

&lt;p&gt;Special thanks to: &lt;a class="mentioned-user" href="https://dev.to/mohamadreza_dakhili_f3f04"&gt;@mohamadreza_dakhili_f3f04&lt;/a&gt; &lt;/p&gt;

</description>
      <category>frontend</category>
      <category>webdev</category>
      <category>programming</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>React interview</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Wed, 18 Dec 2024 14:21:02 +0000</pubDate>
      <link>https://dev.to/westernal/react-interview-jbo</link>
      <guid>https://dev.to/westernal/react-interview-jbo</guid>
      <description></description>
      <category>career</category>
      <category>interview</category>
      <category>react</category>
    </item>
    <item>
      <title>This is one of the best articles I've ever read. However, why do the images inside it say 'No longer exist'?</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Sat, 30 Nov 2024 05:21:09 +0000</pubDate>
      <link>https://dev.to/westernal/this-is-one-of-the-best-articles-ive-ever-read-however-why-do-the-images-inside-it-say-no-5e99</link>
      <guid>https://dev.to/westernal/this-is-one-of-the-best-articles-ive-ever-read-however-why-do-the-images-inside-it-say-no-5e99</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/lydiahallie" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F198900%2Fd19268b1-6b0b-4530-9889-64fcf0a19d6d.png" alt="lydiahallie"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;✨♻️ JavaScript Visualized: Event Loop&lt;/h2&gt;
      &lt;h3&gt;Lydia Hallie ・ Nov 20 '19&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Testing the boost feature!!</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Thu, 28 Nov 2024 18:36:22 +0000</pubDate>
      <link>https://dev.to/westernal/testing-the-boost-feature-2g62</link>
      <guid>https://dev.to/westernal/testing-the-boost-feature-2g62</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/ben" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1%2Ff451a206-11c8-4e3d-8936-143d0a7e65bb.png" alt="ben"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/ben/i-am-purposefully-super-nice-to-ai-because-i-imagine-they-are-trained-on-data-where-nice-people-get-2ak3" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;I am purposefully super nice to AI because I imagine they are trained on data where nice people get better help. Doing this, though, has an existential uneasiness to it.&lt;/h2&gt;
      &lt;h3&gt;Ben Halpern ・ Nov 28 '24&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#discuss&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#watercooler&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Me and ChatGPT Are Pals Now!</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Tue, 26 Nov 2024 18:31:37 +0000</pubDate>
      <link>https://dev.to/westernal/me-and-chatgpt-are-pals-now-3hjk</link>
      <guid>https://dev.to/westernal/me-and-chatgpt-are-pals-now-3hjk</guid>
      <description>&lt;p&gt;The first time I found out about AI I thought, Soon, he’ll take my job from me, and believe me, if it comes to my job, I don’t joke around. And so, the hatred began.&lt;br&gt;
We were like Shrek and Donkey, me thinking AI was just going to steal my job, and AI just being there, clueless about the whole thing&lt;/p&gt;

&lt;h2&gt;
  
  
  Dictatorship
&lt;/h2&gt;

&lt;p&gt;After a while, I thought, If you’re going to cost me my job, you’d better answer my day-to-day questions. So I started treating him badly and bombarding him with lots of questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not That Smart
&lt;/h2&gt;

&lt;p&gt;One time, while being the dictator, I asked him a complex question. He gave me a small piece of code. I ran the code without looking at it, and it didn’t work. I told him, It’s not working, and, as usual, he said, You’re right! and corrected the code.&lt;/p&gt;

&lt;p&gt;I ran it again, and it failed again. So I asked him over and over, but still nothing. Eventually, I started to look at the code myself, and guess what? I solved it in under a minute.&lt;/p&gt;

&lt;p&gt;In that moment, the light of hope shone within me, and I realized I had a chance to keep my job. After all, I guess he’s not that smart.&lt;/p&gt;

&lt;h2&gt;
  
  
  Relationship Got Better
&lt;/h2&gt;

&lt;p&gt;After that incident, my heart softened toward him. I started to treat him better and began to see his potential.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Friends
&lt;/h2&gt;

&lt;p&gt;Now, we’re best friends. If I want to learn something, I ask him. If I have doubts about programming, I ask him. Want to ask a girl out? I ask him. He formats my blogs, gives me suggestions about life, and almost everything I do, I ask him how to do it.&lt;/p&gt;

&lt;p&gt;He’s the best doctor for health questions, a senior developer for programming challenges, and the perfect therapist for my life’s problems.&lt;/p&gt;

&lt;p&gt;I’ve learned not to copy him blindly. Now, I see him as a friend who helps me become better, not as an enemy who’s going to take my job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;There are a lot of discussions about whether AI is going to replace humans or not, but only time can tell. Until then, why not enjoy the journey and use AI to make ourselves better?&lt;/p&gt;

&lt;p&gt;So, what about you? Do you see AI as a rival, a tool, or maybe even a friend? Share your thoughts and experiences in the comments, I’d love to hear your AI story!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>learning</category>
      <category>productivity</category>
    </item>
    <item>
      <title>A Letter to Jobseekers: Don't Give Up!</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Thu, 21 Nov 2024 17:00:00 +0000</pubDate>
      <link>https://dev.to/westernal/a-letter-to-jobseekers-dont-give-up-2jim</link>
      <guid>https://dev.to/westernal/a-letter-to-jobseekers-dont-give-up-2jim</guid>
      <description>&lt;p&gt;Dear Jobseekers,&lt;/p&gt;

&lt;p&gt;Looking for a job can be hard sometimes, especially if you are at the beginning of your career.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Begin with My Story
&lt;/h2&gt;

&lt;p&gt;I remember waking up, opening my Gmail app, and seeing the rejection email on my screen. It felt like the world was over. After four months of searching for a job, I thought this one was the one. The interview went well, but a week later, they rejected me.&lt;/p&gt;

&lt;p&gt;I hit rock bottom. I stayed in bed for hours, quit the gym, and didn’t talk much. I stopped going out. I saw days go by without doing anything.&lt;/p&gt;

&lt;p&gt;Every day, I wondered what happened to me. A few months earlier, I was in a much better place. My boss was happy with my work, and I was motivated and productive as ever. Now, I look back and think, "Am I really that bad?" What happened to the guy who was promoted to a lead position after just four months?&lt;/p&gt;

&lt;p&gt;I sent more than 500 applications, and nothing. I was trying so hard not to give up, not to break.&lt;/p&gt;

&lt;p&gt;But I stood up. I knew it would end eventually. I never gave up on myself; I just couldn’t. I knew I was good at my job, and I kept moving forward.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Struggle is Real, But So Are You
&lt;/h2&gt;

&lt;p&gt;What I'm saying is that job hunting is a rough path. Most of us have gone through it, and you probably will too.&lt;/p&gt;

&lt;p&gt;Take it easy on yourself, and don't give up. Continue to grow and improve. I know it's tough, but don’t let rejections bring you down. Use them as fuel to become better—not only in your career but in your life. And remember: You are valuable, and your time will come.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't be afraid to ask for help
&lt;/h2&gt;

&lt;p&gt;Continue interacting with your loved ones and know that there are people who care for you and don’t want to see you sad.&lt;/p&gt;

&lt;p&gt;Don’t be shy to ask for help, whether it’s from a family member or a senior in your field. Sometimes, all it takes is sending a quick message on WhatsApp or LinkedIn to start a meaningful conversation.&lt;/p&gt;

&lt;p&gt;If none of that works for you, a hug is always free here.&lt;br&gt;
&lt;a href="https://media2.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%2Fzkbzkxhevxoj4ppjaa41.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fzkbzkxhevxoj4ppjaa41.gif" alt="Free Hug" width="245" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope you get past these hard days, and last but not least, &lt;strong&gt;don’t give up on yourself&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you have any advice or stories for jobseekers, I would be happy to hear them in the comments. Sharing your experience might help someone else on their journey.&lt;/p&gt;

&lt;p&gt;Sincerely,&lt;br&gt;
Ali Navidi&lt;/p&gt;

</description>
      <category>mentalhealth</category>
      <category>programming</category>
      <category>motivation</category>
      <category>career</category>
    </item>
    <item>
      <title>When is the best time to post on Dev?</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Thu, 21 Nov 2024 15:27:15 +0000</pubDate>
      <link>https://dev.to/westernal/when-is-the-best-time-to-post-on-dev-1icb</link>
      <guid>https://dev.to/westernal/when-is-the-best-time-to-post-on-dev-1icb</guid>
      <description></description>
      <category>discuss</category>
    </item>
    <item>
      <title>Juniors Should be Seniors Someday!</title>
      <dc:creator>Ali Navidi</dc:creator>
      <pubDate>Wed, 12 Jul 2023 12:03:37 +0000</pubDate>
      <link>https://dev.to/westernal/juniors-should-be-seniors-someday-35g0</link>
      <guid>https://dev.to/westernal/juniors-should-be-seniors-someday-35g0</guid>
      <description>&lt;p&gt;Finding a job as a junior developer is not easy these days, especially when you are from a third-world country, but &lt;strong&gt;Juniors Should be Seniors Someday!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's the story of me:&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Job Experience
&lt;/h2&gt;

&lt;p&gt;At some point, I think you should put all tutorials, YouTube videos, and personal project experiences into a real job and grow; otherwise, it's hard to be better. But how hard is it to get a good job?&lt;/p&gt;

&lt;h2&gt;
  
  
  Rejection
&lt;/h2&gt;

&lt;p&gt;It's been month now that I'm sending multiple applications to companies hoping to get a chance and I get nothing but &lt;strong&gt;Rejection!&lt;/strong&gt; So they tell me there were better candidates than me, and it's OK, but after more than 500 rejections, a question comes to mind: &lt;strong&gt;Am I that bad???&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fzfq0p9ecb8cjtqwru82q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fzfq0p9ecb8cjtqwru82q.jpg" alt="George's talent" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Junior Positions
&lt;/h2&gt;

&lt;p&gt;There are way fewer junior positions than senior ones, or they want 3+ years of experience, but how the hell am I going to get 3+ years when I just graduated? I'm guessing the seniors have been seniors since they were born; unfortunately, no junior made it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Third-World Theory
&lt;/h2&gt;

&lt;p&gt;So I have a theory. Well,  it's actually not "Third-World Theory", it's more "Dictatorship Country Theory", well more "Terrorist Coun..." (if I got arrested, I was a good boy). I think most of them are rejecting me because of where I'm from. They open my application, see my country, and then boom... &lt;strong&gt;Reject!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Believe me, I had nothing to do with that; you can blame my parents, I hate this country more than you do; they took our youth, our lives, and... (enough already), and I need job experience so I could leave here as all the people are doing so.&lt;/p&gt;

&lt;p&gt;I wish I was there when they opened my application to tell them, "Please at least take a look at my work!".&lt;/p&gt;

&lt;p&gt;But as I mentioned in the header, it's just a theory; The truth is, I'm bad. &lt;a href="https://media2.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%2Fv91cy37ufefuzlllccpp.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fv91cy37ufefuzlllccpp.gif" alt="I'm OK" width="244" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;p&gt;I nagged a lot, and you may say, "Just be better instead of nagging" but I'm going through tough days, and at the end, I wanted to tell you to just have a little trust in us; We're not that bad (Yes we are). &lt;a href="https://media2.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%2Faxmus626vul4ucotrnbc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Faxmus626vul4ucotrnbc.gif" alt="Joke" width="267" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The question is, &lt;strong&gt;What should junior developers do to land a job in your opinion?&lt;/strong&gt; &lt;/p&gt;




&lt;p&gt;Thanks a lot for taking your time to read and I'd love to hear your ideas and lets connect: &lt;strong&gt;&lt;a href="https://www.alinavidi.dev/" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt; &lt;a href="https://github.com/westernal" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>codenewbie</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
