Check out the Latest Articles:
Hyperactive Software Development

I have ADHD (with a capitol “H”). I was diagnosed a few years ago when I was struggling to stay afloat in a career that had little patience for hyperactivity and impulsive creative overdrive. I know that everyone in America thinks they have ADD or ADHD. It’s a fashionable excuse we’ve come to accept. But seldom championed are the thousands (not millions) of kids and adults who feel like they’re drowning every day, trying to fit in to a world that moves at seemingly too comfortable a pace. I can speak from painful experience that, if working in the wrong career, having ADHD is neither fashionable or desirable. However, in the right career, someone with this disorder (even better, gifting) can learn to shine. I believe software development is one of those careers.

When I used to take meds for my ADHD, everything in the world slowed down to a more normal pace. Instead of doing, thinking, speaking, walking faster than everyone else in the crowd, I was able to maintain a more normal pace. It felt good to slow down because it made me feel a little more normal… a little more like everyone else. It was conformity (which I hated), but being different can be exhausting. Meds gave me rest from the race.

After walking away from my former career, I took myself off meds and went back to al naturale. The world quickly went back to spinning at break-neck speeds. But, you know what? It’s been okay! I’ve finally embraced a life direction into which I was probably being led all along. 

I create software. Software development is fast-paced and highly stimulating. I don’t need meds because I can spin my work up to match my crazy pace. With that kind of synergy, I can thrive and impress. As long I keep up with my tasks, I can maintain that pace indefinitely. As a programmer, I spend most of my time creating things. Sometimes I create things for people to use. Other times I create things for computers to use. Sometimes I get to stir up some graphics. Often I get to talk to users or customers about what they’d like to see and then enjoy their response when they finally see the finished and polished product. I love it!

Most of the observations in this article are about me. But, really, I’m not all that different from any other awkward creative-type for whom it was recommended they be put on Ritalin by their 2nd grade teacher. I might be just like you or a friend of yours. You might be struggling with your choice of careers or feel stuck going through the motions of the daily grind. I’m here to tell you, you were not created to merely exist. I’m also telling you that, if you enjoy creating things and solving problems, you should seriously give software development a look. You’ll probably love it (almost) as much as I do.

For programmers out there with ADHD, hang in there! You’re an unstoppable force if you can find your groove. Here are some tips I found on StackOverflow.Com by David Schmitt. Pretty awesome tips!

The two main strategies that have helped me are:

  • Only one project at any time: I’ve suffered from following more projects than I can count on my fingers, each “clamouring” for attention. Now I’ve radically cut down on projects either by finishing them “once and for all” or by simply dropping them altogether. Earlier this year I’ve founded a company and now I’m down to three projects: Health, Family and Company.
  • Separation of concerns: When doing everything on one desk, the risk is high to “drift” from one thing to another. I’ve removed all procrastination stuff from my work PC and use my Laptop only for “play” and other private internet usage (mails, userfriendly, slashdot). The PC is on my desk, the Laptop in the Living Room. This keeps a healthy distance between Company and private stuff.

Of course these two things are quite general stuff. Some of the smaller, but also helpful things:

  • No Lurking on IRC/other chat channels. Either I need or give support/community in the project I’m working on or I’m not in that channel.
  • Close The Mailer. Checking mails because the project just compiles is just stupid, since waiting for a compile is just enough time to see whether or not there is mail. If there wasn’t any mail, I’ve interrupted my flow for nothing and if there was mail, I’d either have to interrupt my flow even more to handle it or punt it anyways. So now, I’m checking my mails three times a day and have reduced my interruption count significantly.
  • Exercise. Often while programming I feel the urge to jump up and run around in my room. Especially when sitting before the tougher design decisions. Going biking every other day has significantly improved my ability to concentrate on stuff as well as the added benefit of improving overall stamina and well being.
  • Spent Time Bookkeeping. I’ve got a simple spreadsheet where I enter my Company time and some private stuff. I keep it to 15 minute chunks, which makes data entry much easier and any smaller units just cause more overhead. If I’m not doing something I can “bill” on the Company and it’s between 8:00 and 18:00 I know I’m doing something wrong.
    Also, at the end of the week I get a nice report how I spent my time. One big caveat here though. When I started this after finishing university it was a hard blow for me how little time I was spending “productively.” It took me quite a while to recognize, that I need to record everything I don’t do for Family. Specifically:

    1. I need to record times spent exercising as productive. See above.
    2. I need to record times lost due to external factors: I’m travelling a lot lately and when I’ve only recorded 25 hours of work in a week, I suck. But if I add the two days I spent on the road that week, I see that I did more than 40 hours. Suddenly “I suck” changes into “the external-factors-that-cause-my-travels suck,” which is a much healthier thing to say.
  • Eat and Sleep Regularly. Stand up at 07:00, Breakfast, Lunch at 12:00, Dinner at 18:00, Sleep from between 22:00 and 23:00.
  • Appreciate the Small Successes. Even if I’m not yet there, today is better than yesterday and tomorrow will be better than today.
  • Adjust your Environment. That’s quite a broad topic. As a home worker, I got myself a nice new desk and chair which I now use exclusively for work.
    Also I really like listening to music, but vocals — especially in my mother tongue — distract me incredibly. I’ve tried instrumental music, which worked for a while until the trance beats got to my nerves. Now I’m going for the complete silence. It might be different for you, but there’s only one way to find out for real: experiment and watch yourself while working.
  • Become Accountable. Get a Conscience. I founded my Company together with an old friend, whom I deeply respect. By his presence and by knowing that our success is now is interlocked, I feel compelled to give my best.
  • And finally Constant Vigilance! Distractions tend to creep up from every nook and cranny of your life (stackoverflow anybody? ;) . Keeping them at bay and managing them will stay a constant struggle. Having said this, I have to close my stackoverflow tabs and get back to programming!

  • Eric Burton

    Thank you very much! I will DEFINITELY be using this for future reference. :) I think the sleep – well, my general lack of routine – and music are what I have the most trouble with… plus I have the sudden urge to purchase a bicycle…
    Anyway, very helpful post, Lord Byron. ;) Thanks,
    – Eric B.-