Как писали выше - боле абстракнтные понятия:
Алгоритмы, Паттерны, Какие-то межъязыковые вещи типа многопоточности, рефлексии, метапрограммирования (generic в C#/Java, template в C++).
Некоторые люди рекомендуют джентельменский набор:
1. Компилируемый язык (пока C++ без вариантов, но скоро будет Rust, надеюсь)
2. VM язык (Java или C#)
3. Скриптовый язык (Perl, Python)
4. SQL
5. Веб: HTML/CSS и JavaScript на базовом уровне
Средние знания всего вышеперечисленного позволяют быть более менее в курсе дел и даже если вылезет что-то новое - подстроиться. Нужно только правильно расставить акценты.