I do not claim to know much about the condition, nor can claim to understand what it might be for you. However, trying to put myself in your shoes, in whatever manner possible, I can think of a few things:

a. Get in touch with people with similar problems and learn from their experiences.

As I read this, I remembered the story I read not too long ago:

http://www.huffingtonpost.com/2012/08/13/mayank-sharma-amnes...

http://www.facebookstories.com/stories/32/mayank-sharma-his-...

..and his blog:

http://opensourcebrain.geekybodhi.net/

Now, although the situation is not quite the same, only slightly similar (in terms of loss of memory), it serves as an example. Social networks work excellent as a support group in situations such as these. Not only does it help to learn from people out there who are dealing with the same issue, but also technically speaking -- reusing existing resources is the most optimal and efficient way to (re)build something - be it software or one's life :)

b. Decide on a longer term objective first. A couple of examples:

* You probably are in an unique position to think about how to use technology to help people who are affected by the problems you are facing. Does that appeal to you ? If it does, can you think of a way to use technology as a means to build a platform/app/resource ...etc ?

* If not that, try to answer, what would you like to do ? What, in your definition is a 'software developer' -- do you want to get back to exactly what you were doing earlier ? Or do you want to explore technologies that you probably never worked on before ? ...and why ?

c. When you've got a rough idea of a longer term objective, you shall hopefully know what are the short-to-mid term goals you'd have to achieve in terms of the necessary skills. Write them out. Prioritize and then get cracking.

I know it is easy for me to say it and although I don't suffer from amnesia, every once in a while I try to 'brush up' skills that I don't use in my daily work (read: C :) ) and I suspect that I do. So, I share (at least) a bit of your frustration -- exactly as you said -- "I’ll probably be rolling my eyes at how simple some things are but also getting stuck on relatively basic things
until they click again."

...though, I do not think there is another way to approach (re)learning.

d. Do you have access to any of your own code ? ie: code you have written from scratch yourself (as opposed to collaborated on). I would imagine re-reading/re-implementing bits of that might help. I say this because, experience has led me to believe that every programmer has a very individual 'coding style'. Much like prose, coders tend to express themselves in a manner that can be identified as their writing. From choice of variable names, to control flow. Relearning the technologies you knew might be easier if you did it with your own code.

e. Understand that university education will only help you gain a certain level of self-confidence in your abilities. To actually learn anything, you have to 'do'. So github might serve you better than coursera.

f. As far as employment is concerned, that is a different question than the 're-learning' process -- others have suggested options and I do not have any opinion to offer there except that putting your code out there (eg: on github) as well as progress (eg: a blog) might help.

wish you the very best
- steve