I'm certainly not claiming I'm very good (not entirely crap, but there are ppl around who're better)
Classic! There are always people who are better, but I'd definitely classify you as being an expert programmer.Still the only way to get better is to practice. If you want to take Darkhearts advice and start with (say) Java, then Bruce Eckels Thinking in Java, is the only book you'll ever need. It teaches both the language and good programming practices in general. I thought I was a fairly accomplished programmer when I read it (I had been programming professionally for the better part of ten years) but it definitely improved my skills. It was also the book that finally made OOD and OOP finally click.