Доклад - универсальный список ключевых слов для подготовки к любой работе над любыми задачами.
Программирование - штука одновременно очень узкая и очень широкая. С одной стороны, фундаментальных структур данных и алгоритмов крайне мало, а с другой, решаемых задач и специальных (для разных индустрий) техник много. И это мы молчим про регулярно появляющиеся новые клёвые библиотеки, фреймворки, СУБД, языки, трояны и кукизы. Через это системы вырастают всё более сложные и на стыке всего подряд, проблемы и задачи в них тоже. А значит, чтобы уметь ловко забарывать совсем любые задачи - особенно с хитростями и подвывертами из-за высокой нагрузки, распределенной архитектуры или тупо ограничений по железу - надо понимать много всякого про все уровни этих задач.
Как такому пониманию научиться, что именно надо изучать? Чего именно в идеале должен (и может!) знать каждый, а на практике почему-то не боятся знать единицы? Почему N-томника Кнута слишком много, но недостаточно? Какой очередной pet project затеять заради глобальной личной пользы вместо заныра в дебри очередного сиюминутного фреймворка? Чего читать после (или даже вместо) Гарри Поттера? Читать ли книжки вообще? Исчерпывающий ответ на эти вопросы возможно, пожалуй, уложить в недлинный 3-летний интенсивный учебный курс, но примерно правильный ответ я все равно попытаюсь дать в рамках доклада.