It has occurred to me in a very ugly, surprising way that not all programmers do practice programming ethics. It is a sad fact and horrifying for some who practice extreme measures to fulfill being a quality programmer.
It is but a shame to not practice what the best minds and the best teams practice and observe. We, the younger generations of programmers need not worry about having the best machines to compute on, or the best practices/methodologies/principles that there is to improve the way of computing. It has already been resolved by our ancestors in the field of IT. Thus, it is much expected from us to continue with this founded easy, elegant and professional way of computing. We are now burdened only with the general interest to improve these established way of thoughts and thereby find another set of quality contributions to our society.
But it is such a disgrace to go backwards and be proud of it. Isn't? Our forefathers have already established the following for us:
- Software development cycles that work
- Methodologies and best practices (like YAGNI, OAOO, DRY, KISS, etc)
- Tools to maintain and track performance (repositories, CMSes, project management tools, Wiki, etc)
- Standards to follow (W3C)
- Support groups, self helps and trainings (like forums, mailing lists, conferences)
What is there not to appreciate? What is there to contradict?
Up to a certain extent, we are free to choose the tools and methodologies that work for us and ignore the others while not totally breaking away from our own principles and self standards. But to go against what has been there and accepted good is totally nonsense.
I have a teammate who continuously whined about breaking codes. Of course the measures have been put there, but to err when these things are not in place is usual. Not all of us do tests. Its sad, but is being addressed already (by those who do tests). Not everyone seems to be on the same page. But it is a sad thing to be in a team, yet work for yourself--it is a malicious behavior.
I believe I agree with the Coding Ethics of ACM (Association for Computing Machinery), to list which are: As an ACM member I will...
- Contribute to society and human well-being.
- Avoid harm to others.
- Be honest and trustworthy.
- Be fair and take action not to discriminate.
- Honor property rights including copyrights and patent.
- Give proper credit for intellectual property.
- Respect the privacy of others.
- Honor confidentiality.