Eira and Ryan talk with Chris Ferdinandi, a front-end developer and ADHD advocate, about his diagnosis experience, the importance of accommodations for neurodivergent folks, and some advice for devs looking for the best tools and tactics for managing ADHD at work.
Read Eira’s two-part series about developers with ADHD here and here.
Chris recommends that devs with ADHD employ a “second brain” to help them track and remember information. Read Eira’s article on what second brains reveal about how we work.
A few years back Chris joined us to talk about the most lightweight web “framework” around: VanillaJS. Listen to the episode.
Chris offers classes and workshops for front-end developers, plus daily advice for developers with ADHD.
Connect with Chris through his website or social media.
[intro music plays]
Ryan Donovan To support your data management goals, modernize your applications, and innovate at scale, you need solutions that support your business now and in the future. That's why you turn to EDB, the biggest contributor to PostgreSQL. Learn more at www.enterprisedb.com.
RD Hello, everyone, and welcome to the Stack Overflow Podcast, a place to talk all things software and technology. I'm Ryan Donovan, I edit the blog here at Stack Overflow, and I'm joined by my colleague, Eira May. Hey, Eira!
Eira May Hello! How's it going, Ryan?
RD I'm good. I know it's crazy early for you today, but we have a great guest– his second time on the podcast– Chris Ferdinandi. He’s joining us today to talk about what it's like having ADHD and programming. So Chris, welcome to the podcast again.
Chris Ferdinandi Thank you both for having me here. I'm glad to be back.
RD Can you tell us a little bit of your ADHD journey with programming?
CF Yeah, absolutely. So ADHD is actually the reason I became a web developer. I started my career in human resources after bouncing around from one major to another in college having no idea what I wanted to be when I grew up, and then in my first real job after college, I felt like I couldn't get anything done. I was pretty convinced I was going to get fired because I just had such a tough time keeping all of the different tasks in track. I'd get told to do half a dozen things and I'd remember a few of them, but forget the rest. It was kind of a disaster. So I started Googling how to get things done, and that introduced me to the concept of having a personal blog. And I had a lot of opinions on HR, so I started blogging, and I wanted to have more control over what that blog looked like, so I started teaching myself how to code. And I did the ADHD hyperfocus thing on coding and decided that was going to be my new career. So after about seven or eight years as an HR person, I kind of pivoted into web development. And I know Eira, you've written about this before too, but I feel like web development and ADHD are often a match that goes very, very well together– not without some problems and unique challenges and things like that, but it has worked out for me a lot better than previous professions have.
EM That's something I've heard from a lot of folks that I've talked to. I sort of accidentally started researching and writing a lot about ADHD for our blog just because I was interested in the experiences of friends and colleagues who had been diagnosed at my age or later. I'm in my mid-thirties, and actually I guess I have to say late thirties now. It's fine, it's fine. And I was really fascinated by the different kind of paths that people took to diagnosis and especially how the experiences of men and women differed and the experiences of people in tech and in roles that might be a little bit less of a good fit in terms of habit and mentality for folks with ADHD. And so I just started kind of learning more and more, and then we had a lot of responses from our community that this clearly resonated with folks. There are a lot of people with ADHD who work as developers who seem to see some kind of intrinsic affinity maybe. Obviously when we speak of ADHD and developers, we're talking about huge categories. I don't want to collapse distinctions to the point where we're not saying anything meaningful, but there definitely seems to be a connection there that people have attested to.
CF Yeah, I've observed that too. So part of my professional side of things is that I teach people coding, usually of the JavaScript variety, and I was shocked pretty early on to discover just how many of my students were fellow ADHD-ers. Not all of them, obviously, but it was a much higher overlap than I've experienced in other areas of my professional life. And then I got to a point where I started disclosing my ADHD when I’d go on interviews or to my managers and things like that, and the number of times I'd hear back, “Oh, me too,” was just really, really shocking to me. And I don't know how much of it is a developer thing and how much of it is that there's just a lot more awareness around ADHD now. Because you mentioned the whole thing about the later age diagnosis, a lot of folks I know are discovering they have ADHD in their thirties and their forties beyond. I was diagnosed as a kid but I was never treated for it because it was during the ADHD stigma years, and so I always just thought of it as, “I'm the hyperactive kid.” And then I didn't learn until my mid-thirties how many different aspects of my personality and my behavior were actually related to ADHD and not just because I was a little different or odd. There's a whole range of things related to ADHD beyond just being hyper. So we can unpack all of that.
RD Well, you mentioned the hyperfocus thing, and I think one of the things from Eira's research, I think the initial was like, “Oh, maybe this is a coding superpower,” and people came in to say, “Well, not really.” So I wonder where on the spectrum you fall on that.
CF Well, I'm actually curious to hear more about the ‘not really’ part because hyperfocus is, for me, my blessing and curse. So I find my hyperfocus very swingy. So when I'm in hyperfocus, I'm absurdly productive, unless that hyperfocus is pointed at the wrong thing. I had an experience a year or two ago where I had stuff I needed to do and all I could think about was RVs and campers, and I was just obsessively hyper-focused on that to the detriment of the work that I actually needed to get done. But when that's not the case– I can also recall a period a couple of years ago where I got about six months worth of work done in a month just because I was so hyper-focused on this one big coding task that I just flew through the project, and then had the subsequent ADHD burnout and was underproductive for a month or two after that.
EM I think a lot of the people who are saying, “Don't be so fast to call it a superpower,” we're saying that of course there are some areas in coding or in a developer's worklife where having ADHD might kind of give you an edge or give you a bit of a superpower, but not necessarily all areas of a developer's life if you're a manager or if you have a job that requires a different kind of work that might not be as rewarded by that. I think you have a better vocabulary than I do about this, Chris, so I'd love to know what you think.
CF That's an interesting point. So thinking about what you just said and thinking about the way I often talk about ADHD with folks, I think one of my big beliefs is that a lot of the way life, work, whatever, is structured is around the needs and preferences of neurotypical folks and that's not inherently bad. It's completely understandable how that happened, but it creates some unique challenges for folks who are not neurotypical. And I have found that for both myself and for some of the folks that I've talked to or worked with, that you end up being a lot more successful and productive when rather than trying to adapt your ADHD to these neurotypical structures, you figure out ways to adapt the structures to your needs, where you work with your ADHD rather than against it. So there are certain types of development work that do not, in my opinion, jive well with ADHD. Even if we want to take this at a higher level, there are certain, I guess we'll call them ‘developer norms’ that don't always work well with ADHD. So the daily standup, depending on when it is in the day and how it's structured, I've heard some folks say that it really, really benefits them, but I've heard other folks say that it's a complete nightmare. So for me, in certain companies it has been a nightmare. If it's long in duration, if it happens a little bit later in the day so it interrupts you mid-flow, all those kinds of things. And so I have found that I have the most success with my ADHD as a developer in certain types of work and not others. So project-based work rather than, I guess I might call it agency-style work where we want to know how many hours this thing is going to take and we need it done by this very specific day and then you move on to this next thing– this very rigid kind of thing. I personally do not find that that works well for an ADHD mindset because of things like time blindness where it's really difficult to estimate how long things are even going to take or how long you've spent on tasks you've done, or this need for consistent, predictable productivity. I think one of the things you find with ADHD is that you'll be really productive at certain periods and then not so productive at others, and a more project-based type work thing tends to work a little bit better for that. Or maybe a different way to phrase that would be working on interesting, unique challenges better lends itself to that type of working style for the neurodivergent person then a type of thing where you're just knocking out small little features over and over again or doing the same kind of cookie cutter work, because it gets boring. ADHD brains, we crave novelty, we crave dopamine, and so working on cool, interesting stuff really triggers that. Doing copy paste work over and over again gets kind of mind numbing after a while.
RD Do you think also the project-based work, because it's a longer sort of thing, it balances out the good and the bad, the hyperfocus and the burnout?
CF I think project-focus maybe isn't the right word here, because agency work can be project-focused too. It's just that I find that work where– you were hitting at this, Ryan– where you have a longer cycle and so you can have these periods or days of the week or even weeks where you get a lot done and then weeks where you get a little bit less done or where you have a little bit more flexibility on what gets done when, it tends to lend itself a little bit better to someone with ADHD and how they work than it might to a neurotypical person, just because as you noted, it balances itself out a lot. It's not necessarily that ADHD folks are more or less productive than their neurotypical counterparts. It's just that that productivity tends to happen in a spikier or more wave-like pattern. It's a little less predictable. And the other thing that helps too is having jobs where you might have a mix of big deep work and little administrative work, because those, “Oh man, I just have bees in my head. I can't get anything done,” you can fill those with the administrative work because you don't have to think about it. It's kind of mindless stuff, and then you can really knock it out of the park with the deep work. But having the freedom to structure when you do those different things based on, I call it your ADHD flow. You wake up in the morning and you're either in it or you're not. Sometimes you can trick your brain into getting into the flow and doing that deep work. Sometimes you just can't. Sometimes you just have a day where it's just not happening.
EM Not happening, yeah.
RD So somebody with ADHD has kind of looked at this. Do you find that folks with ADHD sort of have the same working behavior, same sort of things that they deal with, or is it a wider spectrum?
CF It's definitely a wider spectrum. So one of the things with ADHD is that it's really badly named. It's badly named for a couple of reasons. So ADHD stands for Attention Deficit Hyperactivity Disorder, but it doesn't necessarily mean you're hyperactive and it doesn't mean you have a deficit of attention. You just have trouble regulating that attention. So within ADHD, you have some folks who have what's called inattentive subtype, which means they have the trouble with the regulating but they're not necessarily hyperactive. Eira, you mentioned the differences between men and women. Women are a lot more likely to have this subtype, and as a result, they tend to be underdiagnosed because they don’t show that hyperactivity. So often they get labeled high achiever but lazy, or some sort of nonsense like that. You could be hyperactive without the inattentiveness or you could have a combination of both. So I have a good friend of mine who is not hyperactive, he's the inattentive subtype, whereas I'm combined, I have both as you guys could probably tell from how much I'm bouncing around here. But him and I have talked a lot. We actually had, over on the Frontend Horse, a live stream. Once we went on and we talked about our ADHD and it's amazing how different our preferences, our needs, the way it manifests in our work are because we have different subtypes. And even within those subtypes, you'll get different people preferring different things. So for example, a lot of ADHD folks find time blocking where you carve out time in your calendar and you say, “During these hours, I'm going to do this specific thing,” a lot of ADHD folks find that really helpful. I do not. It just does not work for me. And so I think what's helpful is that there are a bunch of different strategies that might work, but they won't work for everybody. And there's also a bunch of different strategies that might work for a period of time, and then they lose their novelty and they don't work anymore. And then you need to find new strategies, which can be a very frustrating thing because you just want to find something that works and get on with it and it doesn't always work like that. I've been very fortunate, it took me like 20 years, but I eventually found some evergreen strategies that work for me, and then a whole bunch of things that work in the short term and then get boring. Everybody's unique.
EM I think that's what's so fascinating about ADHD, at least from what I've learned about it and the folks that I've talked to. There's such a diversity of expression and the way that it comes out and the different accommodations or workarounds that people find are different ways that they choose to maximize the ‘superpower’ aspects of it. It's kind of a cliche, but it seems almost as if there's as many different ADHD subtypes as there are people with ADHD.
CF And it's similar with autism as well where you've met one person with autism, you understand what one person's autism experience is like.
EM You’ve met one person with autism.
CF Right. Everyone's a little different. I personally have found that with ADHD there's maybe a bit more overlap. So everybody's ADHD experience and accommodation needs are a little bit different, but there are enough similarities that I think you can make some– I don't want to say generalities, but at least some recommendations that will work for a good chunk of people in a good chunk of situations. Certainly will not work for everybody and won't work all the time, but we can absolutely talk specifics if it's at all helpful.
RD I think going into specifics on the recommendations would be interesting.
CF For sure. So I think one of the things you hear from a lot of ADHD folks, actually both ADHD folks and ASD folks, is around the importance of having what's sometimes called a second brain. In ‘getting things done’ parlance, I believe this is called a ubiquitous capture device, a UCD, but in the neurodivergent space we just call it a second brain. So it's a little bit different for ADHD versus ASD folks, but for ADHD folks, generally speaking, we have a very large hard drive and a very limited amount of RAM, to put it in computer terms. So I can tell you just so many useless details about things from the 90’s, but I do not remember where my keys are, and I can hold one or two things in my brain at once before they go out. So the idea of a second brain is that you have some sort of other place where you store all of the things you don't want to forget. So if you have a brilliant idea, a thing you need to do, just whatever it happens to be, your boss gives you a list of tasks, you need to immediately throw it in this other place so that you don't forget it. Because usually what ends up happening is your brain tosses it out before it gets written into your brain's hard drive– I'm keeping this in computer terms because it’s a developer audience so it makes sense. Obviously brains work a little bit different than that, but before it gets written to the hard drive, it gets garbage collected by your brain and it never makes it there, and that's a problem. So you put it in the second brain and then you have it. So a lot of folks with ADHD find that a paper notebook is the best tool for this because something about the act of writing it down tricks your brain into writing it into your hard drive space rather than just flushing it out entirely, and I have personally also found that to be true. However, I tend to use a digital second brain tool anyways because I would always forget to bring my notebook with me. I had this really, “I'm going to do this,” and then I'd go out somewhere and it would be on my desk, so then I'd email it to myself or I'd text it to myself, and then I'd have all these different ideas scattered in all these different places and I'd lose them. So I have personally found that having a digital tool, while it has some of its downsides, is helpful in the fact that it's just literally always with me. It's on my phone, it's on my computer, it's on my iPad, it's everywhere. So that's one really big strategy– just have a place where all your stuff gets captured. And then the other thing that's really hard is to then actually do things with all the stuff in your second brain. So one of the important parts of having one is to build a habit of looking at it every day and going through and being like, “Okay, I need to do something with this today,” or, “I don't need that. We can leave that there for later.” So this is another place where I personally find digital tools helpful because I can have a bunch of different ideas scattered across a bunch of different notes or lists or whatever, and then I can pull them all into one view. And then just in the morning I go through and I'll just mark off, “I need to do this, I need to do this and do that,” and then they show up in one spot. So that is helpful. There's a bunch of different tools for doing that. I use Obsidian. I used to use Microsoft To Do, which I still strongly recommend to anybody because it's basically as close to a paper to-do list as you can get in digital form. The one challenge with any sort of tool like this is that ADHD folks have a tendency to, because it's fun and new, over-fixate on the perfect system to the detriment of actually doing the things in that system. So you will spend a week and a half trying to tweak your Obsidian setup exactly the way you want, and then you have all these to-do items piling up that don't get worked on.
EM That's something I've heard from a lot of folks.
CF Because it's new, it's fun, it's exciting. It's a cool tech thing you can fidget with, so that's part of it.
EM Second brains is a topic that we've also written about and talked about from a developer perspective, just in terms of developers, whether they have ADHD or not, tend to want a second brain handy, and Stack Overflow acts as a kind of second brain for a lot of developers. They don't have to remember these snippets of code or these short pathways because they can just Google it again and look for that familiar purple link.
CF Absolutely.
RD I wrote something about why people find a purple link and a lot of times it's because it's a navigational thing. They just search for the same thing over and over.
CF It's funny you say that. I pulled the visited styling off my site very briefly a year ago, and I got so many emails from my ADHD students begging me to put it back precisely because of what you just described. It’s how they reference, “Oh, I already looked at this,” or, “Oh, this is new,” or, “Oh yeah, that's that thing that I reference all the time.”
EM I think it's a thing that we sort of rely on sometimes, at least I do this myself. I rely on it to tell me if I've already looked up a piece of information. And it's the sort of thing I don't realize I'm reliant on and if you were to take it away I probably would be discombobulated.
RD Right, or is this the right answer? Is this the thing I'm looking for?
CF Absolutely. One of the other things I really– not to turn this too much into a promotion for Stack Overflow–
RD Please do.
EM That is fine.
CF One of the things I really appreciate about Stack Overflow over say, just asking ChatGPT about answers, is the context. And I know sometimes in the context you can get people bickering about what the right approach is or whatever, but having an answer that's flagged as correct and then having additional information below it that explains, “The reason this approach works,” or, “Hey, this was the right approach five years ago, but now there's this new modern approach that does the same thing.” You lose so much of that when you have a tool that just grabs the most popular answer and spits it out without that additional information.
EM Right, where did this come from? Who came up with this? Why is this the best answer? Especially for folks who are brand new to coding or brand new to the language they're learning, there's no sense of orientation without that context.
CF Absolutely.
EM At least that's what we've heard from folks.
CF So Stack Overflow was pivotal to my developer learning experience so I appreciate everything that you guys do. But so second brain, Stack Overflow as the second brain, that's an interesting concept. I tend to steal the snippets– not steal the snippets– copy the snippets, put them in my second brain and then drop a source link so that I can go back to it and reference the context. That's where I was going with this. I like that context. I find it really, really helpful. I have just so many bookmarks to Stack Overflow snippets and explanations of things. And for me, having another tool is a way to keep all that in one place with that cross reference. So that's a big part of it. One of the other things that I advocate for that isn't possible for everyone and every job, but I find that a lot of ADHD folks will have different states of being depending on the time of day, just how the wind happens to blow that particular day or week or whatever. It varies from person to person, but for me, my states of being are that I'm either in a hyper-focused mood where I'm deeply focused on one thing and I can be phenomenally productive at that, a kind of physical or high energy mood where I have lots of energy but my brain feels like it's filled with bees and so I can't focus on any one thing, or I'm in a state of burnout where both my mental and physical energy are low. And these are mine. Different people will have different states of being, but I really am a big believer in optimizing your day around where you're at rather than trying to square peg in a round hole. So if you're in a ‘my brain feels scrambled’ kind of mood, trying to do deep work is going to be just a completely fruitless effort. There are ways you can potentially get your brain there, but if your brain isn't there, I've just heard so many stories from ADHD-ers around, “I spent hours just staring at my screen and I got nothing done.” And then it becomes this really bad cycle of feeling down on yourself for not feeling productive or your imposter syndrome kicks in, like, “Maybe I'm just not good at this.” One of the other kinds of hallmarks of ADHD that not everybody has but a lot of folks do, is rejection sensitivity dysphoria or rejection sensitivity disorder. It's called a couple different things, but RSD, where your perception of a situation and the emotions around it are much bigger than they might be for a neurotypical person. So where a neurotypical person might be like, “Oh, I'm just having an off day,” an ADHD person might take that and internalize it into all these feelings of failure. “I suck at this. I don't belong here. My coworkers are all so much better than me. Everybody is going to hate me, my manager.” It just snowballs into this really big kind of feeling of overwhelm. And I have found that for me personally, respecting where my body and brain are at that day goes a long way in combating that sort of thing. It's not always possible. There are times where I've got this thing, it's due tomorrow, the client is expecting it tomorrow and I have to get it done today. The good news is that for a lot of ADHD folks, that looming deadline triggers a dopamine spike because of the excitement. That's why you get a lot of ADHD folks who will also last minute a lot of stuff. Because the deadline creates this sense of urgency that then becomes exciting and causes you to hyperfocus on the thing.
RD That old procrastinator's euphoria.
CF So I have heard a lot of ADHD folks find it helpful setting deadlines for things earlier than when they're actually due to kind of trigger that behavior. That doesn't work for my brain. My brain is like, “No, you just made that up. The deadline is two weeks from now. You don't need to worry about this now.”
EM I was going to say, I've tried to do the same thing with myself with editing deadlines and copywriting deadlines over the years. I know I made it up.
CF But I heard a lot of other ADHD folks tell me that they find that useful. So I want to put it out there as a strategy. It doesn't work for me, but it does work for some people so it's worth looking into. And time blocking is, I think, designed with that same idea in mind. You've said these are the two hours you're going to do that thing. You better do that thing. Again, my brain is just like, “No. No thank you.”
EM You have a rebellious brain.
CF I do. I grew up on punk music and it’s just carried over to my working world, unfortunately.
EM That's relatable. This was a great conversation. I love hearing your perspective on this as someone who has written about it from a much more personally knowledgeable place than me, since I am neither a working developer nor someone with ADHD.
CF And I’ve got to be honest, Eira, that did not come through in your writing. I thought it was written by someone who was neurodivergent or had ADHD, just because it felt so personally resonant. So thank you for your work on that. I really appreciate it.
EM I really appreciate that. Thank you. I talked about this I think maybe on the podcast or before, but I have OCD and that is another sort of condition that is sometimes seen as a superpower in certain contexts, and as a copy editor, I see a direct relationship between my OCD and my ability to see those extra spaces after the period.
[music plays]
RD All right, let me shout out a fresh Lifeboat Badge. We've got one from two days ago. “Why is quick sort better than counting sort?” awarded to Phil. So if you have a technical interview coming up and you need to brush up on quick sort, we've got an answer for you. My name is Ryan Donovan. I edit the blog here at StackOverflow. You can find the blog at stackoverflow.blog, and if you want to reach out to me with article ideas or podcast suggestions, you can find me on X @RThorDonovan.
EM My name is Eira May. I am also on the editorial team here at Stack Overflow. You can find me on twitter.com @EiraMaybe.
CF I'm Chris Ferdinandi. Thank you both so much for having me on the show. If folks who listen to this want to dive deeper into some of these topics, you can find me over at adhdftw.com/stackoverflow. That's ADHD For the Win slash stackoverflow.
EM Amazing. Thank you so much, Chris.
RD All right, everybody. Thank you very much, and we'll see you next time.
[outro music plays]