Разработка ПО под контроллеры - это в 95% случаев чистый С, хотя на каких-нибудь "толстых" чипах это могут быть и C++. О managed-языках на контроллерах придётся забыть, это пока ещё очень большая редкость, так как обычно от контроллеров требуется максимальное быстродействие (об использовании Real-Time Java в мелких железках слышал всего один раз, потому считаю это экзотикой), и минимум кода (кроме случаев "толстых" контроллеров, типа ATMega).
По зарплате - в среднем в России разработчик по железкам получать будет в любом случае меньше, чем энтерпрайз-девелопер. Не уважают у нас "железячников", да и спрос на них невысок ("оборонка" либо мелкие конторки, ведь своё производство у нас полностью убили ещё в 90-х). Потому "железячники" сваливают в дальнее зарубежье (у меня пара сокурсников уехали в Ю.Корею, трудятся на очень приличной зарплате в Samsung'е, где набор разработчиков close-to-hardware никогда не прекращается).
Порог вхождения в отрасль разработки под микроконтроллеры достаточно высок, так как кроме знания языка будет нужно освоить не одну аппаратную платформу, и хорошо бы ещё иметь представление о принципах работы цифровой электроники.
Я сам по специальности являюсь разработчиком промышленной электроники ("программирование контроллеров" это только малая часть того, чем я мог бы продолжать заниматься профессионально), однако я предпочёл уйти из этой отрасли почти сразу, ибо перспектив там нет, особенно зарплатных. Сейчас пишу на "плюсах" разного рода приложения под разные платформы, но параллельно изучаю J2EE-разработку, поскольку a) спрос на Java только растёт, b) зарплата джаверов уже сейчас выше, чем у плюсовиков, и тенденция сохраняется.
Так что я бы на вашем месте из сферы бизнес-приложений не уходил. В нашей стране, перейдя в стан "железячников", в деньгах потеряете точно. А чтобы попасть в тот же Samsung, скиллы по разработке под "железо" надо иметь очень и очень существенные, чему нужно обучаться довольно приличное время.