We interrupt your regular programming broadcast for this random blurb from my personal life.
When I was 13 years old or so, I was doing horrible in school. I never did homework and hated basically everything about school. I also began to learn to program at this age however. I was completely sucked into it. I would stay up til 4AM nearly every night(with a towel under my door so my mom couldn't see the monitor's light). As a result, I didn't pay attention in class and generally didn't care about anything school related. My mom got me tested for ADD(not ADHD) for my focus problems. The test was positve, so I began to take Adderall. The only positive thing I can remember about adderall is that the first day I took it I couldn't sleep that night and programmed until 6am without even feeling tired. The medication didn't help my grades at all.
Now lets give some background: I was a typical nerd in middle school at this time (7th grade). I had 1 friend who really annoyed me more than I enjoyed his company. I was bullied and disliked by basically most kids. After 5th grade is when this bullying and such began, and in 6th grade is where my grades really started to slip. In 7th grade I was beginning to maintain Ds and Fs.
So, then, I went to live with my Dad in the middle of 8th grade. This entailed moving about 45 minutes away and changing schools. I also stopped my adderall medication completely. It was the best thing that happened to me. Suddenly, my grades were As and Bs. The big thing I'd like to point out here is my mom and dad had different ways of parenting. My mom would scream that I need to get my homework done, while my dad would basically just say "you can't do anything else until your homework is done". And so, my homework started to become done. Between me and you, I still didn't do every bit of every assignment, but I usually got over an 80% on each assignment.
Now, the point of this? ADD doesn't mean you're doomed to take medication for the rest of your life to be "normal'. In fact, I wouldn't be where I am today probably if I was "normal". One of the key problems I deal with in "having" ADD is that I have an extreme difficulty focusing on tedious tasks. This is why I didn't finish every bit of my homework every day. This was why I only did 2 of the 5 algebra problems which were exactly the same but with different numbers. However, I knew my topics despite getting less than perfect homework grades. It wasn't too uncommon for me to set the curve in my advanced trigonometry class for instance, even though most of my homework grades were never higher than an 80%. However, since I've graduated high school and such, I've been making fairly big advanced in my tolerance of tedium. It's still lower than an average person, but much better than it was.
Part of the tedium tolerance bit came from burning out at my first programming job. Basically, I was "lead" developer and didn't know what I was doing, had way too much to implement, and had a boss that wasn't in the office every day(or week!). I got layed off and plenty of people came to me requesting websites. The business opportunity was there to make some money. However, I tried and just couldn't. I couldn't focus on programming. It was the worst months of my life since I graduated from high school. However, I broke myself out of the burn out. After a few months I had a project idea that I just couldn't get myself to work on. I forced myself to work on it. I forced myself to not research things I wasn't sure of. Just write code. (I may have also had some liquor handy to encourage this)... and I wrote code. Day by day from that point I got back to "normal", though I still am careful not to spend too much time outside of work programming. After this, I could stand some tedium.
The other problem I still struggle with concerning ADD is getting started on a task and following through to the finish, especially with big tasks. I've found a few successful ways to mitigate this. A portion of my "mitigation" technique is to not care though(who cares if I never finish that open source project), or to cut projects into smaller pieces.
Anyway, back on topic. ADD is most likely WHY I am such a good programmer today. If I hadn't had ADD, I wouldn't be able to hyperfocus so well on it. Hyperfocus is a common symptom of ADD. It's basically the ability to really really focus on one thing for extended amounts of time.
Now, the point everyone should take home from this article is that hyperfocus can be shifted to other subjects. Before I discovered programming I was an avid console gamer. I remember playing through summer days where I didn't put the game down but to eat and sleep. Then, I discovered programming and I got to the point I didn't put the keyboard down but to eat and sleep :). The point is I can now hyperfocus on a broad amount of things, provided it's at least mildly interesting. Most of the time it happens without me realizing it until I look down and an hour had passed (like this this article). So, before all you parents go and give you ADD kid lots of medication, remember that ADD isn't necessarily a disability. ADD boils down to the person being able to deal with less tedium and with less focus on boring things, and with more focus on interesting things. You just need to get them interested in something good! (like programming!)
Also, for reference, I tried Adderall again(legal prescription, not street crap) since graduating from high school. I actually found it was like crack for learning and reflexes. I have high scores in Modern Warefare that I can't beat because I played while on that stuff. Oddly enough, it really didn't help me program though. It helped me to stay focused while learning something a bit tedious, but other than that, it didn't help me to do what I need to.... so, I stopped it after like 4 days. Also, I still had the always-queasy feeling and heart racing. The big reason I decided to stop taking it though and to vow to never take it again is I read what people had to say online. You basically get addicted... and after a while(years), a low dose won't work and it has to be bumped up. It's also horrible for the heart and has horrid withdrawal symptoms. For the short time I took it I could feel the obvious withdrawal symptoms: difficulty focusing(even on interesting things), sleepiness, drowsiness, wanting to lay on the couch like a vegetable.. But, these symptoms subsided over a day or two for me. For people that take it every day it'd take weeks, months, years, or even longer to feel "normal". It's like having caffeine for the first time. You get all hyper and such and feel so awake and full of energy... Well, that is what Adderall makes you feel like all the time, so when you come off of it, you feel really lacking in energy by comparison and want to wait til you have more energy..