Sounds exciting. I want to know how to make a switch, if one can. I am in the same position (mostly webdev) as the gp. I do understand that "systems programming" is very broad.
I get the impression that most people I've worked with in the CE world come from non-CE programming backgrounds, so I doubt there are major obstacles. The biggest help would be familiarity with C/C++ programming, and being comfortable with the practices needed to use these languages properly (e.g. explicit memory management in C, RAII idioms in C++). (Next-generation systems languages like Rust can't come fast enough, in my opinion.)