The development of wireless sensor networks (WSNs) software today is tackled by a code-and-fix process that relies solely on the primitive constructs provided by the operating system and the skills of developers. For WSNs to emerge from research labs and make a true impact on society at large, we need methodologies, techniques, ractions that improve the development process, foster the designer's confidence about the WSN behavior, and whose effectiveness is demonstrated in the real world. How do we achieve these goals? The aforementioned challenges are germane to the techniques and expertise matured by software engineering (SE). Unfortunately, the WSN and SE research communities have been mostly impermeable to each other. In this paper we elaborate on this state of affairs, by arguing that a principled approach to development is inevitable as WSNs become more and more pervasive, and by identifying and discussing specific areas where a synergy between the SE and WSN communities cou...