Biggest trick is incorporate deep-sleep as much as possible and "waking up by interrupts". That has a big impact on your software designs.