Although there is still so much we have to learn about the human brain, we obviously know that the neurological structure is very complex, and it processes information in such a way that I believe it is fair to argue that a human's mind is a computer. With that being said, I don't think humans are fully pre-programmed at birth. There is some genetic predisposition that influences behavior, but what is experienced, learned, extrapolated, and internalized also contributes to how we behave. So, we have some programming at birth, and additional programming is overlaid as a result of our environment.
I heard a story on the most recent Radiolab program entitled "Blame" about a man who had a seizure condition for which he had brain surgery, and after his surgery he apparently became obsessed with child pornography and was charged for his crimes. His doctor spoke on his behalf in court, asserting that this type of impact to the brain after surgery (namely the inability to suppress and control primal urges) was a known and in this case a treatable condition. The man spent some time in prison, but he was treated and essentially recovered. I have heard other stories of people having traumatic brain injuries and having their personalities change completely. And other stories of people developing brain tumors and becoming pedophiles where this desire wasn't present prior to the tumor. And yet other stories about how some people are genetically predisposed to becoming psychopaths, and how vital their environmental development is in determining whether or not that will happen. So, are humans responsible for their actions, and do we have free will? I honestly find myself questioning this, knowing how delicate the structures of the brain are in shaping our behaviors, and knowing that we could all be just one molestation or auto accident or neoplasm away from someone who engages in horrible and ethically deplorable behavior.
As a matter of fact, in that very same episode of Radiolab, neuroscientist David Eagleman argues that our current justice system of blame is unsound for those very reasons, and that we may be better off as a society if we assign punishment based on recidivism--or determining based on data whether or not a person will engage in future behavior that is detrimental to society. It's nice to think that we have free will and that the world is our oyster, that we can all rise to the occasion and stand on a mountaintop with our fist in the air and choose whatever wonderful thing we ever want. But if that's so, why aren't we all doing it? Why do we choose to debase ourselves? Can we learn to be better? Can we even help it?
I don't mean to sound like a deterministic a-hole, because in reality, I don't have an answer as to whether or not anyone or no one is completely responsible for any one thing in particular. But in spite of my philosophical musings, I do think programmers have a responsibility to make ethical decisions in their work, and I also believe that when there are negative outcomes as a result of a computer's actions, that we should investigate the intent of the programmer, if that is even possible. But I suspect a day will come when technology becomes as complex as the human brain, and when we witness machines doing things we never could have imagined in ways we never would have dreamed. When that time arrives, I think we will find it just as difficult as we do (or as we should) now to assign blame unequivocally.