Некоторые знания, которые нужны программисту:
- Алгоритмизация. 1 Важно развивать алгоритмическое мышление, чтобы самому составлять алгоритмы, декомпозировать задачу и выявлять нужную последовательность действий. 1
- Оценка сложности алгоритмов. 1 Нужно хотя бы примерно прикидывать временную сложность алгоритма, чтобы понимать, какой участок кода тормозит программу. 1
- Кодировки. 1 Ориентирование в них на минимальном базовом уровне поможет избежать проблем с кодировками. 1
- Парадигмы программирования. 1 Знание объектно-ориентированного, функционального, логического программирования и их отличий поможет выбрать наиболее подходящий инструмент и подход для решения задачи. 1
- Техники и приёмы программирования. 1 Ознакомление с понятием рекурсии, мемоизации, динамического, линейного программирования и другими терминами поможет сделать код эффективнее и качественнее. 1
- Архитектура компьютера. 1 Полезно понимать, что такое память в компьютере, зачем она нужна, какая быстрее. 1
- Ориентирование в структурах данных. 1 Нужно знать списки, деревья, очереди и понимать, зачем нужна каждая структура, какие и когда эффективнее использовать. 1
- Устройство сети. 1 Полезно разбираться в том, как работает интернет на базовом уровне: что такое протоколы, сокеты, DNS, IP-адреса, зачем всё это нужно и как взаимодействует. 1
- Английский язык. 24 Знание английского языка пригодится, чтобы лучше понимать код, читать мануалы и взаимодействовать с иностранными заказчиками. 2