Learning Embedded Software Design and Development

I am looking for someone to give me the right direction I need to take to learn embedded software. Which tools and resources would you recommend I procure to get started with embedded software development? What do I need to take notice of when I embark on this journey? How can I climb up higher and get to an advance level?
