Дополнения к языку программирования для программиста. Что ещё, кроме языка, собственно, я должен знать?

Популярные библиотеки для своего языка (зависит от направления), парадигмы программирования, паттерны проектирования, идиомы, алгоритмы и структуры данных, принципы написания удобопонятного кода (грубо говоря - всё содержимое "Совершенный код" Макконнелла), продвинуто владеть IDE и знать особенности компилятора(ов), уметь проектировать информационные системы (тут целая поляна для изучений. Полезно знать UML (для ООП) или IDEF (ФП), что-нибудь по управлению проектами (хотя бы что такое диаграмма Ганта и уметь распределять ресурсы), модели проектирования (эволюционная, каскадная и т.д.)). Желательно ещё поучиться работать в UNIX системах, знать принцип устройства сетей (хотя бы OSI).

3