Earlier this summer, Joe Nelson embarked on a quest to become a world-class developer over the course of one year. He calls it his “1up Project”. The approach is 2-week iterations of concentrated study on a variety of topics ranging from the HTML5 Canvas to PPC advertising. Each 2-week sprint culminates with a blog post, lighting talk or some other form of knowledge transfer. Learning a topic with the intent of teaching is a great way to truly absorb a subject.
After attending this year’s Madison Ruby Conference, seeing Joe present his 1-up project and being inspired to level up my own development skills by some of the sharpest minds of the Ruby community, I’ve compiled a list of topics that I want to cover over the next year.
My ambition is not as lofty as Joe’s. I’m not sure I can hit world-class developer in a year. Since I’ve only recently begun working full-time as a Ruby developer, I still need to cement many fundamental concepts and tools of open source development that Joe already has in his toolbelt before I can walk his path.
Given that some of these topics are very broad, I plan to devote a month (or more in come cases) to each topic. I do still intend on developing a blog post after completing each phase of the course with the intent of documenting my path.
I started by mind-mapping the skills that I’ve observed seasoned developers using as I pair with them at work. From that map, I developed a list of 8 broad topics and then identified resources within each topic that I will use in my course of study. Here is my 1up list:
- Ruby (gotta start with the basics)
- Rails deployment
- The *nix shell
- And some miscellaneous topics.
So there you have it. Probably a year’s worth of self-guided study to begin a move towards craftsmanship. For my very first topic, Ruby, I’m going to go back to the very basics and run through Zed Shaw’s Learn Ruby the Hard Way. I’ll let you know how it goes!