Eu usei bastante C ano passado pra desenvolver um projeto pessoal (um despertador luminoso que se comunica com um aplicativo no celular, que eu também desenvolvi). Software low-level é bem mais legal do que parece. Mas de fato é um trabalho intenso, você tem que gerenciar muita coisa por conta própria, e debuggar não é lá tão fácil.
Eu cheguei até a aprender engenharia elétrica e mandar fabricar algumas PCBs (circuitos impressos) lá na China. Eu usei Wi-Fi pra sincronizar o relógio interno e Bluetooth pra comunicar com um aplicativo que eu desenvolvi em swift. Eu aprendi muita coisa fazendo esse projeto!