My suggestion is that you pick up Code Complete and read it.
I still think that the first edition was one of the best purchases that I ever made. Be warned, it is big. But even so I've read it several times, and referred back to high points enough to count as having read it more times still.
I've just purchased the second edition. I haven't read very much of it yet. My impression so far is that it has filled out a couple of "theoretical issues", added basic best practices in object oriented programming, and gives more citations. (Including, importantly, citations up to the present.) Otherwise it is very similar to the old one. If you have a choice, I'd read the second one. But either is useful.
And one note. A lot of people buy a lot of books because they know that the books are supposed to be very good. And then skim lightly, but never really get around to reading them. Then buy more books.
Do not do this. (Except with reference books which are not meant to be read.)
My advice is not to buy a book unless you are going to read it. My way of keeping myself honest is that I work on a small number of books, usually 1-2, and do not buy another book until I have finished my current ones or know that I won't finish. Afterwards I try to digest the book. Any points that particularly struck me I'll look up to be sure that I know where they were and what the evidence for them was.
Following this advice I don't buy many books. But the value in the ones that I buy is where it belongs - in my head.
In reply to Re: Software design -- The confussion of buzzwords