While I get working on what you enjoy is important you may also consider branching out. Firmware programming is a very niche field so you'll always be suffering from a lack of options. If you enter one of the more prolific fields and languages like Java, C#, C++ and doing business development it is far easier to swing around to climb the ladder.