A question of (for. About) ethical choices...


By Scott Andersen

What is the ethical responsibility of a software architect? First off, defining what and where the person is acting is critical. In this particular conversation let’s assume that the software architect is working for a company and providing services for that company.

In doing some internal research you discover something. You find that the organization you are a part of hasn’t paid for the software they are using. Effectively, they have illegal software. The first thing you do is verify that the account you are working for/with has legal software. Now comes the much harder question.

What is your responsibility?

I’ve asked this question of a number of architects over the years. The answers I’ve gotten are interesting so I thought I would share the top three answers with the world today and get your thoughts and options.

The answers are listed in order (percentage given).

  1. It is not the responsibility of the architect (employee) working for a company to make sure that the tools and resources they are given were actually legal.
  2. You have to report the company right away. Then resign from that company. Ethically they are in the wrong.
  3. It is a tough gray area and depends wholly on the particular position you are in. Given that what the company has done is wrong, you can jeopardize the jobs of all your co-workers if you report the organization.

As you can see the answers vary. The first and third are normally led with “that is a really tough question” with the first focused more on the fact that the Architect isn’t a business leader of the organization so isn’t ultimately responsible for the actions of the company. The third is interesting in that it is more of a think global act local attitude. The second is always stated vehemently and nothing more is said. The people that have given me answers 1 and 3 tend to justify that position for a fairly long time. Answer 2 is normally give in less than 5 seconds and the person moves on.

Is there a right answer? Or is answer 3 the best that it depends? The experience of the architect doesn’t matter, I’ve talked to architects of all experience levels and the answers given by experience still break evenly into the three buckets above. Age of the architect regardless of level also has no impact.  Solution architects tend to answer 3 far more than other architects do. Enterprise architects tend to answer number 2 and move on quickly.

Overall though the first answer is the most common.

So without further time wasted – what do you think?