Never needed to interpret a packet, I intercept communications at the 7th layer to troubleshoot things - namely http connections.
I don't poke at memory, I use a profiler that tells me what every piece of code and variables I use take in memory.
I don't design cache friendly data structures, I use redis.
I would wager that my experience is closer to the development situation and needs of the majority of programmers.
I don't see why knowledge of bit operations are necessary to do a good programming job.