Code Complete is a book that talks you through how to construct computer programs. It doesn't look at any specific language and the things covered apply equally to web applications and pacemaker software.
It talks about the process and really makes you think about the way you do things and the best way to do things. Every chapter has really made me think and hopefully I'll be a better programmer for it. It's the sort of stuff I wasn't taught at university, but think I should have been.
It's been like having a wise programmer share with me a wealth of experience and knowledge. It's made me want to revisit all my programs and re-write them.
One recurring theme in the book is managing complexity. Computer programs and code quickly become complex. If we don't know how to manage and look out for that complexity we'll soon have created monsters of programs that we don't really understand and can only hope that they do what we want them to.
I wish I'd read this book sooner, and I recommend that all programmers who care about their professionalism should read this (or probably already have).
I'm going to need some time to fully digest and put into practice what I've read. I'll probably also need to read it again.
The road to wisdom is never ending. In the last chapter there is a reading list of books that programmers working for the author's company need to read if they wish to progress and become more professional.
I've read one of them so far. So, it looks like I'm just starting on that road and I have a lot more to learn.