There are a number of websites that are very important and useful.
This page has a number of links to pages describing a variety of ways to get involved with the Gnome project for those that want to assist with the development of Gnome. Many of these do not involve coding, making them great projects to get started on while you become familiar with the Gnome libraries and the codebases of projects that interest you.
Gnome has many mailing lists that you can subscribe to or simply read the archives of. These can help you become more familiar with the part of Gnome that you are interested in. Some mailing lists are more for those who want to develop Gnome, but many are also useful for those who just want to develop their own applications (e.g. gtk-app-devel-list).
These are slides that came a talk that Malcolm Tredinnick gave. Going through these online slides is a good way to learn what libraries are available (pango, libglade, gconf, libgnomeui, libgnomevfs, libwnck, etc.) and what the basic function of each is.
This article has several guidelines and suggestions for Gnome programmers. Some of the information may also be useful for those who want to develop applications that will not be part of Gnome.
GTK+ (which consists of multiple sub-libraries) is at the core of Gnome programming. www.gtk.org describes the C interface while www.gtkmm.org describes the C++ interface to these libraries. Both are well documented and kept up-to-date. There are also many other language bindings.
The Gnome HIG is awesome. It provides all kinds of insights in how to make your application more user-friendly and how to make it fit in with the rest of Gnome. I found it very enlightening.
One of the side-effects of reading the HIG is that it helps explain terminology and concepts that come up in GTK and Glade--both of which are used heavily in creating Gnome applications. So although the guidelines were put together to explain how to make applications consistent and user-friendly, it also served as a highly needed supplement to other documentation on GTK+ and Glade. How much cooler could it get?
developer.gnome.org has all kinds of information to help out developers of Gnome. The biggest drawback is that large parts of it are often out of date. Once I spent quite a while on IRC trying to figure out a simple task and had a couple people helping me before they finally found out that I was following instructions on developer.gnome.org which were no longer correct. However, there are many things there that are still very helpful. Just be forewarned.
cvs.gnome.org can be useful for Gnome developers too. It is too bad the main page is so unhelpful. It took me a while before I understood how any of it was useful or how to even use it, and I still have major gaps in my understanding. I guess I should Google on Bonsai, LXR, and Tinderbox to find The Fine Manual so that I can Read it. I think I did that once, but it seemed like too much information (and little of which was relevant to me) for me to bother. To save you from going through the same hassle, let me explain what little I know.
Bonsai can be used to determine which cvs commits (which includes showing the full commit message interactively!) are associated with which lines in each file. There are apparently more things that Bonsai can do, but I have only used the "Navigate CVS using Bonsai's repository viewer" (from the main page), and "View Blame-Annotated Source" (when clicking on a file) options.
LXR is currently disabled--or at least partly so. You have to manually navigate to http://cvs.gnome.org/lxr/source/. LXR simply allows you to view files in CVS without having to actually check them out.
Tinderbox seems to be broken. I never remember it doing anything useful.