I've written production firmware (computer engineering background). In my experience EE's don't usually write production firmware, but are responsible for writing non-production verification loops and code.
Usually a computer engineer or software person works with the EE who developed the board level hardware + ASIC engineers.
Of course, there exist EEs who are talented at writing software, but I wonder how often EEs are tasked with writing production code.