<?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: pratikshya behera</title>
    <description>The latest articles on DEV Community by pratikshya behera (@pratikshya_behera_).</description>
    <link>https://dev.to/pratikshya_behera_</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%2F3022819%2F1ee7e737-00fa-4024-9ed6-5cd3514857a0.png</url>
      <title>DEV Community: pratikshya behera</title>
      <link>https://dev.to/pratikshya_behera_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pratikshya_behera_"/>
    <language>en</language>
    <item>
      <title>Find Documentation boring? Here's how it saved me from a loop of rework:</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Thu, 18 Sep 2025 12:35:13 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/find-documentation-boring-heres-how-it-saved-me-from-a-loop-of-rework-2967</link>
      <guid>https://dev.to/pratikshya_behera_/find-documentation-boring-heres-how-it-saved-me-from-a-loop-of-rework-2967</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/pratikshya_behera_/from-chaos-to-clarity-lessons-learnt-on-the-importance-of-documentation-5gcj" class="crayons-story__hidden-navigation-link"&gt;From Chaos to Clarity: Lessons learnt on the Importance of Documentation&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="/pratikshya_behera_" 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%2F3022819%2F1ee7e737-00fa-4024-9ed6-5cd3514857a0.png" alt="pratikshya_behera_ profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/pratikshya_behera_" class="crayons-story__secondary fw-medium m:hidden"&gt;
              pratikshya behera
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                pratikshya behera
                
              
              &lt;div id="story-author-preview-content-2853742" 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="/pratikshya_behera_" 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%2F3022819%2F1ee7e737-00fa-4024-9ed6-5cd3514857a0.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;pratikshya behera&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/pratikshya_behera_/from-chaos-to-clarity-lessons-learnt-on-the-importance-of-documentation-5gcj" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 18 '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/pratikshya_behera_/from-chaos-to-clarity-lessons-learnt-on-the-importance-of-documentation-5gcj" id="article-link-2853742"&gt;
          From Chaos to Clarity: Lessons learnt on the Importance of Documentation
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&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;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/softwaredevelopment"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;softwaredevelopment&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/documentation"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;documentation&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/pratikshya_behera_/from-chaos-to-clarity-lessons-learnt-on-the-importance-of-documentation-5gcj" 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/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/pratikshya_behera_/from-chaos-to-clarity-lessons-learnt-on-the-importance-of-documentation-5gcj#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&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;
            2 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>webdev</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
      <category>documentation</category>
    </item>
    <item>
      <title>From Chaos to Clarity: Lessons learnt on the Importance of Documentation</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Thu, 18 Sep 2025 12:32:51 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/from-chaos-to-clarity-lessons-learnt-on-the-importance-of-documentation-5gcj</link>
      <guid>https://dev.to/pratikshya_behera_/from-chaos-to-clarity-lessons-learnt-on-the-importance-of-documentation-5gcj</guid>
      <description>&lt;p&gt;Recently, I was writing a module with multiple APIs for a new project. I started with the fundamental API. The team had multiple rounds of discussions. I put in hours writing code, testing, and debugging. &lt;/p&gt;

&lt;p&gt;When I raised the PR, it went through rigorous reviews (as it happens with any new functionality module), until finally the changes were merged and deployed.&lt;/p&gt;

&lt;p&gt;But in the next meeting with the Business team, we realized that we missed a major point in the earlier discussions. And one missed point translated into reworking the whole API from scratch. &lt;/p&gt;

&lt;p&gt;It became clear that without a structured approach, we risked falling into the same cycle of rework again. The solution that saved us was &lt;strong&gt;documentation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The functionality was complex and difficult to grasp at once, and therefore, there's a high chance we'll go through the cycle of rework repeatedly. &lt;/p&gt;

&lt;p&gt;After the meetings, I created a detailed document capturing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My understanding of the functionality from all prior discussions.&lt;/li&gt;
&lt;li&gt;The proposed API details and workflow to support the functionality.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I shared this document with all stakeholders — developers, my SPOC, the Product Manager, Backend Leads, and our Engineering Manager. This opened the floor for collective feedback, corrections, and even better suggestions for the API flow.&lt;/p&gt;

&lt;p&gt;We decided to pause all coding work until the documentation was finalized and approved. Once everyone aligned on the functionality and API structure, I restarted development. This time, the process was much smoother:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I had a solid reference point to resolve any confusion.&lt;/li&gt;
&lt;li&gt;Most potential blockers had already been addressed during the documentation phase.&lt;/li&gt;
&lt;li&gt;The overall development aligned seamlessly with the agreed functional flow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Looking back, I realized how one well-structured document saved me hours of frustration, rework, and repeated discussions. It gave me clarity, reduced my mental load, and gave my team a single source of truth to rely on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My takeaway (and advice to you):&lt;/strong&gt; Don’t treat documentation as an afterthought. Use it as your first step.&lt;br&gt;
If it worked for me in a complex API module, it can work for you too — no matter what you’re building. &lt;br&gt;
Start documenting more, and you’ll see the difference it makes in your speed, clarity, and confidence as a developer.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
      <category>documentation</category>
    </item>
    <item>
      <title>How to Avoid TLE (Time Limit Exceeded) Errors in Coding Problems</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Sun, 13 Jul 2025 12:45:19 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/how-to-avoid-tle-time-limit-exceeded-errors-in-coding-problems-1df2</link>
      <guid>https://dev.to/pratikshya_behera_/how-to-avoid-tle-time-limit-exceeded-errors-in-coding-problems-1df2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Time Complexity&lt;/strong&gt; is the most basic yet most crucial aspect of any efficient code.&lt;br&gt;
When solving problems on platforms like LeetCode, Codeforces, HackerRank, or GFG, we often start with the most intuitive logic — commonly called the Brute Force Approach.&lt;/p&gt;

&lt;p&gt;But here’s the twist:&lt;br&gt;
Even if your logic is correct, your code might still fail with a TLE (Time Limit Exceeded) error. So what gives?&lt;/p&gt;

&lt;h2&gt;
  
  
  Pro Tip Before Submitting Your Code
&lt;/h2&gt;

&lt;p&gt;Always estimate the time complexity of your solution based on the input constraints before hitting submit.&lt;/p&gt;

&lt;p&gt;Here’s a good rule of thumb:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Your solution should not exceed 10⁸ operations per second.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So if your input size is n = 10⁵, your code must run in about O(n) or O(n log n) time, not O(n²) or worse.&lt;/p&gt;

&lt;p&gt;Reference list of Time Complexities to predict if your solution may lead to a TLE error according to the input constraints:&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%2Fxp9j0nha5elp2je8uotk.png" 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%2Fxp9j0nha5elp2je8uotk.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Work on logic that sustains the needed time complexity for a good solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Checklist Before Submission:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Estimate your code’s time complexity.&lt;/li&gt;
&lt;li&gt;Compare it with the input constraint.&lt;/li&gt;
&lt;li&gt;Rewrite or optimize before it’s too late.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Time complexity isn’t just a theoretical topic to be studied, it’s a coding skill just like logic.&lt;/p&gt;

&lt;p&gt;Also published at: &lt;a href="https://medium.com/@bpratikshya30/how-to-not-get-a-tle-8159bb06c3bd" rel="noopener noreferrer"&gt;https://medium.com/@bpratikshya30/how-to-not-get-a-tle-8159bb06c3bd&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>leetcode</category>
      <category>algorithms</category>
      <category>dsa</category>
    </item>
    <item>
      <title>What Is Callback Hell in JavaScript? Explained with Example and Promise Solution</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Thu, 03 Jul 2025 16:02:53 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/what-is-callback-hell-in-javascript-explained-with-example-and-promise-solution-5039</link>
      <guid>https://dev.to/pratikshya_behera_/what-is-callback-hell-in-javascript-explained-with-example-and-promise-solution-5039</guid>
      <description>&lt;p&gt;&lt;strong&gt;Callback Hell&lt;/strong&gt; is a common problem in JavaScript that should be avoided for efficient coding.&lt;/p&gt;

&lt;p&gt;In this post, we’ll understand what callback hell is, how it happens, and how to fix it using Promises.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are Callbacks?
&lt;/h2&gt;

&lt;p&gt;Callback in JavaScript is the concept that says we can pass a function as an argument to another function.&lt;br&gt;
For example, we have 2 functions and they shall only be called one by one and in a fixed sequence:&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%2Flucfqrjn54irbvg235kp.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%2Flucfqrjn54irbvg235kp.jpg" alt="Image description" width="376" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To ensure the second function is called only after the first function, we can use a callback like:&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%2Fitem611g0aqgcuwm5i59.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%2Fitem611g0aqgcuwm5i59.jpg" alt="Image description" width="361" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br&gt;
_Do not call the function in this way: first(1, second());&lt;br&gt;
Parenthesis () indicate immediate execution of the function second. Hence, second will execute during the first function call and throw an error.&lt;br&gt;
_&lt;br&gt;
If the callback needs arguments, wrap it in an arrow function:&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%2Fxnb2ratm2obzad5jl7jq.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%2Fxnb2ratm2obzad5jl7jq.jpg" alt="Image description" width="373" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was a simple example of 2 functions, but in real-world scenarios, we may have to deal with multiple functions that need to be executed in a specific sequence, each function depending on the output of another function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-Life Example: Social Media App Flow&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validate username&lt;/li&gt;
&lt;li&gt;If valid, check the password&lt;/li&gt;
&lt;li&gt;On success, fetch feed&lt;/li&gt;
&lt;li&gt;Click on a post → show reaction count&lt;/li&gt;
&lt;li&gt;Click on reaction → show user list&lt;/li&gt;
&lt;li&gt;Click on a user → show profile&lt;/li&gt;
&lt;li&gt;In code, each activity can be considered a function.&lt;/li&gt;
&lt;/ul&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%2F1nfh2kky6z0wxqcjk4cv.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%2F1nfh2kky6z0wxqcjk4cv.jpg" alt="Image description" width="502" height="746"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Here setTimeout function is used for asynchronous execution of code.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now let’s see what happens when we use callbacks to execute the code:&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%2F5wixb402a47swsj0wh6a.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%2F5wixb402a47swsj0wh6a.jpg" alt="Image description" width="663" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This scenario gives rise to nested callbacks, also known as &lt;strong&gt;Callback Hell&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Callback Hell is nested callbacks stacked below one another. These callbacks often form a pyramid structure, hence also known as the &lt;em&gt;&lt;strong&gt;Pyramid of Doom.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Using callbacks in this way leads to a style of programming that is difficult to understand and thus difficult to manage.&lt;/p&gt;

&lt;p&gt;Callback Hell shall be avoided in real-world programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution: Promises
&lt;/h2&gt;

&lt;p&gt;To solve this problem and produce more understandable and manageable code, we use Promises in JavaScript.&lt;/p&gt;

&lt;p&gt;A Promise is an object in JavaScript used for eventually completing a task, but not immediately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Syntax to define a Promise:&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%2F4sqqq4dsx5gqwr6kyblb.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%2F4sqqq4dsx5gqwr6kyblb.jpg" alt="Image description" width="430" height="82"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Here, resolve and reject are two callbacks or handlers provided by JavaScript.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Let’s rewrite our app logic using Promises:&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%2Fsz0lc9zh1zbuoe53b3kf.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%2Fsz0lc9zh1zbuoe53b3kf.jpg" alt="Image description" width="543" height="647"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The code to execute our functions using Promises:&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%2F55cao3ns6zoymievww4o.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%2F55cao3ns6zoymievww4o.jpg" alt="Image description" width="453" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Callback Hell is a common struggle in JavaScript, especially in real-world applications. But by using Promises, we can write cleaner, understandable, and more maintainable async code.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Agile Lessons: Navigating Shifting Priorities in a Tech Career</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Sat, 24 May 2025 06:57:46 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/agile-lessons-navigating-shifting-priorities-in-a-tech-career-p84</link>
      <guid>https://dev.to/pratikshya_behera_/agile-lessons-navigating-shifting-priorities-in-a-tech-career-p84</guid>
      <description>&lt;p&gt;I was recently working independently on a PoC for the first time. An existing feature needed significant changes to accommodate new requirements in our product. This eventually grew into a platform-level feature implementation across all our products.&lt;/p&gt;

&lt;p&gt;After working for more than an year as a junior, this was my first independent task of real significance. As I was 3 weeks into the work, the initial discussions and study were just completing.&lt;/p&gt;

&lt;p&gt;Before I could get the approval for the next phase of the PoC, a new client signed in for a new product development. While I was preparing for my next meeting presentation, we were called in for a discussion.&lt;/p&gt;

&lt;p&gt;After the meeting, all our tracks and tasks were put on hold until the new product was ready.&lt;/p&gt;

&lt;p&gt;This is normal in a tech company. A few months ago, I would have been devastated to be taken off the work I was so invested in. It has happened before, but perhaps now I know better, because this time, I felt nothing.&lt;/p&gt;

&lt;p&gt;We all know what happens when product enhancements clash with the client’s requirements. The enhancements will be blocked until someone takes them up voluntarily. And yet in a fast-paced environment, it’s not likely that someone will find the time to take up work on top of their existing load.&lt;/p&gt;

&lt;p&gt;So yes, my first independent PoC might just go under the rug and never get implemented.&lt;/p&gt;

&lt;p&gt;But now I think this is what experience teaches us. This detachment is professionalism. The ability to shift from one track to another without feeling sad or angry because you know that’s how it works, that’s what comes with experience.&lt;/p&gt;

&lt;p&gt;This situation showed me that I am an asset to my company because this is the second consecutive time that I have been assigned to a completely new project.&lt;/p&gt;

&lt;p&gt;And for now, I’ll go with that.After working for more than an year as a junior, this was my first independent task of real significance. As I was 3 weeks into the work, the initial discussions and study were just completing.&lt;/p&gt;

&lt;p&gt;Before I could get the approval for the next phase of the PoC, a new client signed in for a new product development. While I was preparing for my next meeting presentation, we were called in for a discussion.&lt;/p&gt;

&lt;p&gt;After the meeting, all our tracks and tasks were put on hold until the new product was ready.&lt;/p&gt;

&lt;p&gt;This is normal in a tech company. A few months ago, I would have been devastated to be taken off the work I was so invested in. It has happened before, but perhaps now I know better, because this time, I felt nothing.&lt;/p&gt;

&lt;p&gt;We all know what happens when product enhancements clash with the client’s requirements. The enhancements will be blocked until someone takes them up voluntarily. And yet in a fast-paced environment, it’s not likely that someone will find the time to take up work on top of their existing load.&lt;/p&gt;

&lt;p&gt;So yes, my first independent PoC might just go under the rug and never get implemented.&lt;/p&gt;

&lt;p&gt;But now I think this is what experience teaches us. This detachment is professionalism. The ability to shift from one track to another without feeling sad or angry because you know that’s how it works, that’s what comes with experience.&lt;/p&gt;

&lt;p&gt;This situation showed me that I am an asset to my company because this is the second consecutive time that I have been assigned to a completely new project.&lt;/p&gt;

&lt;p&gt;And for now, I’ll go with that.&lt;/p&gt;

</description>
      <category>development</category>
      <category>softwaredevelopment</category>
      <category>agile</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How AI Chatbots Helped Me Improve at LeetCode Without Giving Me the Answers</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Sat, 17 May 2025 13:12:41 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/how-ai-chatbots-helped-me-improve-at-leetcode-without-giving-me-the-answers-4cn2</link>
      <guid>https://dev.to/pratikshya_behera_/how-ai-chatbots-helped-me-improve-at-leetcode-without-giving-me-the-answers-4cn2</guid>
      <description>&lt;p&gt;When I started practicing Leetcode again after a year of experience in Web development, I knew I’d need some help.&lt;/p&gt;

&lt;p&gt;Reluctant to take help from AI chatbots, I kept moving back and forth to chatbots every time my submission failed.&lt;br&gt;
This kept me wondering if I can solve these problems on my own or if I have lost my potential after coding every day alongside AI chatbots at work for all these days.&lt;/p&gt;

&lt;p&gt;Until I realized why we started coding with chatbots in the first place — to learn better.&lt;/p&gt;

&lt;p&gt;After I solved a problem on my own and put the code through a chatbot, I found more ways to approach the problem.&lt;br&gt;
I could see why my code has a longer runtime than another solution.&lt;br&gt;
I could analyze my own solution deeply and improve my ways gradually.&lt;/p&gt;

&lt;p&gt;Like, I solved a problem on Array Wrapper with a traditional approach with 49ms of runtime. After analyzing the solution with AI I learned that the same problem can be solved with an Arrow function implementation, which reduces the runtime to 32ms.&lt;/p&gt;

&lt;p&gt;One can say that you can find hundreds of solutions online, but it’s not about solutions on platforms like Leetcode; it’s about the skill to solve problems better.&lt;br&gt;
AI can help analyze solutions in depth and improve the approach altogether in the long run.&lt;/p&gt;

&lt;p&gt;I have one rule when solving problems: &lt;strong&gt;don’t ask AI for solutions&lt;/strong&gt;.&lt;br&gt;
Because every problem out there on these platforms is solved already. What I am doing is polishing my problem-solving and coding skills.&lt;/p&gt;

&lt;p&gt;I ask for bits and pieces when I get stuck, but to put everything together into an actual solution is always my job.&lt;br&gt;
And after solving each problem, I ask AI to analyze or improve my solution.&lt;/p&gt;

&lt;p&gt;This keeps me confident in my own capabilities and helps me learn better with AI — because Leetcode isn’t about finding solutions, but about developing the skill to solve problems.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>leetcode</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Want to read about learning AWS through work experience in a fast paced start-up? My latest article serves it just right. Happy learning!</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Mon, 28 Apr 2025 17:08:11 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/want-to-read-about-learning-aws-through-work-experience-in-a-fast-paced-start-up-my-latest-4kni</link>
      <guid>https://dev.to/pratikshya_behera_/want-to-read-about-learning-aws-through-work-experience-in-a-fast-paced-start-up-my-latest-4kni</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/pratikshya_behera_/how-aws-kinesis-and-lambda-work-together-to-send-emails-instantly-1gai" class="crayons-story__hidden-navigation-link"&gt;How AWS Kinesis and Lambda Work Together to Send Emails Instantly&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="/pratikshya_behera_" 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%2F3022819%2F1ee7e737-00fa-4024-9ed6-5cd3514857a0.png" alt="pratikshya_behera_ profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/pratikshya_behera_" class="crayons-story__secondary fw-medium m:hidden"&gt;
              pratikshya behera
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                pratikshya behera
                
              
              &lt;div id="story-author-preview-content-2439974" 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="/pratikshya_behera_" 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%2F3022819%2F1ee7e737-00fa-4024-9ed6-5cd3514857a0.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;pratikshya behera&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/pratikshya_behera_/how-aws-kinesis-and-lambda-work-together-to-send-emails-instantly-1gai" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 28 '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/pratikshya_behera_/how-aws-kinesis-and-lambda-work-together-to-send-emails-instantly-1gai" id="article-link-2439974"&gt;
          How AWS Kinesis and Lambda Work Together to Send Emails Instantly
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/aws"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;aws&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/serverless"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;serverless&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/node"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;node&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/pratikshya_behera_/how-aws-kinesis-and-lambda-work-together-to-send-emails-instantly-1gai" 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/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/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.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;4&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/pratikshya_behera_/how-aws-kinesis-and-lambda-work-together-to-send-emails-instantly-1gai#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&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;
            3 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>aws</category>
      <category>serverless</category>
      <category>node</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How AWS Kinesis and Lambda Work Together to Send Emails Instantly</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Mon, 28 Apr 2025 01:50:30 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/how-aws-kinesis-and-lambda-work-together-to-send-emails-instantly-1gai</link>
      <guid>https://dev.to/pratikshya_behera_/how-aws-kinesis-and-lambda-work-together-to-send-emails-instantly-1gai</guid>
      <description>&lt;p&gt;Recently, I was working on a new project — a clone of the company’s original product — and was assigned a ticket regarding an email sending issue on a high-priority feature.&lt;/p&gt;

&lt;p&gt;While working on the ticket, I came across the AWS service Kinesis.&lt;/p&gt;

&lt;p&gt;I added all necessary constants, configurations, and conditions for the new project into the code and ran a self-call (I work with NodeJS). However, I encountered the following error:&lt;/p&gt;

&lt;p&gt;ResourceNotFoundException: Stream l*&lt;strong&gt;l_microservice_backend under account 2&lt;/strong&gt;********1 not found.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Reason:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Kinesis data stream l***l_microservice_backend, originally present in our product instance, had not yet been created on the new project’s AWS instance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Solution:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I created the Kinesis data stream in the new instance with the help of my mentor.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a stream, and where does Kinesis come in?
&lt;/h2&gt;

&lt;p&gt;Amazon Kinesis is a real-time data streaming service.&lt;br&gt;
It is used to process and stream large volumes of data efficiently.&lt;/p&gt;

&lt;p&gt;Kinesis is commonly used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Events&lt;/li&gt;
&lt;li&gt;Clickstreams&lt;/li&gt;
&lt;li&gt;IoT sensor data&lt;/li&gt;
&lt;li&gt;Video streams&lt;/li&gt;
&lt;li&gt;Logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kinesis has 4 Core components:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kinesis Data Streams (KDS)&lt;/li&gt;
&lt;li&gt;Kinesis Data Firehose&lt;/li&gt;
&lt;li&gt;Kinesis Data Analytics&lt;/li&gt;
&lt;li&gt;Kinesis Video streams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We implement our email sending service using KDS or Data Streams in Kinesis.&lt;br&gt;
We can create data-processing applications, known as Kinesis Data Streams applications.&lt;br&gt;
A typical Kinesis Data Streams application reads data from a data stream as data records.&lt;/p&gt;

&lt;p&gt;When we say we created a new "data stream," we are actually referring to setting up a data stream and a Kinesis Data Streams application to process a specific set of data records.&lt;/p&gt;

&lt;p&gt;The delay between the time a record is put into the stream and the time it can be retrieved (put-to-get delay) can be less than 1 second.&lt;br&gt;
We can scale the stream up or down based on the application’s requirements, so we never lose any data.&lt;/p&gt;

&lt;h2&gt;
  
  
  How we used Kinesis?
&lt;/h2&gt;

&lt;p&gt;In Kinesis, there are two major components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Producer:&lt;/strong&gt; Anything that puts data into the stream.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consumer:&lt;/strong&gt; Anything that reads data from the stream and processes it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In our case, the producer is the service that I was testing, and a subsequent function that communicates directly with the KDS.&lt;br&gt;
In a sequence of service calls, we prepared some data and used that data further in an email template.&lt;br&gt;
Then we sent the email template along with some other details to the KDS as the producer.&lt;/p&gt;

&lt;p&gt;The consumer of the KDS in our case is a Lambda.&lt;br&gt;
The Lambda contains code to process the output of the data stream application to perform the needed actions.&lt;br&gt;
Our Lambda decodes the response from KDS into a usable form.&lt;br&gt;
Then the Lambda code uses the business logic to take the required action— here sending emails.&lt;/p&gt;

&lt;p&gt;Using Kinesis makes it possible to send bulk emails instantly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What Kinesis does:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's an AWS service that handles real-time data like events, logs, or sensor data super fast.&lt;/p&gt;

&lt;p&gt;It has different parts, but we mainly use Kinesis Data Streams (KDS) for sending emails in our app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;How we use it:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of our services acts like a producer — it prepares the email details and sends them into the stream.&lt;/p&gt;

&lt;p&gt;A Lambda function reads from the stream, processes the info, and sends out the emails.&lt;/p&gt;

&lt;p&gt;Using Kinesis helps us send bulk emails almost instantly and handle scaling easily.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>serverless</category>
      <category>node</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Work-Life Harmony in the Tech World: A Woman’s Guide to Staying Sane</title>
      <dc:creator>pratikshya behera</dc:creator>
      <pubDate>Sun, 06 Apr 2025 12:15:53 +0000</pubDate>
      <link>https://dev.to/pratikshya_behera_/work-life-harmony-in-the-tech-world-a-womans-guide-to-staying-sane-51eg</link>
      <guid>https://dev.to/pratikshya_behera_/work-life-harmony-in-the-tech-world-a-womans-guide-to-staying-sane-51eg</guid>
      <description>&lt;p&gt;As software developers, we spend 8–9 hours a day, working 5 days a week. But does your mind passively think about work even after you’re done working? Let’s change that.&lt;/p&gt;

&lt;p&gt;We work in a male-dominated field. This brings with it the fear of being seen as less capable, even for the simplest mistakes. There is often a constant need to prove ourselves worthy of our position. Hence, we tend to overanalyze past conversations and work to ensure quality.&lt;/p&gt;

&lt;p&gt;We tend to question if we’re doing it right, constantly feeling like we need to catch up even when we aren’t lacking in any way. Each time after logging off, we keep wondering if we were good enough today.&lt;/p&gt;

&lt;p&gt;We start blurring our boundaries — not because the job demands it 24/7, but because deep down, we fear being labelled less competent. As women, especially those balancing family expectations or invisible responsibilities, we overcompensate, just to prove we can handle it all.&lt;/p&gt;

&lt;p&gt;The so-called “hustle culture” is often glorified in many tech workspaces. Instant replies to any communication and constant availability are totally normalized, being seen as a sign of dedication.&lt;/p&gt;

&lt;p&gt;Most of the success stories we see are of women who seemed to have it all together — the promotions, the late nights, the spotless image. But we rarely see the sleepless nights, the missed birthdays, the quiet moments of burnout they faced. The toll it took is often edited out of the story, as if struggle isn’t worth mentioning unless it ends with success.&lt;/p&gt;

&lt;p&gt;As women early in our careers, especially when we’re underpaid or overlooked, we carry a quiet fear of falling behind. While others seem to rise, we worry we’re being passed over. So we overcompensate. We take on more, stay late, reply at odd hours — not just out of ambition, but from a deeper need to prove we deserve our place.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;So, how to keep the balance?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We can’t just find the balance. We need to build a balance between work and life.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;We start by redefining what success means to us.&lt;/strong&gt;
Not by how long we stay online or how many things we juggle — but by how we feel while doing it. Calm, clear, and proud.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;We learn to set boundaries without carrying guilt.&lt;/strong&gt;
Logging off doesn’t mean we’re slacking. Saying no doesn’t mean we’re not ambitious or rude. It just means we’re choosing to protect our energy — and that’s brave.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;We slow down and ask if the pace feels right.&lt;/strong&gt;
Sometimes we rush because we’re afraid to fall behind. But growth isn’t always fast, and it doesn’t need to be.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;We stop measuring our worth by our output.&lt;/strong&gt;
Our value isn’t tied to tasks or timelines. We are allowed to rest and start again later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;We find our people.&lt;/strong&gt;
Whether it’s one friend who truly gets it or a group of women lifting each other, we keep those people around who enhance our energy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;We try to become the role models we didn’t get to see.&lt;/strong&gt;
Not perfect, but honest. Women who work hard but also pause, protect their peace, and show others that balance is possible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;And most importantly, we permit ourselves.&lt;/strong&gt;
To take a breath. To log off. To grow differently. To do enough — and to believe that we are enough, even when the world forgets to say it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What matters is that we’re aware. That we’re trying. That we’re unlearning the noise that says we have to do more, be more, prove more just to be taken seriously.&lt;br&gt;
We’re already enough. We’re allowed to rest.&lt;br&gt;
And we can build careers we’re proud of — without burning out along the way.&lt;/p&gt;

</description>
      <category>womenintech</category>
      <category>wecoded</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
