<story><title>Effect of perceptual load on performance within IDE in people with ADHD symptoms</title><url>https://link.springer.com/chapter/10.1007/978-3-031-35017-7_9</url></story><parent_chain><item><author>dkh</author><text>As an engineer for 10+ years with pretty severe ADHD (unmedicated, I cannot usually even read more than a few pages of a book before either losing focus or feeling drained) I have always been aware of how much my performance fluctuates based on the cognitive load of dealing with the code I am currently working with, and how it is displayed. I half-jokingly tend to describe it to people as having a &amp;quot;small brain buffer&amp;quot; where while I can understand (and design and implement) very complex things, it is easy for me to flounder when debugging if I feel unable to visually see or mentally hold the entire problem in my head at once. This is especially true if the code isn&amp;#x27;t mine.&lt;p&gt;It is for this reason that I try to write what I feel is very obvious or self-explanatory code, why I try to keep functions&amp;#x2F;modules as simple as possible and ideally not longer in length than I can see on my screen at once (when possible), and why I almost exclusively join small&amp;#x2F;new teams who don&amp;#x27;t yet have an enormous codebase that I&amp;#x27;ll have to wrap my head around. I am never done tweaking the UIs of the editors I use to maximize my ability to work around these things.</text></item></parent_chain><comment><author>sodapopcan</author><text>&amp;gt; why I try to keep functions&amp;#x2F;modules as simple as possible and ideally not longer in length than I can see on my screen at once (when possible)&lt;p&gt;This is the paradox of &amp;quot;readable&amp;quot; code.  Each person has a different definition of it.  I also prefer to write as dumb code as possible (well, these days I do, I of course tried to be extra clever in my earlier days).  But for me it&amp;#x27;s the jumping around that makes me lose focus.  My limit is about 3-4 jumps.  This is not to say I write long meandering functions, but I personally couldn&amp;#x27;t imagine a codebase I&amp;#x27;d be happy working in that is made up of modules that fit on a screen.  Maybe it&amp;#x27;s possible!  But the projects I&amp;#x27;ve worked on that have a linter rule of &amp;quot;100 lines per file&amp;quot; or whatever end up being these rabbit holes.  It&amp;#x27;s so hard to come up with code design guidelines everyone can agree on.&lt;p&gt;As a side note, I despise things like imports and aliases.  I&amp;#x27;d prefer that when I do jump to a function, I can read it without having to check if anything is imported or not.  I always opt for fully qualified function calls, regardless of how many characters it is.</text></comment>
<story><title>Effect of perceptual load on performance within IDE in people with ADHD symptoms</title><url>https://link.springer.com/chapter/10.1007/978-3-031-35017-7_9</url></story><parent_chain><item><author>dkh</author><text>As an engineer for 10+ years with pretty severe ADHD (unmedicated, I cannot usually even read more than a few pages of a book before either losing focus or feeling drained) I have always been aware of how much my performance fluctuates based on the cognitive load of dealing with the code I am currently working with, and how it is displayed. I half-jokingly tend to describe it to people as having a &amp;quot;small brain buffer&amp;quot; where while I can understand (and design and implement) very complex things, it is easy for me to flounder when debugging if I feel unable to visually see or mentally hold the entire problem in my head at once. This is especially true if the code isn&amp;#x27;t mine.&lt;p&gt;It is for this reason that I try to write what I feel is very obvious or self-explanatory code, why I try to keep functions&amp;#x2F;modules as simple as possible and ideally not longer in length than I can see on my screen at once (when possible), and why I almost exclusively join small&amp;#x2F;new teams who don&amp;#x27;t yet have an enormous codebase that I&amp;#x27;ll have to wrap my head around. I am never done tweaking the UIs of the editors I use to maximize my ability to work around these things.</text></item></parent_chain><comment><author>devjab</author><text>Interestingly I do the same as you, partly because the single responsibility part of SOLID, but also because it just appeals to me to write clean easily understandable code. It’s for different reasons than you, however, my ADHD brain can “buffer” massive amounts of code… for a while. So I mainly write things simply because it’s much easier for me to “get back to” after 6 months, well, and because it’s clean code. I think it’s interesting that we end up with the same sort of code architecture though, despite not being affected by our ADHD the same.&lt;p&gt;For me the real struggle isn’t focus or “buffer”, it’s when things are boring. For almost all code work, even debugging, my hyperfocus grinds into gear, and if I’m left undisturbed I can quite literally work for 10 hours straight without eating. I don’t, because there is a bill to pay after doing so and I’ve worked on myself for decades to the point where I know to take breaks, eat and go home, but the hyperfocus is there.&lt;p&gt;Until things get boring. Luckily this is rare with code. Not so with everything related to the process of being allowed to write code. I try to work in places where the process people bother you as little as possible, and if I can avoid it, I’ll happily go through the rest of my career without ever pretending to listen in another standup meeting ever again.</text></comment>