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.