I'm consciously calling myself as a "product developer" to emphasize a desire that I am not just a software developer, data scientist, product manager, or machine learning engineer. I'm working on a product, rather than contributing to one of many random software or algorithms. I'm developing, rather than holding my own ideas, skill sets, and knowledge inside of myself.
My motivation behind learning and applying the sophisticated technologies is all about delivering an actual value to someone somewhere in the world.
More importantly, I have been seeking a way to improve myself as an "ethical product developer". To the best of my experience, there is a clear boundary between ethical and vanilla product developers1.
For me, ethical product development requires us to have a clear answer to each of the following six questions:
- Who will interact with the product?
- Where is a place the product brings an impact on?
- On which occasion is the product supposed to be used?
- Why do I have to build this product?
- What is the purpose of this product?
- How does this product change the "world" both in positive and negative ways?
Who, where, which. Ethical product developers have a clear picture of end users. Selfish product developers don't care about a situation where their product is actually used by someone else somewhere outside of their control. You may read this point as "have a clear persona" in the context of design thinking, but it is important to note that the reality matters; it's not about how day of a synthetic user looks like, and an ethical developer rather tries to imagine real people in the real world and illustrate the picture as precisely as possible.
Why, what. Ethical product developers build a product based on intrinsic motivation. Unethical product developers act based on extrinsic valuation such as monetary incentive and social approval. No matter what you are good at, having a strong ownership and passion is the fundamental requirement for being a good product developer, and these are NOT something determined by someone else. If you are struggling with balancing the sense of meaning and continuity of business, the idea of sustainable capitalism will be a solution that achieves both of them.
How. Ethical product developers pause for a moment before releasing a product and consider the consequences of design, technology, and business decisions associated with them. Others don't even question them. We, as a creator, ultimately must be responsible for every single choice we've made throughout the development process. A designer doesn't want to make a UI element just because "it's cool". Or, "it's modern/state-of-the-art" shouldn't be a reason for selecting one technique over another. Your decision is directly associated with positive and negative externalities of the final deliverable, and it's not something customer-facing people should only care about.
Developer ethics are a mindset that leads us to the right direction in a wide variety of fields, including AI, blockchain, and even sustainability development. There are a lot of opportunities to take the ethical perspective into consideration in our day-to-day activities, and the first step is to be more conscious about hidden aspects of the technology and cast doubt on "rational" decisions we are making today.
1. In fact, the majority of ordinary developers are not always "unethical," but they are simply unconscious about the ethical aspects of their work. ↩
Support (Thank you!)
- "Why Do We Build This?" Humane Technologist's View of Bad Product/Project
- "Definition of Done"
- Hi Product Managers, Are You Creating Products That *You* Love?
Author: Takuya Kitazawa
Takuya Kitazawa is a product developer, minimalistic traveler, ultralight hiker & runner, and craft beer enthusiast. Throughout my career, I have practically worked as a full-stack software engineer, OSS developer, technical evangelist, sales engineer, data scientist, machine learning engineer, and product manager. See my "now" page for more about what I am doing lately.
Opinions are my own and do not represent the views of organizations I am/was belonging to.