I have a problem – I have too many balls in the air, and I can’t even juggle. There are too many things to learn, too many toys to play with, too many things to make, too many books to read. I’m too good at keeping track of things so nothing ever falls off of my TODO list – it just gets punted forward. My attention is split between too many things and I never get any of them done (or even started).
This bugs me. To become technically excellent, open up career opportunities, influence the world, you need to ship, finish, produce, practice, promote, and share. I haven’t been doing any of those things, and without changing my behavior, I unsurprisingly kept getting the same results.
- Keep my project wish-list in a separate document rather than my active TODO list.
- Every two weeks, choose one project that I most want to work on right now. For those two weeks, I will defer all the other projects to focus on the one I have chosen.
- By Wednesday of the first week, I will write up and publish a rough roadmap and set of goals for the two weeks I will spend on this project.
- At the end of the two weeks, I will write up what I accomplished, learned, etc and include code, demos, deliverables, etc.
- I don’t have to feel guilty about the other projects I’m not working on, since they’re still on the list and when it’s their turn, they’ll get my full attention.
After one year, I will have 26 completed projects with deliverables. However, since this is a new idea, I’m committing to 3 months (7 cycles). At that point, I’ll evaluate if I’m satisfied with my output using this method.
For my first cycle, I’m going to get more comfortable writing Clojure code. Some of the things I plan to do are:
- Clojurescript Koans – http://clojurescriptkoans.com/
- Clojurescript 101: http://swannodette.github.io/2013/11/07/clojurescript-101/
- Pedestal Tutorial: https://github.com/pedestal/app-tutorial/wiki
- Create a simple database-backed website, so I need to learn a persistence library, ring, templating, etc
Here’s a small subset of other projects I hope to get to:
- Make a directory of company dossiers and tools to generate them – kind of like Crunchbase but from the perspective of a potential employee trying to quickly evaluate the company
- Basic computer vision and image processing
- Sphero hacking
- Nodecopter hacking
- Study Peepcode videos
- Learn Python
- Write some meatier essays I’ve had in mind for a while
Thanks to @swizec for his 52 Academic Papers in 52 Weeks project, which sparked this idea.