I think my brain cells are shrinking—it is unbelievable how quickly I forget. Such is the life of a software developer, these days.It is amazing how quickly I can forget the details of one programming language detail over another after just a few weeks away—when I see my old code, I amaze myself at how good a programmer I was… last month!
Even if you are not, primarily, a web developer; every application, Windows, Mac, iPhone, Android, etc. talks to the internet in some fashion (or probably should). So, in addition to C++, C#, Objective-C (uh, now, Objective-C 2.0), or whatever you might be using for the native application (god forbid that you are having to support more than one platform), you’ll have some of the formats and languages that have been popularized on the Web.
In a perfect world, you could have different developers each focused on one technology—web front-end, web back-end, each OS platform technology—collaborating when necessary. No… in a perfect world, we’d all have photographic memories.
The problem is that all of these issues distract from the developer’s core problem-solving objective. Such is the life of a modern programmer, living on the bleeding-edge.