You are still responsible though.
"It's not my place to decide who uses the torture devices I design. My job is only to make them as painful as possible."
Now you also have to consider your market segments. Some folks--we'll call them the Jack Bauers--need to maximize the compliance per time unit ratio. Sure, those devices are probably going to be painful. And expensive. So good profit margins there.
But also consider the compliance per energy unit ratio. Your basic oubliettes and music-blasting oubliettes fall into that category, along with emetic-laced meals and gratuitous bureaucratic nonsense runaround. That kind of customer is looking for something cheap, almost by definition. So maybe we look at that like a subscription service.
...wait. The torture device was a metaphor, wasn't it?
So let me point out the problems with your metaphor.... ~
What kind of geek doesn't at least temporarily lose sight of the big picture while obsessing over the cool and interesting details?
I completely disagree, I think most of the things that we build as developers are as innocuous as kitchen knives.
If you're building (for example) pen-testing software then I completely agree that you should be thinking about how this software might be used against others. But if you're building some software which helps run processes across multiple nodes then I don't think it's up to the developer to police how this software is used (What would they even do about it? You can't not write software like this just because it could be used for nefarious purposes.).
And I genuinely believe that 99% of us are writing software which is much more like the latter than the former.