How to be better at programming with ADHD

Hi, FCC community!

I’ve created my account many years ago, but I rarely find time to check the website and do some programming. Once I even completed HTML and CSS courses (the old ones), but when it was time for JS, I left the website for many months and years to come.

I can name many things that distracted me from my programming career, but one thing that struck me a few days ago, is my inability to break big tasks into small actions. For me, the concept felt alien — to be honest, in my childhood I couldn’t finish a big LEGO peace even with instructions, because they weren’t clear enough or there was too much to do.

And so, every time when I started going deep into FCC curriculum, I was overwhelmed with how much information there is. All the courses split into many-many tasks, easy and hard. All the blog posts that teach you a new concept. And my perfectionism said, “I need to learn all of that so that I can become a real programmer”.

But when I faced some hard task I didn’t know the answer to — I felt ashamed and just left it undone. “Hm, maybe web developing is not the right track for me, let me check data science curriculum”. And it happened again. I was too afraid to look up the answers and solutions, too afraid to think “Well, I’ve forgotten how to make a string out of a list in Python”.

And only when I checked FCC website a few days ago and found out the “Daily challenge” section with very small and real-life tasks, I had the “Eurica!” moment. Now I felt the ability to think about an algorithm (list of instructions on how to accomplish something) before I wrote the code. It helped me not only to think about the logic of the code, but also make it more elegant and easy-to-read.

Also, by completing these small tasks I’m no longer afraid to ask AI chats on how to turn my algorithm into code. Previously, I would give up and ask “AI, complete the task for me”. But now, I’m the thinker in the room, I’m the one who comes up with small and manageable ideas. The AI just helps me remember the syntax I’ve forgotten or teaches me new byte-sized concepts. It doesn’t matter if it’s JS or Python — the languages have different functions and syntax, but the logic behind them is universal.

So, if you’re like me, try to do one challenge in a day on FCC. It’s a cool way to learn new concepts and remember the old ones. Also, I believe those challenges are the tasks you might receive on a real interview for a programming job.

Cheers:)

8 Likes

Thanks for sharing, in some ways I can relate especially with losing motivation or focus along my journey. Curious - would you have been more likely to stay with it/ maintained focus if you progress was tracked with a local file you keep on your computer?

For example let’s say on 15th September you did stuff on the platform for like 30 minutes. That activity was logged and a download able markdown file that you alone keep was available for download…

1 Like

That’s an interesting note, because with LEGO instructions they give you more or less singular steps to complete, worse case in bulk all without words any only visual indicators. There’s little to no flexibility to the instructions, regardless if the build is big or small, its one piece attaching to another.

This is in contrast to web development, or any development in general. Where it is almost all “it depends”. freeCodeCamp presents things in a structured order so its less overwhelming, but this is just one way to learn, and do things, but there isn’t really a “wrong” way, only that holistically once completed you have the knowledge, the order doesn’t matter as much.

3 Likes

Hi! I am really new at coding, and also I have ADHD so its kinda been my hyperfixation for the last week… but I know I have a really long road ahead, I’m just started learning HTML and all the basics, and reading you really helped, I struggled a lot to start because I’m 25 and it was a really drastic career change and I felt like everyone around me had everything figured out already and I felt like left out… But as you say, one challenge a day. So thank you for the encouragment. (Also sorry if the grammar isnt perfect, english isnt my first language)

3 Likes

I have OCD, ADHD, and anxiety. As such, it can be difficult for me to learn new things because I worry too much about being correct/ perfect, or sometimes I get easily distracted. My system currently is using a time blocking to do list app and making sure I add things that I want to prioritize to it. Basically by using time blocks I know some of the things I do daily will permit me to have at least some time to put toward things I want to prioritize more than others. For example, today I started the Full Stack curriculum and I did 30+ steps took a brief break and then returned to complete 30+ more steps. My goal is to work for 2-3 hours per day which I know will take a considerable amount of time to complete, but consistency is what will ultimately be what matters when learning as it takes time because you don;t want to dive in and burn yourself out and then quit altogether.

5 Likes

Hey, I have AuDHD and I find it harder to complete the theory based steps than the practical one. I take notes otherwise I’ll forget and it seems to take me ages. How did you manage 30+ steps?

1 Like

Hi, thanks for the reply. Well, for me the struggle is real right now. I don’t quite get the take on the ‘local file with progress’, but I guess everything that helps you might be OK. As for me, all the notebooks and ‘keep up with your progress’ apps are additional distractions. I just get lazy, forget to take a note, and than that’s it, I don’t use it anymore. What are your methods? How do you deal with losing motivation and focus?

Yep, so the thing with LEGO instructions for me is that sometimes there would be a time you need to stick two big pieces together or stick one small piece to a big one from the bottom. But instructions don’t show you where exactly you need to put it. Well, it was a long time ago I messed around with LEGO, so maybe it’s just one of the examples why it was hard for me to finish big LEGOs.

You tell me. I’m almost 29 and it’s been like 7-8 years I’ve tried to learn at least front-end :slightly_smiling_face:. Had one interview 5 years ago for a position of AI linguist for a national bank in my country. Failed enormously to explain what a list is in Python and failed my test to create a Telegram bot. After rejection, it’s been many years since I’ve started to think about programming seriously.

If you also have this ‘I don’t like when people reject me’ mindset, there must be something done. I heard from some successful IT friends that a new person needs to go through tens and hundreds of rejections before they land a first gig.

But yeah, when you learn programming, it’s easy to go down the rabbit hole. Like, what does the element do, how can you change it with CSS, what are CSS libraries out there, why do you need JS to do simple actions and so on. Instead of trying to learn all the concepts, it might be easier to just stick with the FCC plan. And instead of doing like all HTML curriculum in one weekend, I try to do just a few assignments. And later I would recall what I did.

And if I still don’t understand something or I know how to do something but I just forgot how to write it in Python or HTML, I just ask AI.

Great plan. Just make sure you’re enjoying the process, and that you don’t do too much assignments. In the past, I would try to do all the curriculum in one sitting. And I would burn out. But 2-3 hours a day doesn’t seem like a lot, especially when you take breaks. All the best to you

Often the trap of LEGO instruction is not paying attention to the details. They do show you how to put things together, they are well designed that way, but often times, especially with complex builds, how/where things go together might be difficult to decipher if care is not taken.

For example tossing a single 1-by-1 on a large plate is exactly shown, but you as a human should take care in actually counting where on the plate the 1-by-1 is going (usually by counting off a corner or something). By not doing this your piece isn’t in the right spot, which can cascade later.

Taking this back to programming/coding, this would be more “attention to details” than anything. That said, unlike LEGOs, coding has a ton of tools that can help prevent those smaller mistakes. At the same time, putting a piece in the wrong place at the wrong time probably one of only a few mistakes you could make during a build, that and losing pieces lol. While coding is just an endless pit of possible gotchas and issues you need to work through, or gain experience from to avoid in the future.

1 Like

Breaking things down into small, consistent steps is honestly the best advice anyone could give. The Daily Challenges are a brilliant way to build that problem-solving mindset again, one piece at a time, without pressure.

I love how you framed the AI as a learning partner rather than a shortcut!! That shift in approach says a lot about your growth. Thanks for sharing such a motivating story!

1 Like