Что обязан знать системный/веб-программист?
Системщику однозначно надо знать C, C++ и ассемблер. Веб-программисту... Есть два основных направления в веб-разработке: фронтенд (создание всего того что видит конечный пользователь) и бэкенд (создание серверной части которая выполняет основную работу). Как уже было упомянуто выше, пробуйте все до чего руки дотянутся. Иного способа найти себя нет. Что касается английского, советую как можно больше читать на нем. Школьный уровень это ни о чем.
Языки - это всего лишь инструменты, ещё успеете освоить многие из них. А пока в универе налегайте на математику, алгоритмы и теорию цифровых автоматов - потом просто некогда будет этим заниматься.