Спасибо, что "призвали" в тред, и извините за задержку с ответом.
Отвечаю на вопрос, вынесенный в заголовок,
В чем заключается работа человека в web и с сетями?
Web и сети (интернет) - две большие разницы, как говорят в Одессе.
В любом случае стоит знать, как между двумя хостами в сети передаются данные. Как инкапсулируются пакеты, мультиплексируются каналы, разделяются ресурсы и так далее. То есть знать азы Ethernet, IP, TCP, UDP и вспомогательных протоколов вроде ARP, ICMP, DNS. Как пользоваться сокетами, какие есть подходы к реализации сетевых приложений. Как и зачем использовать криптографию (криптографические примитивы, для чего нужны, как их сочетать). Как и для чего использовать модели TCP/IP и OSI. Начальная диагностика сети.
Далее, в случае изучения сетей стоит обратить внимание на маршрутизацию (какая бывает и зачем нужна, откуда столько протоколов маршрутизации и чем различаются, протокол маршрутизации как распределенная система), коммутацию (Ethernet - каким и для чего был создан, каким стал, отличие коммутации Ethernet и маршрутизации IP, есть ли компромиссный вариант), фаерволлы (почему так называются, какую задачу решают, какие бывают), побочные вещи вроде NAT и тоннелей. Какие и где есть потенциальные слабые места.
Если вас привлечет прикладной бэкэнд, то стоит изучить работу веб-сервера, прослойки между ним и вашим приложением, базы данных, кэширования. Здесь вообще можно попробовать написать самому весь стек, хотя бы на Python.
Математическая и алгоритмическая подготовка пригодится везде. Касательно языков - Python хорош универсальностью (под практически любые цели из вашего списка годится), C интересен вкупе с архитектурой компьютера и ОС.
Касательно безопасности - мне представляется само собой разумеющимся, что перед тем, как изучать возможные атаки (т.е. попытки заставить систему работать в нестандартном режиме), необходимо уяснить в деталях, каков обычный "рабочий" режим.