There is a bit of untapped power in my current C programming skills. I dive into bit manipulation here and there, but there are guys I work with who are machines with it... They can write a program that other people wrote in 50 lines of loops, if statements, and more in 1-5 lines of some cool bit manipulation stuff.
I'm not saying this style should always be done, but there are times where it's necessary. Sometimes it blows my mind how much can be done with the bitwise operators and bit flipping. I want to improve at this but unfortunately, I haven't really figured out how to do it because the types of programmers I work with rarely use this low-level stuff. I feel like if I was put into an embedded shop, I would have to learn, but short of having to switch jobs, how else would you recommend getting much better with bit fields, bitwise operators, and the like?
One thing I have tried on occasion is sitting down with a pen and paper and just manually working through bitwise operations in binary. It's been fun and educational so far, but haven't had to do it quite enough to get fluent.