The Sanity Project
John D. Allen
AI, APIs, Automation, Cloud, & IoT GTM | Multipotentialite | Author | Speaker
When I was a kid, my father would come home from his government job, wash up and have dinner, and then go out to his workshop. I asked him once "What are you working on out there?" His reply back has stuck with me my entire life: "I'm working on my Sanity Project. It's what I do to stay sane while having to work on other things that are boring and mundane. If I didn't have this to look forward to at times, I would have surly gone IN-sane a long ago!"
Once I got out into the real world of working for a living, I started to appreciate that strategy more and more. After working at companies on IT related stuff, I too started looking for Sanity Projects to do. But being the Multipotentialist that I am, my sanity projects tended to take on multiple objectives, and I usually have multiple sanity projects in flight at any given moment.
What makes a good Sanity Project?
While your list of what makes a good sanity project might be different from mine, here is what I look for:
- I have to learn something new For those of us in technology fields, there is always something new to be learning about. If you program in C# every day at work, try using something like GOLANG for your sanity project. I don't know about you, but for me, if I'm learning something new, that tends to keep my interest longer. Many a times I have taken what I learned on a sanity project and applied it to something at work.
- Do something outside my comfort zone ...But not so far that I will be pulling my hair out and march closer to insanity....kind of defeats the whole purpose of the sanity project! For example, my latest Sanity Project is a multi-player game with a browser interface. I've written games/programs before that were monolithic, and decided this time I was going to use MicroServices Architecture to design my game. I've coded myself into a corner a few times, but I'm more interested in the journey than the destination. I get to learn lots of new stuff (like HTML5 Canvas, GOLANG, more MongoDB, more Redis, etc.), and I'm afraid that my design is horrible, but at some point I will start to show it to people and let them poke holes in it. Its uncomfortable to do, but I can't grow as an engineer/architect/programmer (and a person) if I'm always in my comfort zone.
- It's gotta be Fun! If not, I won't complete it and loose interest. But sometimes, the fun is actually NOT completing it. I have one Sanity Project that I have been working on for.....gosh, 33 years! (Lets see; Basic, Pascal, Perl, Ruby, Node.JS, now GO....yeah, 33 years..) and I keep coming back to it and rewriting sections of the code, or like the last time I touched it, started breaking it up into Docker Containers...
- Be Shareable with Others I like to create stuff that I think other folks my be able to use. My Github repo is full of past sanity projects that I hope others can at least use part of for their own projects.
- Is this my Passion? I am one of those individuals that is always on the lookout for what my REAL passion for is. I have a lot of interests that I pursue, but none of them grab me as something I would do for free forever and be always happy working it. So when I find something I feel might be something that I would really be passionate about, I usually try it out as a sanity project to see.
People have different ways of dealing with stress and everyday living. Some seek escapism in games. Some work their bodies to get as close to perfection as possible. Some indulge in booze or drugs. And some of us go off to our various forms of workshops to work on our Sanity Projects.