
I recommend Josef Muller-Brockmann's Grid Systems in Graphic Design: http://www.amazon.com/Grid-Systems-Graphic-Design-Communicat... or Emil Ruder's Typographie: http://www.amazon.com/Typographie-Manual-Design-Emil-Ruder/d....
There are many, many other good resources but those are important primary sources. So is The Elements of Typographic Style, by Robert Bringhurst: http://www.amazon.com/gp/product/0881792128/ref=pd_lpo_sbs_d....
Instead of perfect circles, we use a shape that is taller than it is wide; instead of splitting the space in half, cross-strokes should be higher than the middle; different strokes need to be different widths in order to appear the same, etc.
There are plenty of actual scientific studies and theory behind this. See Ruder's Typography [0] and Hochuli's Detail in typography [1] for more info.
[0] http://www.amazon.com/Typographie-Manual-Design-Emil-Ruder/d...
[1] http://www.amazon.com/Detail-Typography-Jost-Hochuli/dp/0907...
That said, I don't think that many "howto design" books are all that interesting (and the best design books are mystifying in a way which defies reason), but you will find books about the nuts and bolts of design which are very good even if you're totally green to the field. The other most important thing is that you keep making things. Even little things. Make them and show them to people and get feedback. Lather, rinse and repeat.
Anyhow... You will want to specifically look for books on Typography, Color, Layout, Photography, Contrast/Scale, and Poster Design. Poster Design is actually sui generis despite appearing to be a subset of graphic design.[1]
My belief is strongly on the side of typography being the most crucial skill a designer needs (since its use of space/contrast/layout) is basically design in a micro level, rather than on the macro (page) level. The skills you pick up in typography do translate over, but it takes lots of practice. Since illustrators are readily hopping into many design jobs, our best bet is to differentiate ourselves with our exhaustive knowledge of typography.
A great book on "Book Typography" is Cyrus Highsmith's Inside Paragraphs.
A good book on "Display Typography" is Wolfgang Weingart's My Way to Typography.
Three good books on "Typographic Fundamentals" are: Ellen Lupton's Thinking With Type, John Kane's Type Primer and Erik Spiekermann's Stop Stealing Sheep (and find out how type works).
One excellent "Typographic Reference" is Robert Bringhurst's Elements of Typographic Style.
One good book about "Design Process" is Nancy Skolos & Tom Wedell's Graphic Design Process.
No design book suggestion will be complete without mentioning Emil Ruder's Typographie, Josef Muller-Brockman's Grid Systems and Armin Hofmann's Graphic Design Manual.
That said, a good starter is layout/formmaking Christian Leborg's "Visual Grammar," part of Princeton Architectural Press' Design Briefs series[2] (all of which are good for skimming the next time you find yourself in a bookstore/amazon showroom).
Finally, I never realized it until I made a joke about it, but you can summarize many of the principles of good UI Design in PEP 20, which is to say that if you care about API Design and Code Cleanliness and all that stuff, then you probably already have the right attitude towards graphic/visual design. Take those principles and apply them visually when you make anything or use them as a rough litmus test for your designs then break the rules as you see fit.
Have fun! Relax. Don't Panic!
[0]: http://news.ycombinator.com/item?id=1605228 [1]: While poster design employs many of the same structural techniques as Capital-D Design, it has its own rules which are useful to know, but above all it is free to play with scale in a way which is difficult in web and book design. Still, knowing about it will inform your own work and probably make it wayyyy more fun. [2]: http://papress.com/html/book.list.page.tpl?action=seriessear...
If you want to buy a beautiful multi-lingual design book from that era, Emil Ruder's Typographie is the better buy: http://www.amazon.com/gp/product/3721200438/ref=as_li_ss_tl?...
The Elements of Typographical Style is a beautiful book and an elegant, literary introduction and guide: http://www.amazon.com/gp/product/0881792063/ref=as_li_qf_sp_...
Thinking with Type is full of contemporary examples to give you new ideas: http://www.amazon.com/gp/product/1568989695/ref=as_li_qf_sp_...
Ruder's Typographie is the book that established modern typography and is the de fact guide to modernist typography: http://www.amazon.com/gp/product/3721200438/ref=as_li_qf_sp_...
As an introduction to typography, I also recommend watching Helvetica: http://www.amazon.com/gp/product/B002RIOGI0/ref=as_li_qf_sp_... – it will give you a personal perspective on different philosophies of choice of type-face
For that matter, the same goes for color theory.
Here's a nice introduction to color in general from the Adobe website: http://www.adobe.com/products/adobemag/archive/pdfs/9611febf...
The Wikipedia entry is worth reading: http://en.wikipedia.org/wiki/Color
Kandinsky's Concerning the Spiritual in Art is a beautiful manifesto on art, but contains a very interesting theory of color: http://www.amazon.com/gp/product/1619491532/ref=as_li_qf_sp_...
Itten's The Elements of Color is the classic text on color: http://www.amazon.com/gp/product/0471289299/ref=as_li_qf_sp_...
Albers' Interaction of Color will teach you that colors are no absolute reference ponts – they interact with each other to create all sorts of effects (this text pairs well with the Kandinsky): http://www.amazon.com/gp/product/0300018460/ref=as_li_qf_sp_...
To get really deep into color, check out the IESNA handbook: http://www.ies.org/handbook/
All this is not to obviate OP's impetus to write posts on these topics. Blog posts are crucial as introductions and I find tend to work better as references than books, which tend to be overwhelming and ignored in this digital age. But if you want to go deeper, these are my favorite references after moderately exhaustive research.
# Development
1. For web development, you'll find tons of best practices (i.e. alistapart, smashingmag, diveintohtml5, etc). This is the easy part, you can browse these or skim them whenever you get bored. HTML is pretty straightforward, but css is a bit trickier.
1.5. An too-long aside on css. CSS is one of the most important things to try to master as you actually start implementing design. CSS is pretty gross, it's alright and not that difficult, but it's gross and it's nearly always a mess. There are lots of frameworks around that try to remedy this, but i recommend that you actually try to figure much of it out before you start adopting frameworks. Similarly, before you use a css reset, you should actually try doing some work without them (the big problem is that each browser's default css is rendered inconsistently, so you make some assumption about webkit and find that opera and mozilla think you're a fool).
EXERCISE ZERO: try to see if you actually understand a) the box model and b) floats and c) positioning. These are the trickiest things. You can only really understand these if you try to figure out how you would use any of these things in practice. I put up a page with some stuff about those topics when i was teaching a web design class recently: http://risd.generic.cx/review.html
# Design
2. Learn typography. This is a long process. I don't even know how to explain it correctly, but the most important thing is that you become incredibly sensitive to typography. Look at stuff around you, think about what's happening; be critical: ask what about something is successful and if not, why? Don't be an ass. The first year that you're really getting into typography, you'll see bad kerning or questionable typography everywhere and you'll annoy the hell out of your friends, it's usually best to keep these observations to yourself unless you're geeking out with other type nerds.
EXERCISE ONE: make it a goal of yours to take a photo each day of type somewhere in your environment. This isn't very hard, but it gets you looking I just did it: https://twitter.com/nsfmc/status/21232532041
3. Learn some art-history. You don't have to learn very much, but the more your learn, the more you'll have a grounding in what has been seen/done/discussed/etc. Most importantly, you will be able to be eloquent about form/aesthetics that you like. It is hard to talk about visual things, so in this way, it is imperative to have a good set of words when talking about form. A few great books: Robert Hughes' The Shock of the New, Reyner Banham's Theory & Design in the First Machine Age, Rosalind Krauss' Passages in Modern Sculpture.
4. Make things. this is perhaps the most important thing. Make things and be critical of them. it is difficult to be critical of things you make, so the corollary of this is that you should surround yourself with people smarter than you and that are better designers than you. talk to them about what you're doing, the worst thing you can do is work in a bubble (this is true in programming as well, c.f. the myth of the genius programmer [motgp])
5. There are some books you can look at, i would probably recommend the following: Armin Hofmann's Graphic Design Manual, Emil Ruder's Typographie: a manual of design, Josef Mueller-Brockman's Grid Systems in Graphic Design, Robert Bringhurst's Elements of Typographic Style. Ellen Lupton's Thinking with Type and John Kane's Type Primer are good intro resources. Also, these are interesting books: http://www.flickr.com/photos/joekral/sets/72157594264845751/... With the Hofmann and Ruder and Lupton books, try to do the exercises with basic form and type studies, don't just look at all the pretty things they make.
6. Develop your taste: nobody is going to tell you what to like and when you're working with a client, you should be pushing for the union of what you like and what they need. This is impossible if you have no taste or if you have no idea what you like. It's possible to have diverse tastes, but you should start developing the things you like and things you do not. Try to rationalize your taste and be critical of why you dislike things, this will help you in critiquing your own work. Your taste and your individual style will define the work you do as a designer.
EXERCISE TWO: Offer to redesign your friends' blogs. All of them. Blogs are great examples of typography, hierarchy, systems, and generalized design at its best. An added bonus, most blogs are not incredibly complex, tumblr, i'm looking at you :)
7. Look at five or six of your favorite things that you've made. What can you tell from this? what do you see? Do you like grids? (i do!) Do you keep using one font over and over again? Do you fall back on certain things? Do they all appear to be yours. This is sort of designer as auteur, but it's good to look at yourself and see what you're doing collectively from time to time.
8. Always try to make whatever you do better. It's easy to stop and say "sure, that looks fine" but it's more challenging to push something further in different directions. This is an uncomfortable process because often you don't know what you're doing when you step out of your comfort zone. Keep working, you'll either discover things that don't work (useful discoveries!) or things which are inappropriate. it's easy to become complacent, avoid it at all costs.
9. Really, i can't stress this enough: learn and practice and do your best to be a good typographer. Typography is the one thing that sets apart the field of graphic design. Design is many things, but it nearly always includes the use of letters to communicate. If you're on the web, you're probably not using hand-drawn type, so you can focus on using foundry type in novel and creative ways. Really, focus on typography.
10. Some current magazines and things i like to look at: Dot Dot Dot is always a good read and is tangentially design related. their DDDG compilation book is great. Baseline magazine is always worth a read and always has fantastically written articles. Eye magazine is equally fantastic. I look at graphic hug [graphichug.com] all the time, it's up there with swissmiss[http://www.swiss-miss.com/], under consideration [http://www.underconsideration.com/] and but does it float [http://butdoesitfloat.com/]
Sorry, this went on really long, but there's really a ton to learn if you want to go the traditional rout. If i look back on this post, i'd say take a gander at the books listed and the periodicals and make stuff and learn as much as you can by being critical of yourself and things you see.
--
p.s. Don't be a mean typographer when a friend makes something with papyrus or comic sans, at least they were unafraid to make something they thought was beautiful. Having taste is ok, being a cruel snob is not ok.
[motgp]: http://code.google.com/events/io/2009/sessions/MythGeniusPro...