Presentation: Organizing for Your Ethical Principles
Share this on:
What You’ll Learn
-
Reason about ethics and how to effect change in your teams and organization.
-
Learn strategies to be faithful to your ethical principles as a software engineer.
-
Hear stories of applying these principles within Google.
Abstract
Our job as engineers does not stop with eliminating technical defects and ensuring high reliability. Engineers of all kinds must ensure their work serves the public good. A service that reliably harms, exacerbates injustices, or excludes marginalized groups is not a service worth building and maintaining.
Learn how to effectively accomplish change in your working conditions or your employer's products through grassroots employee advocacy.
What does organizing your ethical principle mean?
I can't tell you what your ethical principles are. I think that it’s important for you to figure out what is important to you. You have to figure out what you value, and what things you perceive as right or wrong.
What my talk primarily intends to focus on is once you have an understanding of what you think is right or wrong, how do you actually make sure that you are faithful to that as an engineer? How do you make sure that you make informed choices about what you would like to work on? How do you influence in order to make sure that if you and your co-workers have ethical concerns about something, how do you make sure that those issues are taken seriously? How do you make sure that your leadership is listening to you and that you are not working on something that violates your ethical principles? That's what the talk is about in a nutshell.
What do you say to someone who's like “I'm a developer. I have a use case, I implement the use case. The product owner is the person who's asking for it.” How do you talk to that person? How do you move them beyond that line of thinking into “No, you're not just a person who's implementing a use case”?
There are two angles to that. The first angle is if someone feels powerless that they can't do anything about it because they’re not product owner, I can give them an idea of how they do in fact have power and responsibility. I like to think the best of people. I like to think that people are not disengaged from ethics because they don't care. I think people are disengaged from ethics because they think that they can't affect things. But the fact is they can improve the ethics of the products they work on. They can improve the working conditions for themselves and of their co-workers. That's my stance and it's borne out by collective organizing at Google for upwards of eight years.
Can you give me some idea of the area of focus for the talk? If I’m a developer on the team, are we talking about pan-company ethics, are we talking about ethics in code in a code base, or maybe strategies like creating safety in applications? What is the scope we're talking about in this talk?
Ethics primarily boils down to when you have conflicts between different values. Let's suppose that your company values making money and that your company purports to value creating equality, then you might have an ethical dilemma.
Do you do a thing that makes you more money or do you do a thing that makes you less money but that’s fairer to your users? I think that it doesn't really matter to some extent what the scale is, it could be as small as individual lines of code that you're writing or it could be “Should this project be canceled or not?” I think a lot of the ethical dilemmas come from a conflict between two different priorities. We’ll talk about how to reason and think about these type of dilemmas.
Similar Talks


Tracks
-
Microservices: Patterns & Practices
Evolving, observing, persisting, and building modern microservices
-
Developer Experience: Level up Your Engineering Effectiveness
Improving the end to end developer experience - design, dev, test, deploy, operate/understand. Tools, techniques, and trends.
-
Modern Java Reloaded
Modern, Modular, fast, and effective Java. Pushing the boundaries of JDK 9 and beyond.
-
Modern User Interfaces: Screens and Beyond
Zero UI, voice, mobile: Interfaces pushing the boundary of what we consider to be the interface
-
Practical Machine Learning
Applied machine learning lessons for SWEs, including tech around TensorFlow, TPUs, Keras, Caffe, & more
-
Ethics in Computing
Inclusive technology, Ethics and politics of technology. Considering bias. Societal relationship with tech. Also the privacy problems we have today (e.g., GDPR, right to be forgotten)
-
Architectures You've Always Wondered About
Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, Goldman Sachs
-
Modern CS in the Real World
Thoughts pushing software forward, including consensus, CRDT's, formal methods, & probalistic programming
-
Container and Orchestration Platforms in Action
Runtime containers, libraries, and services that power microservices
-
Finding the Serverless Sweetspot
Stories about the pains and gains from migrating to Serverless.
-
Chaos, Complexity, and Resilience
Lessons building resilient systems and the war stories that drove their adoption
-
Real World Security
Practical lessons building, maintaining, and deploying secure systems
-
Blockchain Enabled
Exploring Smart contracts, oracles, sidechains, and what can/cannot be done with blockchain today.
-
21st Century Languages
Lessons learned from languages like Rust, Go-lang, Swift, Kotlin, and more.
-
Empowered Teams
Safely running inclusive teams that are autonomous and self-correcting