Есть огромное количество тем, которыми вы можете владеть. Чем их больше, тем лучше ваш кругозор. Но все сводится исключительно к вашему желанию. Если вы хотите изучить историю ЭВМ — пожалуйста. Будет ли это повышать ваш культурный уровень и позволять делать более сложные выводы? Да. Вероятно, вам будет проще предположить, куда идет развитие компьютерной техники. Вы можете блеснуть знаниями перед коллегами-программистами. Возможно даже, вы заслужите в компании звание эрудита. Будет ли это требоваться в работе программиста? Однозначно нет. На вашу работу и зарплату такие знания никак влиять не будут.
Какие знания нужны в работе?
Знание машинного кода и низкоуровневых языков, в отличие от исторических моментов, теоретически вам могут пригодиться в работе. Например, если вы Embedded-разработчик или работаете с компьютерным железом, низкоуровневые языки — часть вашей профессии. Такие знание будут хорошим подспорьем, а иногда они просто необходимы, если вы разработчик приложений, которые очень чувствительны к производительности (например, видеоигр, стриминговых сервисов, высоконагруженных систем и пр.).
Если же мы говорим о программистах, которые пишут на языках высокого уровня (веб, энтерпрайс разработка и прочие, где не требуются запредельные нагрузки), то вам знания низкоуровневого программирования не пригодится. Более того, вы его очень быстро забудете. Программисты высокоуровневых языков обычно вообще не знают, для какого именно железа пишут, как будет оно выглядеть и какие на него есть ограничения. Поэтому тут можно смело говорить, что знания низкоуровневого программирования вам точно не понадобится. Может быть в какие-то моменты, например, вы будете писать pet-проект, от вас потребуются такие знания. Но и это очень сомнительно.