With the rising prevalence of embedded devices in the Internet of Things (IoT), it has become essential to program these devices effectively to enable innovative applications across multiple domains. These devices, which range from small sensors to large data centers, have limited resources and require energy-efficient programming solutions to extend their lifespan. Developing such programming solutions is challenging due to differing application requirements, hardware specifications, and energy budgets. This project try to identify new requirements for energy-aware programming and enumerate numerous open research challenges and future directions based on energy-aware programming