Personal Values
Let’s talk about personal values and what they mean for a software developer.
Have you put some serious thought about which kind of software projects you will accept, and more importantly, which kinds you will reject, beyond financial considerations?
Can you articulate the values you are willing to project through your work? How much personal responsibility will you bear if your product is used to harm or coerce, rather than empower or protect?
Software used to guide a missile has consequences. So does software used to profile applicants for potential jobs, or help people live a healthier life. Will you accept the moral consequences of your code? Will you accept both praise and blame for how your software is used?
What unintended consequences might there be for the code you write? What will you do to mitigate them?
Find your bright red lines before you accept your next project. If you’re like me, you’ll sleep better at night.