Sex and Drugs and Guns and Code
This workshop presents a few ideas about people and society that programmers ought to know. All of the material is available under an open license, and contributions through our repository are welcome. All participants are required to respect our Code of Conduct.
Learner Persona
- Jay is 21, white, straight, and male. He got into programming because he enjoys solving puzzles, and still daydreams about being the next Mark Zuckerberg. His favorite phrase in arguments is, "Well, actually…"
- Jay would deny being racist, homophobic, or misogynist, but makes disparaging jokes about "cancel culture" and "DEI hires" to fit in with his peers. Those jokes increasingly make Jay feel uncomfortable, as does the gap between the Silicon Valley rhetoric in his company and what he sees every day on the news.
- Jay is therefore looking for an explanation of how society actually works, particularly one that explains why everything seems to be getting worse.
- Jay is impatient with abstract theory; he strongly prefers understanding he can apply.
This workshop teaches Jay a few key ideas from psychology, sociology, and political science, while the exercises help him figure out how these ideas apply to tech.
Lessons
- Introduction
- Who Decides What's Allowed on the Internet?
- How Are Big Tech Companies Like Cocaine Cartels?
- Why Do Americans Shoot Each Other So Often?
- What Does It Mean for Software to Be Property?
- How Do Tech Companies Get Away With Fraud?
- Do 10X Programmers Actually Exist?
- Why Are Groceries So Expensive?
- Why Don't Software Engineers Need to Be Licensed?
- Why Don't Software Engineers Join Unions?
- How Do Org Charts and Software Shape Each Other?
- Why Does(n't) Central Planning Work?
- Why Don't Do-ocracies Work (Either)?
- Who Gets To Interrupt in Meetings?
- What Is "Bullshit" and Why Do People Believe It?
- Why Are We All Working More for Less?
- Who's to Blame When an Accident Happens?
- Why Do People Cheat?
- Why Do People Care Less Than They Used To?
- How Do People Resist Change Without Getting Caught?
- Would You Push Someone in Front of a Trolley?
- Who Decides What to Teach in School?
- How Do We Decide How Much People Are Paid?
- Does Strong Encryption Do More Harm Than Good?
- How Does Democracy Fail?
- How Do Communities Rebuild Democracy?
- Conclusion
Appendices
Acknowledgments
- Greg Wilson is a programmer, author, and educator based in Toronto, Canada. He was the co-founder and first Executive Director of Software Carpentry and received ACM SIGSOFT's Influential Educator Award in 2020.
start where you are · use what you have · help who you can