Подписываюсь за Кнута. Теорию программирования тоже прочитать надо, это, при должном упорстве, вырабатывает правильный стиль. Приемы ООП (Паттерны проектирования), что-нибудь из функционального программирования, 1-2 книги по алгоритмическим трюкам. Ну и регулярные выражения не помешают. Для Web достаточно справочника Ю.С.Лукача, php.net и javascript.ru. Потом присмотреться к фреймворкам, поковырять движки CMS/форумов/etc. и, напоследок, еще раз подумать о том, что "инструмент выбирают под задачу". Удачи.