spreading myself too thin

Even though I've accommodated a few non-technical activities every now and then, I've been feeling a bit frustrated about my slowness in getting things done, code-wise.

Not cranking out code 24/7 makes you forget some basic things and I've felt embarrassed a couple of times.

Worried about this, I stopped for a few moments and noticed that I'm spreading myself too thin across technologies to achieve a decent productivity rate. Let's recap my coding activities:

  1. work: c#, sql, abap / moss2007, sql server, sap
  2. work@home: objective-c, php, ruby / iphone sdk, cake, rails
  3. consulting: ruby, java, sql / rails, j2ee, sql server
  4. hobbies: php, html, javascript / drupal

So, in a typical week, I usually switch between 6 or more technologies and frameworks in order to get my stuff done. No wonder I can't remember how to observe a field in rails or that php supports dynamic property definitions in object instances.

Guess I'm going to have to make some sort of trimming if I don't want to become completely inept in all of these.