@Matt: Very well said !
However: I would be careful with the software analogy; just because this is the height of our current technological understanding does not mean that unknown processes can or should be mapped to it. Staying with Descartes here for a moment, the big breakthrough at his days were hydraulic automatons (i.e. life-size puppets that were animated due to water pressure). Based on that he theorized that the life spirits coarsing through our veins work in a similar way. Now that we have electricity and understand neurons it's easy to see that this description was way off base. What might a future generation think when they hear us comparing consciousness to a piece of software ?

My initial reaction would also be that genes do not encode behavior, but how then do you explain identical behavior across a species? There's an impressive example in "Goedel, Escher, Bach" of an insect inspecting its cave before putting food in it. When the food is slightly moved after cave inspection the insect will check the cave again, when you move the food afterwards it will check the cave again, etc. Hard-coded behavior stuck in a while loop.