I prefer to work on device drivers, or within the kernel and its subsystems.
I thoroughly enjoy developing primarily in C and x86 assembly (presently working in ARM assembly) and have spent most of my time working at that level, where you need a hardware debugger to follow code. However, I have a fair amount of fun designing and building throughout the whole stack, from machine code to Objective-C and web services.