I personally program robots for my robotics team. Now, in an embedded system with the lack of processing power and memory, you have to try to squeeze every "juice" out of the machine. That is when you go low level and optimize your self.