Оффтоп: денег в вебдеве как правило больше, особенно в РФ (но глобально - тоже). Если это не смущает, читайте дальше =)
С++, Linux, Verilog - это все хорошо, но я бы занимался этим после того, как поработаете какое-то время, и поймете, куда хотите расти.
Абсолютный must, имхо:
- Язык C. Это рабочая лошадка firmware, без него никуда, зато остальные языки - совершенно опциональны.
- Какой-нибудь простой ассемблер (сегодня я бы сказал, армовский). Не обязательно быть мастером, но очень помогает понять, как работает процессор в принципе.
- Скучная школьная теория: архитектура ЭВМ, устройство операционных систем, конечные автоматы - все это для эмбеддера куда более актуально, чем для веб-девелопера
- Электроника. Необязательно уметь спроектировать шестислойную плату с учетом EMC, но читать схемы - это важно. А также способность потыкать плату тестером или осциллографом (в большинстве случаев ошибка все равно в софте, но успокаивает).
- Стандартная периферия и интерфейсы: UART, I2C, SPI, DAC/ADC. Это до какой-то степени можно выучить и на ардуине, но лучше освоиться с настоящим железом
- Умение читать документацию на железо. Должно прийти при освоении предыдущих пунктов, если не ограничиваться копипастом из туториалов.
Если освоите до какой-то степени (главное - не увлекаться) этот набор, то можете работать в firmware. А дальше уже можете развиваться куда душа лежит, и где будут карьерные возможности - Linux, C++, электроника, DSP, whatnot.