Well if you are knowingly creating software that you can reasonably expect someone to use it unethically then you are responsible.<p>You might say that you are not directly responsible and that there are second or third order effects. Or you might even say every man has his own judgement, I cannot be made ethically responsible for his actions with the software I created.<p>Sure, no you are not responsible, but you were an enabler of his behaviour, you brought that man&#x2F;company whatever one step closer.<p>To answer your question, I think you don&#x27;t need to create separation between the two, they are intertwined. The software would be less likely to have been created if you didn&#x27;t write it in the first place and you probably wouldn&#x27;t have written it if someone wasn&#x27;t going to use it.<p>So as a software engineer I think it&#x27;s reasonable to expect to try to understand who is it that you are creating the software for, how are they planning to use it, who is selling it to whom, what kind of people they are etc.