The snake symbolizes regneration and rebirth, intelligence and knowledge, restlessness, and the energy of the consciousness (kundalini). Snakes shed their skins and have the ability to show us the many layers to our personas.
In some traditions spiritual awakening is represented by the snake/serpent. Kundalini energy as it rises through the chakras is said to be coiled at the base of the spine like a snake. Snake people are drawn to explore the mysteries of life and will experience many "rebirths" throughout their life, often exploring many different levels of consciousness.
When snake comes to visit you it tells you that knowledge is power and to seek your inner source to conquer fears and renew your spirit. Snakes symbolize restlessness and the desire to seek and explore. Snake encourages you to shed your layers so you can get to the core of your being and access your authentic self in its truest form.
Snakes in dreams are usually symbols of facing fears and revealing more of yourself.