Although the idea of “Type-Driven” originated in programming in relation to “Type-Driven Development,” as explained by Michael Birch in this post, that doesn’t mean that the concepts and ideas from this kind of programming need to be unique to programming.
As Birch points out, the core idea of type-driven development is simply that code should be written to fulfill some business requirements, and such requirements can be captured as types (which is useful for reasons outlined in his post). The challenge is then to determine how to turn those business requirements into computer-readable types. This involves the programmer working together with the computer and compiler and the method results in clean, and maintainable code.
Humans are of course not as consistent, maintainable, or programmable as machines, but there is still much to be learned from the concept of type-driven development. One of the main hurdles when it comes to ethics of technology is ensuring that technology is designed with a particular need in mind, rather than designed simply for the sake of it, or with the intention of creating new and potentially harmful needs.
This also means that having an ethicist can improve your code development process by identifying stakeholder groups and needs to then translate those into genuine, programmable business requirements.
For example, there may be a real need for machine learning visual identification when it comes to skin cancers, but not when it comes to policing. An ethicist can help to illuminate these distinctions, as well as to ensure that developers are considering that a wide range of persons with various skin-types are susceptible to such cancers and that those with darker skin are in general, already underdiagnosed. By being attuned to vulnerability and the challenges that vulnerable groups face, an ethicist can help to fully scope needs and identify holes in whose needs are being filled.
Of course not every problem, ethical or otherwise, can be solved by code (or other technologies via code). Furthermore, not every ethical problem is easily identifiable given the perniciousness of bias, and obscuring nature of many technologies as well as the status quo. Some of the ethical situations that have nothing to do at all with code that I’ve addressed in the past include things like: how to ethically support elderly persons in long term care homes in accessing meaningful relationships via social media, establishing scholarship creation policies to ensure equity and compliance with the Ontario Human Rights Code, and creating a microethics and poetry workshop to help teach healthcare practitioners how to engage in microethics in their everyday conversations with patients. Really though, the possibilities are endless. This is because anytime humans come into connection with one another, there is the potential for values to conflict, and an ethicist can help to sort out which values are in conflict, how they can potentially both be fulfilled, or if not, which one should take precedence and why. In a certain sense, we can think of this as properly identifying types and getting them all to play nicely together.
Ethical types are not so easily definable as computer types (and even defining those is no simple matter!). Instead of Boolean values and functions you have lofty ideas like integrity, justice, fairness, beneficence, and virtue. Nonetheless though, we can help you condense these ideas down for the project you have in mind and apply them to your individual case and context. By honing in on your true goals and values, we can ensure you get to them in the best possible way. We are there to help you find potential pitfalls and unexpected consequences– like some metaphorical errors in code. Like the computer in type-driven programming, we are an aid to help you crystalize your vision and refine it into something sparkling– not an antagonist who is trying to thwart you and your goals.
If you’re interested in making sure your business or product is properly making ethical considerations, or like us, simply want to make sure the future you’re building is one that we all can thrive in, don’t hesitate to reach out.