---
title: I Work in Politics
teaser: 'A review of the ethics of thoughtbot.

  '
tags: ethics,purpose,playbook
author: Mike Burns
published_on: 2017-12-12
---

Our biggest value as a consultancy is our ability to say "no." We do this with
strategic diplomacy and in an effort to steer your organization away from
issues we've encountered many times before.

But sometimes there's a line: we're saying "no" not because of your business
plan, but for ethical or moral reasons. We use [our purpose statement] to guide
us in these decisions.

## A Little History

It was somewhat straightforward to keep in touch with our company's vision when
we were a dozen people in an office immediately following [a pivot] to writing
Rails apps in an agile, outside-in, test-driven process. Today, as a
14-year-old company with autonomous studios spread around the world working on
projects ranging from networking in C to virtual reality to machine learning,
we had started to lose sight of why we were even coming to work every day.

So in 2016 a few people started an initiative to draft a purpose statement.
Chad led it with video calls across the studios to explain what a purpose
statement is and isn't, and then solicited purpose statements from all of us.
The team worked to find the common ideas and produce a draft as a pull request
against our Web site. It was a heroic effort to get agreement among the
70-something people we had grown to. Being able to now resolve debate with
"what does our purpose statement lead us to?" is a relaxing comfort.

The purpose statement contains goals, some of which may not be achievable. It
sets a direction. Every day at thoughtbot is a day in which we move one step
closer to our ideal purpose.

## A Code of Ethics

In early 2017 we started the work to expand our purpose statement to clarify
our ethics. [All technology is political], and explicitly stating our politics
means we can help support each other and continue to resolve decisions by
asking our purpose statement.

We brainstormed what we wanted and then mined [IEEE], [ACM],
[Humane Development], and the [American Library Association] for further
inspiration. In the end of this we started with three pull requests against our
purpose statement, plus one initial pull request to clarify an existing point.
This affects the entire company&mdash;this was literally changing the
company's purpose&mdash;so we alerted everyone via both our internal
messaging system and chat, plus many in-person discussions when possible. After
a month of active discussion on the pull request, with many revisions, all four
were merged.

## In Detail

Our purpose statement encompasses many of our beliefs, but for the brevity of
this article let's go into detail about the ones that affect our ethics.

> We learn new things, and share those things with our peers and community.

This sentiment drives us towards information transparency. When we [learn]
something, [we teach] it. When we build something, [we distribute] it. No one
person can be a knowledge sink. Increasing the [bus factor] means we're able to
take vacations and have sick days.

> We maximize our ability to take on any project by creating a diverse team who
> can bring their experience and perspectives together to solve problems.

Our politics includes people of different backgrounds and demographics, and
excludes steps that harm this. Any technology we build must keep this in mind.

> We are proud of the work we are doing, and believe that it is meaningful,
> worth existing, and improves society and human well-being.

The emphasis in this article is on the "improves society and human well-being"
part. The software we build, both during our investment time and on client
work, must help the people of the world. It is against our purpose to write
software that we feel is a detriment or harmful. When presented with such an
opportunity, we can look to our purpose for help in saying no. When a potential
client comes in, we can look to our purpose for help in knowing whether to
consider the project.

During this pass of documenting our ethics, we intentionally left "improves"
subjective. It is on us to hire people who believe in improving society in a
way that aligns with our values.

> We \[collaborate on building technology\] while maintaining the privacy and
> confidentiality that every person deserves.

When building software it is ethical to consider how our tools impact the
privacy of its users. This starts in the product design phase and carries
through into the technical details, including the security implications of
protecting customer data.

When giving direct, actionable, and constructive feedback to our peers and
clients, we must do so in a manner that builds trust. Part of that is to
respect the confidentiality of the discussions and to understand the boundary
of private information.

Again, our purpose statement states ideals that we hold ourselves up to.
Security exploits exist; our goal is to never take a shortcut that will
jeopardize the security of the user, and when we fail at that we must recover
what privacy remains.

> We improve the quality of the process and the client's environment.

The client's environment is their office, their after-work activities, any
mid-day walks to get a cookie, company retreats, and so on. Both the
environments and the processes that the client uses must fit into our purpose
statement, including all the ethics mentioned in here. Diversity, inclusivity,
security, privacy, trust, and so on, are things we work with our clients on.

This also helps us to measure whether we and a client should part ways. If
their processes are already too toxic or if we see that we cannot work with them
to get them pointed in a direction that aligns with our purpose, then it makes
sense to start the discussion about disengaging with them.

> Beyond that, designing and building quality software means improving the
> security, privacy, and accessibility of the product, and includes
> improvements of life and reduction of harm for all users and contributors.

In addition to the previously-mentioned security and privacy concerns, this
also sets goals for accessibility, life improvements, and reduced harm.

Any technology designed without considering people of different abilities and
disabilities does not meet the goals of our purpose statement. This can range
from using more clear and understandable language to choosing colors with
stronger contrast to heavy use of ARIA attributes in HTML to ensuring all image
uploads have captions.

Our goal is to use technology to improve the lives of all users and
contributors. What this means is currently left up to the reader&mdash;however,
since we as a company have this purpose, that means that we as a company will
help each other drive this purpose forward. We emphasize that this is all users
and contributors here: users are anyone affected by the product, such as people
who use the Web site or people whose data we track on the backend; contributors
are the client's developers, product managers, third-party contractors,
external submitters of pull requests, and anyone else who is contributing to
building the technology.

We want to reduce the harm presented to the users and contributors. This can
include typical examples of physical harm and also includes harassment. When we
design a system, it is part of our purpose to factor in tools and patterns for
reducing the negative effects these will have on all involved. We say "reduce"
and not "eliminate" so that we can give the full trust to the thoughtbot
employee to weigh the tradeoffs themselves.

> We are running a marathon and not a sprint.

Implicit in this statement from our purpose is **a belief that software can
create a better future for humanity**. This is the overall goal and the mindset
driving all of our ethics. Let's design software for that future.

[our purpose statement]: https://thoughtbot.com/purpose
[a pivot]: https://thoughtbot.com/blog/wasting-less-time "Wasting Less Time"
[IEEE]: https://www.ieee.org/about/corporate/governance/p7-8.html
  "IEEE Code of Ethics"
[ACM]: https://www.acm.org/about-acm/acm-code-of-ethics-and-professional-conduct
  "ACM Code of Ethics and Professional Conduct"
[Humane Development]: http://humanedevelopment.org/]
[American Library Association]: http://www.ala.org/tools/ethics
[learn]: https://thoughtbot.com/upcase "Upcase"
[we teach]: https://thoughtbot.com/blog/
  "Giant Robots Smashing into Other Giant Robots"
[we distribute]: https://github.com/thoughtbot "thoughtbot on GitHub"
[bus factor]: http://www.agileadvice.com/2005/05/15/agilemanagement/truck-factor/
[All technology is political]: https://thenewinquiry.com/the-end-is-always-near/
  "The End is Always Near"
