My first week on Concerta

I made posts with my reflections on each of the first two days on Concerta, and now I’ve decided to slow the interval a bit so as to have something interesting to say. This is my first week of being medicated for ADHD so some of this may apply to all adhd drugs, or all stimulant adhd drugs. With a sample size of one I can only say how it felt for me and leave the causes and effects in a big messy pile.

Sleeping:

I’ve definitely noticed that it’s harder to get to sleep on Concerta. The first day I took it when I got home from the pharmacy (at around 10am) and was pretty spun up at bedtime. I’ve since shifted to as soon as I get up (7-8ish) and that seems to have helped things.

Appetite:

It definitely makes me less hungry, and also less interested in food overall. I’ve been surprised by the nuance of this change. I’m not tempted to eat every last scrap while I’m cooking or cleaning up, instead I’m finding myself listening to my body and eating if it is an appropriate mealtime or if I feel weak.

Productivity:

I think I had a physical and emotional high the first few days about actually getting shit done and I got a whole lot done. Things seem to have tapered down a bit from that initial fervor and I’m still feeling more functional and capable, but not to the same extent. This is interesting because it’s hard to judge what is ‘getting used to the new normal’ versus the first few days just having a different effect as the 7th day. I’ve still noticed that when I get anxious about a deadline or task that can still really cut into my efficiency if I don’t use my bevy of coping mechanisms to stay focused. I don’t think I was expecting that to go away, but it sure would have been nice!

Caffeine:

I’ve tried cutting back, cutting it out, and decaf (sadly – yuck) and so far it really does seem like no caffeine has had the best luck. Time will tell, but the days that I have cut out coffee are the days that I have felt more collected and focused. The concept of cutting out coffee bums me out a huge amount, but so does being ineffective at life so I’m happy to make the trade. I could also see saving coffee for days when I have fewer demands on my focus. I’m definitely going to continue testing this.

Next steps:

This hasn’t been an easy week at work or home and I’m hoping next week will have more exercise and sleep. It makes sense that all of the things I needed to do before medication will still help me on medication. Part of my brain definitely wanted this to be a truly “Magic Pill” versus just an effective pill, and that really is magical thinking.

Test driven development and adhd

TLDR: starting with the end goal in mind and working backwards from there is a great structure for the easily distracted

Test Driven Development (TDD) is a common thing for developers to talk about but in my experience it is not actually used very frequently. I’d like to point out some real advantages for ADHD brains in using TDD.


TDD is like a todo list that checks itself when you finish the task

The first step of TDD is to write a failing test. That test represents the feature that you are about to write. You run the test suite, and the test fails. Great! The next step is to implement the smallest feature so that the test passes. Then you refactor as best as you can and repeat until you have built everything!
Here’s the more formal definition from agile alliance

  • write a “single” unit test describing an aspect of the program
  • run the test, which should fail because the program lacks that feature
  • write “just enough” code, the simplest possible, to make the test pass
  • “refactor” the code until it conforms to the simplicity criteria
  • repeat, “accumulating” unit tests over time

This feels like a lot to do in order to write some code, and I agree – it is. I can think of at least two strong benefits for ADHD brains that you should really consider.

It’s a framework that helps you find the ‘smallest thing I can do that moves the project forward’

By having a test that is failing, and a consistent cycle of write test – write feature – refactor it is easier to not get caught up in the thousands of things that need to be done. Decide to write the test, then your path is chosen until it’s green. Don’t burn all of your decision making power constantly reprioritizing features. This feels like a living TODO list that is in sync with your code. Having one fewer thing to check off (as much as I do love checking shit off!) means I can keep my eyes on the prize more of the time and task switch less of the time.

Each feature is split into 3 chunks, and those are easier to pomodoro.

Obviously this is hugely dependent on the type of development you are writing, but if the goal is to make one test pass, then that might be a 10 min, 60 min, or 1 day job. The goal of making ALL the tests pass is much bigger. When done right the scope of the new test is slightly outside the focus of the previous test and the amount of new work should also be small. This is equivalent to making smaller TODO items and checking them off more frequently. That keeps the feeling of momentum going and is also easier to schedule – since many of us have trouble with task switching.

The ‘3 chunks’ part comes into play when you’re setting short term goals. If you’re losing steam and know that the test chunk is up next then you might be able to muster up strength to push through that small section. Alternately you could take a break early knowing that the next refactor is going to take a bit. Having 3 modes to move between can break monotony and also allow scheduling flexibility. To make a comparison it often feels like regular development is one single task: finish jira ticket. That is hard because it is monolithic and it has no clear end in sight. If the ticket is not done there is no reward, and the only two choices are to stop working 😟 or keep working 😠. That’s all stick and no carrot.

It helps move some of the “last 10%” earlier into the project.

“Finishing” is a hard thing for many ADHD devs because if you were lucky enough to find something genuinely interesting along the way it is probably not going to reveal itself in “the last 10%” of the work. The interest is gone, so the motivation is gone, so either the code suffers or the amount of effort required to keep the train on the tracks is immense. I keep quoting “the last 10%” just because to me that really takes 50% of the time because it is no longer exciting and I’m suddenly finding EVERYTHING to be more important than writing tests / documentation / code cleanup. TDD moves all of the testing and most of the refactoring / code cleanup earlier into the process so that “the last 10%” often just feels anticlimactic – just banging out a few more features.

Downsides.

I can’t write this and pretend it’s all free storypoints. It takes time to get used to writing this way. It’s definitely slower to start, and it might make pairing with your teammates feel weird. Some styles of coding aren’t well suited for TDD (non-logical front end work feels like a good example.) Lastly it still requires executive function in order to know what the next test is to write. This isn’t all upside, but I’d say you should try it and see how it works for you. I’m not a TDD advocate, but I’m digging in more to see how I can make it work for me.

Day three on concerta – my first workday

Today was interesting.

I woke up, started working and finished a lot of things. My thoughts stayed focused linearly and I didn’t wander and lose track of what was supposed to happen next. I usually do about 6 story points a week and today I did a two pointer before 11:00 and am 60% through 4 more points of work.

I remembered to do several non-work things without outside intervention and I also felt like I had an easier time switching tasks when needed.

Today I tried decaf coffee and I didn’t notice much of a difference. I’m unsure if I’ll go back tomorrow.

My appetite was still suppressed. It’s interesting to think about that. It’s not like food isn’t appealing, but I’m just not good motivated like usual. I’m not eating the last meatball or getting seconds. I’m honestly very full earlier, and I’m unsure if that is because I am listening to my body better or because of something biological.

My one big takeaway

My one big takeaway from today is that Concerta has dropped my mental ‘noise’ to the point where my coping mechanisms can start to work. I was kind of hoping that I wouldn’t have to use those at all after getting on medication. I still need to use TODO lists, and I still need to carefully schedule blocks of work and avoid low-impact/high-dopamine things (like checking slack). The great news is that the combination of those coping mechanisms and the Concerta means that I AM ABLE TO GET THINGS DONE!

Day two on Concerta

Waking up to day two on concerta I expected to find a lot more of the same. I wasn’t sure if I was even going to have anything new to write about, but that ended up not being the case. This morning I woke up feeling a bit dehydrated. I drank a lot of water yesterday, but I also put in a hard ride on my bike and definitely sweat a ton. I also woke up feeling really hungry – which is not like me. I usually get up, drink coffee, and then get distracted by the day. Today there was none of that.

I took my pill, then had eggs and cereal with some coffee. I held myself to one cup of coffee again today – and also didn’t feel tired throughout the day as I would have before the medication. Tomorrow I may try decaf so that I can drink more AND feel the effects of the concerta when it isn’t fighting with caffeine for receptors.

Speaking of hunger: I did feel a diminished appetite for lunch and dinner. That makes sense because there wasn’t any medicine in my body when I woke up and it was probably catching up on yesterday’s missed calories. Unfortunately I also felt a little low energy before lunch and before dinner because I think I hadn’t eaten enough. If this keeps up I will probably need to find some good snacks to keep my intake up. Continue reading “Day two on Concerta”

Day one on Concerta

This morning I picked up my first prescription for concerta. I ate a somewhat balanced breakfast of cereal with peanut butter (for a protein boost) and held myself to only one cup of coffee. Picking up the prescription the before insurance price for 30 days was $257(surprise!), but the “after insurance” price was only $15 ( also a surprise!)

I didn’t plan it this way but I’m glad I started the medication on a Saturday. I didn’t do any work related things today but my life still has plenty of executive function tests on a weekend. I’m not sure what I expected for day one on Concerta, but I’ll tell you what I felt. Monday will be an equally important test though. Continue reading “Day one on Concerta”

Script the pain away

I have a test suite that takes one minute to run.

I run it, wait 20 seconds, get bored and go do something else. I finally remember what I was doing about 5-15 minutes later and check the test, but by then I’ve often lost the context of what I was testing and why! This is a problem for all devs, but ADHD makes it a much bigger problem because I struggle to find focus on a minute-by minute basis, so when I’ve fought  to get focused on a task (and won) the last thing I want is for the task to encourage me to get distracted. 

I’ve found something that works really well for me here – I made a shell script that runs the test and pops up a dialog box to tell me that it’s done. It even asks if I want to go look at it!
ytest(){
    yarn test
    SURETY="$(/usr/bin/osascript -e 'display dialog "Yarn TEST is finished. Go to terminal?" buttons {"Yes", "No"} default button "Yes"')"
    if [ "$SURETY" = "button returned:Yes" ]; then
        osascript -e 'tell application "iterm" to activate'
    fi
}

If the pop up is too aggressive then here is a version to just display a notification

Continue reading “Script the pain away”

I have a test suite that takes one minute to run.

I run it, wait 20 seconds, get bored and go do something else. I finally remember what I was doing about 5-15 minutes later and check the test, but by then I’ve often lost the context of what I was testing and why! This is a problem for all devs, but ADHD makes it a much bigger problem because I struggle to find focus on a minute-by minute basis, so when I’ve fought  to get focused on a task (and won) the last thing I want is for the task to encourage me to get distracted. 

I’ve found something that works really well for me here – I made a shell script that runs the test and pops up a dialog box to tell me that it’s done. It even asks if I want to go look at it!
ytest(){
    yarn test
    SURETY="$(/usr/bin/osascript -e 'display dialog "Yarn TEST is finished. Go to terminal?" buttons {"Yes", "No"} default button "Yes"')"
    if [ "$SURETY" = "button returned:Yes" ]; then
        osascript -e 'tell application "iterm" to activate'
    fi
}

If the pop up is too aggressive then here is a version to just display a notification

Continue reading “Script the pain away”

How to ask for help from a Senior Developer (and get it)

I struggle with asking for help in both directions. I often ask too early (when I should have googled it) and I also ask too late (I spin my wheels for 8hrs when a 5 min call would have unstuck me)

After much struggle here’s my general strategy.

  1. Don’t ask if I haven’t worked on it for more than 30 min.
  2. Be certain to ask before it climbs to 60 min.
  3. Search for the answer – and – make sure to try variations on the search term.
  4. Isolate the problem to as small of a code snippet as possible
  5. State your problem as clearly and concisely as possible (this is also called rubber ducking)
    1. what you expect to get vs reality
    2. what you have tried
    3. alternatives you have ruled out
  6. Figure out the best person (not the easiest) to help you solve this problem.
  7. Double check everything.
  8. Make sure they are free and willing to answer a question, and ask away!
  9. Make sure you fully understand the answer before saying “Thank you.”
  10. Write down what the problem was so that you don’t have to ask again.

Continue reading “How to ask for help from a Senior Developer (and get it)”

Getting diagnosed with ADHD on tiktok?!

I can’t believe I’m a grown-ass man talking about tiktok. Yes, I may have learned a few dances on there, and seen some people do dumb things with their trucks, cell phones, and laptops, but the amazing thing about tiktok is that they have a HUGE community of ADHD content creators. There are people talking about common traits, diagnoses, what medications work best for them, what study techniques and tricks help them actually get things done, and so much more.

It’s a treasure trove of interesting things to consider (as long as you can pull yourself away from it and put the phone down once in a while.) I hear of a lot of people talking about how they ‘got diagnosed on tiktok’ and I think that is half truth, but in a useful way. The way that a video pops up and you don’t totally know what it’s about until they have you hooked means you end up considering a lot of possibilities you might not have otherwise. You might find that someone’s story resonates with you, and you might stick around until the end where they say that their story also involves ADHD. A lot of grown adults are finding that the nervousness or general level of noise that goes on in their minds might not be that common amongst their peers, and those same people are getting curious about what they can change in order to make their worlds more efficient.

This might not me a super useful thing if you have been working on managing your ADHD for a while now, but it is free, and it is definitely entertaining! Sometimes it’s just great to see that there are other people out there struggling as well, and other times you may find a neat trick that helps you remember your wallet. Give tiktok a shot, and if not then go check out reddit, or youtube, or whatever venue fits your personality. Having a sense of community and not feeling alone can make this process so much less painful, so go explore one.

How to have slack remind you of meetings.

Ok, hear me out.

Have you ever been hyperfocused (on anything – not judging) and missed a meeting? Me too. About a thousand times actually. I really wished there was some way to tell me when a meeting was coming up and keep me from missing them.

Enter the gcal/slack integration! I know it sounds lame, but any tool that enables me to perform better at work with no additional cognitive demands placed on me is a great tool. Set it up in slack, hook it up to your google calendar, and it will not only send you a reminder x minutes before a meeting, but it will also set your slack away message to ‘meeting’ so that other people hopefully don’t distract you!

Slightly related -> If you are like me and juggle work and home google calendars, definitely combine them! I had a therapist once that consistently brought up how ridiculous it was to keep them separate and after combining I totally agree. One tab for everything calendrical. One tab to rule them all.

Day one – the hopes and dreams of a software developer with ADHD

This is day one.

This site is to help share (and find) things that help me write software better / more easily / with less struggle. I bet some of them will work for you as well. That’s not just about minimizing the effect that ADHD has on me – it’s also finding all of the small ways that it can help become my superpower.

We’ve all had a day one, or actually many. Lots of them don’t go as planned, but if all goes well there will be another day one that follows. The best you can do is pick yourself up and try again.

If I’m being honest I don’t even have a clinical diagnosis, but my family and friends all agree that adhd seems to fit me pretty well. I don’t need a doctor to tell me that I write code better when I’ve had the right amount of caffeine, and get the right music playing, and find a to do list to clutch, or that 45 minutes is about the minimum I can realistically set aside for learning a new task. I’m sure there are multitudes of other discoveries like that waiting to be found. I know I’m not the only software developer with ADHD – I hope that readers will share what works for them as well. Finding tips and community at the same time seems great. I’ll share my story and hopefully meet some ‘others’ along the way.

I’ll be pretty sporadic with my posts but I have a lot sketched out. This is as much for me as it is for the world. Here’s a little sneak peak of a future post – documenting things so that I understand and can remember them ends up being my superpower because other people can use the documentation and think I did it out of the kindness of my heart!

I’m super excited about hearing what works for other people, and finding the differences between every different software developer with ADHD. Software development is too hard to suffer in silence, and it’s a lot more fun once we learn how to thrive in it!