<?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: Ese Idukpaye</title>
    <description>The latest articles on DEV Community by Ese Idukpaye (@idnk_2203).</description>
    <link>https://dev.to/idnk_2203</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F411297%2F1110ab88-fd71-4b69-b05a-e270c769905a.png</url>
      <title>DEV Community: Ese Idukpaye</title>
      <link>https://dev.to/idnk_2203</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/idnk_2203"/>
    <language>en</language>
    <item>
      <title>The AI orientation tax: it's missing context, not discipline</title>
      <dc:creator>Ese Idukpaye</dc:creator>
      <pubDate>Sat, 11 Jul 2026 15:17:37 +0000</pubDate>
      <link>https://dev.to/idnk_2203/the-orientation-tax-its-missing-context-not-discipline-4ii9</link>
      <guid>https://dev.to/idnk_2203/the-orientation-tax-its-missing-context-not-discipline-4ii9</guid>
      <description>&lt;p&gt;You have eleven things in flight. Three of them are "almost done." You can't remember which three. Every morning you spend the first ten minutes rebuilding the picture (what was I on, where did I leave it, what's actually next) before you do any real work. And the coding agent you brought in to go faster starts every session asking you the same questions you just answered yesterday.&lt;/p&gt;

&lt;p&gt;The usual diagnosis is &lt;strong&gt;discipline&lt;/strong&gt;: you start too much, you don't finish, you're scattered, get a system and stick to it. I think that diagnosis is wrong, or at least aimed one layer too high. The people who actually dug into this landed somewhere else: it's &lt;strong&gt;missing context, not discipline.&lt;/strong&gt; And the interesting part is that your agent now pays the exact same tax, for the exact same reason.&lt;/p&gt;

&lt;p&gt;This is a post about that tax: what it is, what it costs (there are numbers), why the AI era makes it &lt;em&gt;worse&lt;/em&gt; instead of better, and the small loop where it actually breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tax you're already paying
&lt;/h2&gt;

&lt;p&gt;Picture a normal day with three projects going at once. Underneath the actual work, you're running a second, smaller loop all day long:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;capture:&lt;/strong&gt; get what's on your plate into view&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;check state:&lt;/strong&gt; figure out where each piece actually is&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;prioritize:&lt;/strong&gt; pick what's next&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;review:&lt;/strong&gt; at the end, see what got done&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbx9zx4aelsye811nsr05.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbx9zx4aelsye811nsr05.png" alt="The 4-act orientation loop: capture, check state, prioritize, review, run daily and weekly"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That loop is cheap when you're running one thing. It gets expensive fast when you're running several phased threads at once, because now you're holding all of it in your head, and your head has a ceiling. Past that ceiling, you start paying what I'll call the &lt;strong&gt;orientation tax&lt;/strong&gt;: the time and attention you burn just &lt;em&gt;staying oriented&lt;/em&gt; (re-contextualizing, re-deciding, re-finding your place) instead of moving the work forward.&lt;/p&gt;

&lt;p&gt;The tax is small per hit and easy to dismiss. That's exactly why it's expensive: you pay it dozens of times a day and never see the bill.&lt;/p&gt;

&lt;h2&gt;
  
  
  The misdiagnosis: "just have more discipline"
&lt;/h2&gt;

&lt;p&gt;The dominant framing for this is moral. &lt;em&gt;You have too many half-finished projects. Finish what you start. Stop being a magpie.&lt;/em&gt; It shows up everywhere in dev culture, and it feels true, so nobody questions it.&lt;/p&gt;

&lt;p&gt;But look at what the people who took the problem seriously actually concluded. The developer behind &lt;a href="https://dev.to/__be2942592/i-have-47-unfinished-side-projects-heres-why-i-dont-feel-bad-about-it-3g4o"&gt;&lt;em&gt;I Have 47 Unfinished Side Projects&lt;/em&gt;&lt;/a&gt; expected the lesson to be discipline, then landed on &lt;strong&gt;context&lt;/strong&gt; instead: of the 47, the one project that actually shipped was the one that started from a real problem he had &lt;em&gt;right now&lt;/em&gt; ("I literally need this tomorrow"), not from forcing himself to finish the rest. &lt;a href="https://www.linkedin.com/pulse/developers-dilemma-managing-too-many-projects-once-bonaventure-ogeto-pingf" rel="noopener noreferrer"&gt;Bonaventure Ogeto&lt;/a&gt; keeps what he calls a "projects parking lot": &lt;em&gt;a single place to log every project and its current status, so you always know where everything lives and nothing feels lost.&lt;/em&gt; That's not a discipline fix. It's an &lt;strong&gt;orientation fix&lt;/strong&gt;: one honest place where the state of in-flight work lives.&lt;/p&gt;

&lt;p&gt;Here's the distinction that matters, because it's easy to blur. &lt;strong&gt;Deciding what to start&lt;/strong&gt; is a selection problem: upstream, real, but not this one. The tax I'm describing starts &lt;em&gt;after&lt;/em&gt; you've committed. You've got work you've decided to do, broken into pieces, and the cost is just &lt;strong&gt;staying oriented across it&lt;/strong&gt;. The grassroots fixes all quietly agree the lever is context (a single status home), not willpower. The discipline frame keeps people optimizing the wrong variable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers (it's expensive, and some of it is measured)
&lt;/h2&gt;

&lt;p&gt;"Staying oriented" sounds soft. The cost isn't.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Figure&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Re-teaching the agent at the start of every session&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~12 min/session ≈ one workday/month&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ma (self-tracked)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refocusing after a single interruption (complex work)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;up to 23 min&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Gloria Mark / APA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A 10-dev team losing 20% to switching&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$240,000/year&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;onehorizon&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Three angles on one cost: per session (the agent), per interruption (you), per year (the team). Two honest caveats, because the credibility is the point. The &lt;strong&gt;23-minute&lt;/strong&gt; refocus comes from Gloria Mark's interruption research, usually reported second-hand, so treat it as directional, not gospel. The &lt;strong&gt;12-minute/session&lt;/strong&gt; figure is newer and thinner: one developer's week of self-tracking. Strong as illustration, not yet replicated. I'm citing both as what they are.&lt;/p&gt;

&lt;p&gt;But the direction is unambiguous, and the two tiers point at the same thing: &lt;strong&gt;the cost of losing the thread, multiplied by how often you lose it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI era makes it worse, not better
&lt;/h2&gt;

&lt;p&gt;You'd expect a coding agent to &lt;em&gt;reduce&lt;/em&gt; this. It does the opposite, in two ways.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First, it raises the thread count.&lt;/strong&gt; Agents let you start more and ship faster than you can stay oriented. Every capability jump (faster models, parallel agents, longer task horizons) increases how many pieces a solo operator can have in flight at once. That's the exact input that drives the tax. More throughput, more to keep straight.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;focus / context-switching research (decades, pre-AI)
        |  attention is serial; switching is costly
        v
indie-maker "too many threads" culture (2010s -&amp;gt;)
        |  more starts than you can hold
        v
agent era (2024-2026)   &amp;lt;-- the amplifier
        agents let you START more and SHIP faster than you can orient,
        AND the agent itself loses the thread between sessions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Second, and this is the new part: the agent pays the tax too.&lt;/strong&gt; It starts every session cold. As one tooling write-up puts it, model weights are frozen, the context window rebuilds from scratch, and &lt;em&gt;"most tools do not write cross-session memory by default. Manual files like AGENTS.md help, but they drift."&lt;/em&gt; That drift is the same staleness that rots your own notes, now happening to the agent.&lt;/p&gt;

&lt;p&gt;And it's not a one-way street where your mess flows downhill into the agent. The sharper read: &lt;strong&gt;you and the agent are running the same loop on the same work, on two different clocks.&lt;/strong&gt; Your clock spans days and weeks. The agent's clock is the &lt;em&gt;session&lt;/em&gt;, and it resets every time. When you ship fast, you spin up many sessions, often parallel, across days. Nothing &lt;em&gt;inside&lt;/em&gt; a single session can carry the picture across all those resets. The agent reaching for &lt;code&gt;AGENTS.md&lt;/code&gt;, the threads asking &lt;em&gt;"how do you handle context loss between Claude Code sessions?"&lt;/em&gt;: that's the agent &lt;strong&gt;trying to run check-state and review&lt;/strong&gt; and failing for lack of a durable, shared list. Same break as yours, different clock.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's one loop, and it breaks in the same place every time
&lt;/h2&gt;

&lt;p&gt;Step back and the whole thing collapses into a single mechanism. The tax isn't five unrelated annoyances. It's &lt;strong&gt;one loop breaking for one reason: there's no single honest list to run it on.&lt;/strong&gt; Take the list away and watch each act fail in order:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No list → capture fails.&lt;/strong&gt; Committed work never lands in one place, so you orient on a partial view.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;→ check-state fails.&lt;/strong&gt; State isn't updated, so the list (such as it is) lies: it says "in progress" for things that are done or dead.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;→ prioritize fails.&lt;/strong&gt; What matters shifted; nothing flagged it; you keep working yesterday's order.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;→ review fails.&lt;/strong&gt; Closure was never recorded, so "what did I actually ship this week" is unanswerable, and it stays invisible until the shame shows up.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;→ it cascades.&lt;/strong&gt; Every break above is inherited by the agent, which is reading the same broken picture.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's the give-away here, the part worth keeping even if you never touch any tool: &lt;strong&gt;when your multi-threaded work feels like it's slipping, don't reach for more discipline. Find the act of the loop that's breaking, and notice it's breaking because nothing holds one honest list.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why nobody's built the fix
&lt;/h2&gt;

&lt;p&gt;If the problem is this legible, why is the slot empty? Because the field inherited the &lt;strong&gt;discipline&lt;/strong&gt; frame. Orientation got filed as a pre-existing human-character problem (&lt;em&gt;be more focused, start fewer things&lt;/em&gt;), so when agents arrived, nobody built the AI-native answer for it. The tooling that did get built lives one layer down, on &lt;strong&gt;execution&lt;/strong&gt;: making the agent build a single task correctly (spec files, rules files, memory stores). All useful. None of it keeps &lt;em&gt;you and the agent oriented across the whole board of in-flight work.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So the pain is mainstream and well-documented, but the &lt;em&gt;solo-operator-plus-agent&lt;/em&gt; framing is young and mostly open. The vocabulary is even splitting in real time: "context switching" on the productivity side, "agent memory" and "persistent context" forming on the tooling side, both circling the same hole from opposite directions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The reframe, in one line
&lt;/h2&gt;

&lt;p&gt;Your scattered board and your forgetful agent are not two problems, and neither is a discipline problem. They're &lt;strong&gt;one orientation problem&lt;/strong&gt;: nothing holds a single honest picture of what's in flight, so you keep rebuilding it from memory and the agent keeps inheriting a broken copy.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdyof0dt0dbqap8zgsqnb.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdyof0dt0dbqap8zgsqnb.png" alt="Before and after the orientation tax: paid vs dropped. Same acts, same speed. The difference is one honest list both of you read"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The fix isn't to want it more. It's to give the loop one surface to run on: honest, shared, and gated, so the honesty doesn't ride on memory. A board you reconcile before you build on it, instead of one you hope you updated. That's a design problem, not a character flaw. I've been building toward an answer to it, and that's the next post. This one only had one job: to get you to stop blaming your discipline for a context bug.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agent context loss:&lt;/strong&gt; Augment Code, "Why AI Agents Keep Asking the Same Questions"; Marvin Ma, "Why Your AI Coding Agent Keeps Forgetting Everything" (the ~12-min/session figure).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interruption and team cost:&lt;/strong&gt; Gloria Mark / APA interruption research (via secondary reporting); onehorizon (the ~$240k/yr figure).&lt;/li&gt;
&lt;li&gt;Maker self-diagnoses (the 47-projects and parking-lot pieces) are linked inline. Full source ledger lives in the problem-convention dossier.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>claude</category>
      <category>agents</category>
    </item>
    <item>
      <title>Javascript (JS) Pass by Reference and Pass by Value</title>
      <dc:creator>Ese Idukpaye</dc:creator>
      <pubDate>Sat, 28 Jan 2023 20:28:35 +0000</pubDate>
      <link>https://dev.to/idnk_2203/javascript-js-pass-by-reference-and-pass-by-value-b7f</link>
      <guid>https://dev.to/idnk_2203/javascript-js-pass-by-reference-and-pass-by-value-b7f</guid>
      <description>&lt;h2&gt;
  
  
  Terms
&lt;/h2&gt;

&lt;p&gt;Passing: To assign a value to a variable or, pass it to function as a parameter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pass by Value
&lt;/h2&gt;

&lt;p&gt;Anytime a variable containing another value which is not an object or an array is passed along to let's say a function as a parameter, the variable being passed becomes a copy of the value it holds. As a result, the variable passed to the function will have its value unchanged despite whatever the function does with it, for example, reassign’s it or updates it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// 60&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;boo&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt; 
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// 70&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// 60 : unchanged value of the x variable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Pass by Reference
&lt;/h2&gt;

&lt;p&gt;Anytime a variable containing another value which is an object or array is passed along to let say a function as a parameter, the variable is passed to the parameter as a ref to its object/array value. As a result, the variable passed to the function will have its value changed if for example it is updated with a new element of the key/value pair.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;john&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// {name:"john",age:22} &lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;boo&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;statue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// {name:"john",age:22, status:true} &lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// {name:"john",age:22, status:true} &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>aws</category>
      <category>security</category>
      <category>discuss</category>
      <category>workplace</category>
    </item>
    <item>
      <title>5 Debugging Tips that can Save you 5hrs of Debugging Time</title>
      <dc:creator>Ese Idukpaye</dc:creator>
      <pubDate>Fri, 21 Oct 2022 23:14:17 +0000</pubDate>
      <link>https://dev.to/idnk_2203/5-debugging-tips-that-can-save-you-5hrs-of-debugging-time-3c1d</link>
      <guid>https://dev.to/idnk_2203/5-debugging-tips-that-can-save-you-5hrs-of-debugging-time-3c1d</guid>
      <description>&lt;h2&gt;
  
  
  1. Document Everything
&lt;/h2&gt;

&lt;p&gt;You should always document everything from instructions on how to replicate the bug, to defined strategies on how to resolve the bug, to any side effect that results from a solution implementation. This is probably the most important one and I learnt this from working at Loxe Inc.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Error Logging
&lt;/h2&gt;

&lt;p&gt;Always log your errors through a properly implemented error handler middleware and when an error occurs be sure to check your logs. I don't also forget the remove log statements from your debugged code. I learnt this from working at Loxe Inc.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Only refactor working code
&lt;/h2&gt;

&lt;p&gt;When debugging it is best to work with the most simplistic-looking code piece of code to speed up the refactoring process and refactor after the code has been debugged.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Fix one problem at a time
&lt;/h2&gt;

&lt;p&gt;This is also one major mistake most people make including myself of trying to resolve all the bugs at the same time before testing or grouping a lot of small bugs into one big bug, never do this. Always fix one bug at a time&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Take Breaks
&lt;/h2&gt;

&lt;p&gt;This can be linked to the spacing effect which refers to the finding that long-term memory is enhanced when learning events are spaced apart in time, rather than massed in immediate succession.&lt;br&gt;
What this translates is that when trying to resolve bugs don't feel that you have to do it all in one go. it's okay to take breaks while resolving a bug.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>jwt</category>
      <category>auth</category>
      <category>node</category>
    </item>
  </channel>
</rss>
