Andrew Cox


My 2011 Foci

I like the idea of New Year’s Resolutions. Whether you think they’re trite or just wishful thinking, they do give you an opportunity to take a step back and reflect on where you are and where you want to go.

I am always trying to improve myself, but typically in an unguided fashion. Too often, I find myself puttering away the evenings or weekends reading RSS feeds or Twitter and “learning” about new things without really getting any better. In the web development world, there is such a surplus of information, that it’s easy to become overwhelmed and not actually do anything. It’s a form of analysis paralysis.

With that in mind, instead of New Year’s Resolutions, I’ve come up with my 2011 Foci (you know, the plural of focus). With each of these foci, I am working on a systematic plan for improvement.

2011 Foci

I’ve been thinking a lot about my career and personal pursuits over the past several months. During the holidays I had a little more down time to take a step back and think. What do I really enjoy doing? What do I want to do more of? Where do I want to be in 5 years? What do I need to do to get there?

After much thought and consideration, here are my 2011 Foci in order of importance:

  1. Design
  2. Development
  3. Mindfulness
  4. Fitness

Design

Focus: Sketching, Photoshop, and Illustrator, HTML5 + CSS3

I’m primarily a web developer with a knack for design. I’d like to get better at design. The end goal here is to become a better UI designer, so the focus will be on design for the web.

To get better at design, I need to get better at basic pencil drawing and sketching. I’m adequate at Photoshop and want to take my technical skills to the next level. I have only scratched the surface with Illustrator and know that it’s an important weapon in a web designers arsenal.

I’m an expert with CSS and HTML, but have been supporting IE6+ for over 5 years now, so I need to start brushing up on the latest HTML5 and CSS3 techniques.

Development

Focus: Ruby, Rails, and TDD

I have good simple design instincts, but to be honest, I’m an intermediate programmer at best. Ultimately I want to create awesome web applications and, to do so, I need to become a better Rubyist as well as gain a deeper knowledge of Rails. I am a firm believer in TDD, but I need much more practice for it to become ingrained in my development patterns.

The first step I’m taking in this direction is attending Ruby Mendicant University. I have the privilege of being a student in the upcoming January 3-week session and am super excited about the opportunity. I hope to be blogging more about my progress after my session kicks off on Monday.

Mindfulness

Focus: Meditation

I read a lot of books on Buddhism and Zen, but have only practiced meditation sporadically. In 2011, I want to focus on becoming more mindful and meditation is going to be central to my strategy.

Fitness

Focus: Primal diet and exercise

I’ve been a believer in the primal/paleo lifestyle for several years now, but have only really lived the primal lifestyle for a few weeks at a time. I’m 2 weeks into a “slow-carb diet” as prescribed by Tim Ferriss in The 4-Hour Body and am going to start resistance training 3 days a week. In 2011, I want to become the most fit I’ve been since I quit cross country in college.

The Plan

Practice has been a meme that’s been growing in popularity since the “10,000 hour rule” was popularized by Malcolm Gladwell’s 2008 book Outliers. In the same year, a slightly less popular book was written by Josh Waitzkin, the former chess champion and subject of Searching for Bobby Fisher called The Art of Learning. The central premise of The Art of Learning is that it takes not only practice, but deliberate practice to achieve excellence in a field, no matter if your field is intellectual (chess) or physical (Tai chi chuan).

In the world of software engineering, this practice meme has really started to take hold in the form of katas, koans and code retreats.

I’m sold. You can’t expect to become a better basketball player by reading books, so why should you expect to become a better developer by reading books or blog posts? In 2011, I plan to take my practice to the next level by doing it deliberately. The basic idea is to:

  1. Plan
  2. Practice
  3. Measure

Each week, I will map out specific times on my schedule that will be specifically devoted to practicing one of my foci. Here’s an example week:

Sun Mon Tue Wed Thu Fri Sat
6:00am Meditate
6:45am Breakfast
7:00am Photoshop Practice Ruby Practice Illustrator Practice Rails Practice Photoshop Practice
8:00am Work
12:00pm Information Update
12:30pm Lunch
1:30pm Work
6:00pm Exercise Exercise Exercise
7:00pm Dinner
7:30pm Information Update
8:00pm Free Time

I think this gives me a good routine, but at the same time allows plenty of free time.

After each practice session, I’ll log my practice session for future analysis. I’m not sure how I’m going to track my progress yet, but I’m considering Quantter (now in beta).

Information Optimization

One challenge that’s been constant for me is how to keep up with with new web development libraries, practices, tools, etc. without distracting me from doing real work. To be a good web developer, you have to keep your head in the clouds while keeping both feet planted firmly on the ground.

Information sources

I now have 2 primary information sources:

  • Twitter
  • Google Reader (RSS)

I’ve only recently started using Twitter consistently and am quickly learning that it is an incredible resource for staying up-to-date with the industry. But! It’s easy to let it consume way too much of your time. I now only follow people with a very high signal-to-noise ratio and am judicious about unfollowing people that aren’t giving me value.

For RSS, I use Google Reader and only have 2 groups right now - “Anywhere” and “Laptop”. I can read the “Anywhere” group on my iPhone, but the “Laptop” group consists of development and design blogs that often need more time to consider. I have a few personal blogs I follow, but most of them are related to design and development.

To keep these sources from becoming a time sink, I will only check them during the designated “Information Update” blocks in my schedule.

Information aggregators

The problem with Twitter and RSS is that they can quickly grow to become a deluge of information. To alleviate that strain to keep up, I have two release valves:

For interesting articles that I can read on the go, I just click my “Read Later” browser bookmarklet to send it to Instapaper.

For articles or tutorials that need further study or that can be used for a practice session, I save them with Delicious, aligning them with one of my foci. For example, if I run across a good Photoshop tutorial, I tag it with both “*design” and “*photoshop”. This way I am never in short supply for practice material.

So what’s next?

I don’t have all of the answers right now, but as a good Agile practitioner, I know what it is I want to build and will refine my plan regularly as I progress. Stay tuned.