Как определить для себя список необходимых знаний/навыков?
Если вы сталкивались с подобным или сталкиваетесь, как вы сдерживаете себя или нужно ли сдерживать себя вообще в данном случае? 
Нужно находить баланс.

Пример:
Что бы получить работу и адекватно стартовать новичком - нужно знать определенный стек технологий, уметь в софт скилы, знать базу computer science, иметь аналитическое мышление, и вагон времени. Много ли это? Много

Как работает средне-статистический программист: Он прошел путь от джуна до сеньора\архитектора. Уровень его знаний позволяет проектировать сложные системы, но попроси его написать синтаксис фукнции, или спросить методы массивов - и он пойдет гуглить, и это нормально

Баланс: за всю свою короткую жизнь, если вам "повезло", и вы попали в стандартный пул разработчиков(не имеете гениальности, и не двигаете всю сферу вперед новыми открытиями), ваш путь:
1. Устроиться на работу.
2.Дорасти до уровня зарплаты, когда не нужно будет считать копейки = возможность откладывать 20% от зарплаты в финансовую подушку, + еще процентов 10-15 инвестировать куда-либо + возможность отдохнуть хотя бы 1 раз в год + иметь имущество среднего класса = машина, квартира, еда.
3. Развиваться и расширять горизонты в силу своей профессии(повышение квалификации, либо увеличение навыков ради удовольствия или зп).

Не имея первого и второго, учить левые технологии, просто для расширения кругозора - это идиотизм и трата времени. Лучше займитесь спортом, качайте софт скилы, путешествуйте, живите полной жизнью. Иначе всё что вы возьмете к 50 годам: плохое зрение, радикулит, гемморой, и отсутствие друзей.

Учить только то, что входит в пулл только одной технологии, всё остальное лесом, или после изучения первой технологии. Иначе не выучитесь вообще.
Во-первых, прошерстить вакансии в интересующих областях и выписать часто требуемое и незнакомое. Во-вторых, смириться с мыслью, что всё знать невозможно, и начать расставлять приоритеты.