More info:
I've bounced back and forth between working for others, and working for myself. I've been largely unsuccessful at running businesses as really I tend to act as though it's a sabbatical to try various projects rather than focusing on one thing. I tend to go down research rabbit-holes, and like to take things at a leisurely pace. These "entrepreneurial" spasms do tend to help me find the next thing and jump on it, so I've typically kept in demand.
The lack of focus has been a problem at jobs, so I typically work for 18 months to 2 years, delivering golden eggs, before it catches up with me. After having adverse reactions to ADHD meds in 2003, I stopped them, and have just tried to soldier on. That said, I can and have shipped products that millions of people have downloaded, as part of a team. I just have to work myself up into a crazy ship-mindset, but this has taken its toll on my health and relationships.
In 2015 I had a stroke, but have fully recovered. In 2016 I got separated after 16 years of marriage, and sold my (our) house. I have two kids who are with me half the time. Since then, I've largely been living off savings. I've got one more year of runway if I continue at my current (luxurious) burn rate. Maybe two if I can get costs down, but empirically I don't seem to be willing to.
Also in 2016, I was teaching C#, Game AI, and Game Physics at a couple of community colleges. The workload was insane, and I was struggling with extreme procrastination. In the end I ditched both jobs in a fairly spectacular way. Was suicidal, but managed to find my way out of that through essentially doing self-CBT.
This spring, I worked up the nerve to go back to working for someone else. It seemed like a really great kids' game company. I lasted 4 months, and didn't make it through the 6 month probation. That said, it might have just been miscommunication. The other senior devs were shocked.
I spent this summer getting back into competitive tennis, with great results for my physical and mental health. I've thought about re-envisioning myself as a serious tennis player who happens to code, rather than a programmer who happens to play tennis. With my current flexible work-schedule, I'm able to train three times a week. My over-arching goal here is to qualify for a professional event (ITF Futures) before my body is totally destroyed.
I'm on a new generation of ADD meds which have essentially eliminated my former extreme procrastination. They haven't diminished my creativity, and they also haven't changed my desire to work on various things, rather than one. I find that I can deeply focus on a topic for about 2.5 days, then I want to do something else. So, I have a round-robin of things that I work on.
Here's what I'm working on:
1) Tennis VR / Coaching game for the Vive. I can self-publish on Steam. I'm focusing on ball-racket physics interaction. Simple tasks like bouncing a ball on the racket are already fun.
2) Slowly working on an automated trading system. Using this to learn about data cleaning and handling, ML, reinforcement-learning, etc. Fantasy: magic money machine that makes 100-200k per year so I don't have to be a square peg in a round hole working for someone else.
3) Understanding Hinton's Capsules. I'm a games / graphics guy, so this is a natural overlap as an inverse-rendering style problem.