GNOME uses mainly uses the GTK+ GUI Toolkit for most of its interface. As a result, I suggest you start learning about that toolkit, or an even more third party approach such as wxWidgets.
there is a lot of things like design documents, code and example on gnome.org.
nothing is better than the site itself to learn gnome.
if you have time you can participate in the development of gnome. :)