Что нужно знать чтобы стать хорошим веб-программистом?
Прежде всего, web-приложения - это разновидность сетевых приложений. Поэтому обязательно нужно понимать, как работают сети и знать протоколы. Особенно HTTP.
HTML и CSS знать обязательно. Желательно знать JavaScript, а вот библиотеку jQuery знать не обязательно. Нужно знать как минимум один серверный язык программирования. Это может быть PHP, а может какой-либо другой. Естественно, так как web-программирование - это тоже программирование, надо знать основные структуры данных, алгоритмы, парадигмы и паттерны. Так как редкий сайт бывает без базы данных, надо понимать принципы работы и проектирования реляционных БД и знать SQL. Желательно уверенно пользоваться Linux, так как ваш сайт будет работать над одной из его разновидностей. Желательно уметь настраивать http-сервера и сервера-приложений, а также знать механизмы их взаимодействия. 
Но самое главное - это уметь искать и анализировать информацию.
Нет