Empowering digital transformation ethically
Tags: webdev, programming, codequality
Published: 2021-08-04 03:47:26

We at Mad Devs belong to the software developers community, to the so-called “software craftsmanship,” as Robert C. Martin (Uncle Bob) says. We are proud of what we do and of how we do it. And we want our customers to trust us in the way we do things. 

That’s why we adhere to some principles in IT development. Like doctors have their oath, programmers have their oath, too. Nobody could formulate the programmer’s oath better than Uncle Bob, so here it is.

I promise that, to the best of my ability and judgement

**1. I will not produce harmful code.**

**2. The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate.**

**3. I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.**

**4. I will make frequent, small releases so that I do not impede the progress of others.**

**5. I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them.**

**6. I will do all that I can to keep the productivity of myself and others as high as possible. I will do nothing that decreases that productivity.**

**7. I will continuously ensure that others can cover for me and that I can cover for them.**

**8. I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty.**

**9. I will never stop learning and improving my craft.**

You see that the world is becoming increasingly digitized. The digital transformation process is in the hands of developers. Developers must be mindful of their knowledge and power.  It depends on us whether the consequences of the increasing digitalization will be positive and valuable for people. 

At times, developers face moral dilemmas. For example, the dilemma of a self-driving car. If a car has to crash, would you program it to save the passengers? Or to save somebody who is outside on the way? Or what if you are asked to develop a solution that collects users’ data without their consent?

[![Cooperation models with software companies](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qmvhastw22d6ruv069v2.png)](https://maddevs.io/customer-university/cooperation-models-with-software-companies/?utm_source=devto&utm_medium=software-principles)

We don’t face such dilemmas every day. Mostly, we work on developing a specific feature, perform bug testing,  or improve an existing product. But we should admit that sometimes, we have to choose whether to take up a project or not because it does not match our understanding of ethics. Ethics is not something left to people making decisions about the product. It is something the team is responsible for.

We at Mad Devs are doing our best to make the world a better place. That’s why we choose the ethical way of doing things. We do our best to deliver clean code, and we never write code we’d be ashamed of later. 

That’s why for us, the Programmer`s Oath is the reflection of how we work on every project.

Previously published at [maddevs.io/blog](https://maddevs.io/blog/software-development-principles/?utm_source=devto&utm_medium=software-principles)