Но многие говорят, что время низкоуровневого программирования прошло, сейчас только веб, C#, Java и т.д.
Весь вопрос не в том, что время прошло, а в том, где больше всего железок выпускают и строят фабрики/заводы с автоматизацией.
Что касается низкоуровнего программирования, то время совсем не прошло и специалисты требуются постоянно. Вопрос в другом, что эти специалисты практически не нужны (увы) на наших просторах. Я знаю десяток фирм, в которых есть отделы разработок (сам когда-то возглавлял такой), там специалисты нужны постоянно. Еще знаю с десяток предприятий, которые делают свои железки, там тоже нужны программисты. И всё! Если вы живете в городе-миллионнике, то работу по программированию железок вы найдете в легкую, и очень хорошо оплачиваемую, и интересную (что не всегда)!
Но если вы родились в городе с меньшим населением, задумайтесь о переезде, возможно и совсем туда.
Ну и еще немного сменились акценты, если раньше все пытались разработать свою железку, и написать под нее ПО, то теперь для подавляющего числа задач можно взять любой ПЛK и просто посадить инженегра, который на языках МЭК составит вам блок-программу.
Но тем не менее, область низкоуровневого программирования цветет и пышет.
Возможно, с выпуском отечественных CPU/SOC и нацеленностью на это нашего законодательства, ситуация как-то и будет меняться в лучшую сторону.
Ну а пока, в основном хорошо живут те, кто занимается аутсорсом ПО на чужие железки (в основном забугорные).