- Sortition-based decisions
- Slow and methodological > fast and loose
- Open Source
- Deep work follows a "Maker" schedule, not a "Manager" schedule
- Think deeply and consistently about how your own actions, and standards, and practices create burnout in others
- Opinions are not facts.
- Be a prism, not a mirror. Seek to digest and break apart information, not just pass it on to someone else
- Be cross-congregational: https://sambleckley.com/writing/church-of-interruption.html
- Communication usually fails, except by accident - Osmo Wiio
- Reject: kings, presidents, and voting. Believe in: rough consensus and running code. [Internal Memo] Principles for Decision-Making in a Flat Organization RFC 7282 - On Consensus and Humming in the IETF
- Continuous metrics drive continuous improvement
- Don't blame, fix.
- Complexity can neither be created or destroyed
- Independence is mythical. Autonomy is something every adult needs.
- Observing is no substitute for doing
- Culture is what you celebrate. Rituals are the tools you use to shape culture.
- If it’s not worth spending the time to over-communicate your point, the feedback is probably not worth slowing down the discussion for.
https://www.bloomberg.com/news/articles/2020-08-03/silicon-valley-didn-t-inherit-discrimination-but-replicated-it-anyway https://www.academia.edu/1975319/Missed_Connections_What_Search_Engines_Say_About_Women https://ainowinstitute.org/disabilitybiasai-2019.pdf https://venturebeat.com/2020/06/12/researchers-find-racial-discrimination-in-dynamic-pricing-algorithms-used-by-uber-lyft-and-others/ https://www.propublica.org/article/machine-bias-risk-assessments-in-criminal-sentencing https://www.propublica.org/article/machine-bias-risk-assessments-in-criminal-sentencing https://docs.google.com/document/d/1HlRUtRKD6WzcO7zx0eHQcwfStk3joGAqASV67zhEYxE/edit https://docs.google.com/document/d/1GKMeE7S5n4SfJJv_zxTZ1Dsxb0kBrQKxdUjZy3JECF4/edit https://techxplore.com/news/2020-07-machine-satisfaction-romantic-relationships.amp
Don't make your code do too much.
You can't fix code by staring at it.
Write Everything Twice
Always comment your abstractions
Optimize for deletion
Do you know what you call someone complaining about existing code being awful all the time? "Junior"
Good devs: understand what users want, write good code & ship things on time, help others do their jobs well
Seven habits of good developers: Good documentation, ship fast/get feedback, be language/tech agnostic, have coding standards, simple code > complex code, use self-describing function names in your code, have good communication skills.
Practice Egoless Programming
- Helpful: Be friendly, be kind
- Accessible: Inability is a failure of our system
- Lasting: Useful tools, built to last
- Human: Amplify humanity
- Directed: Have an opinion
- Systematic: Think in systems
- Candid: Make decisions in the sunlight
- Prime: Make a good first impression
- Tolerant: Work, even in failure
- Predictable: Advocate for clarity
User powers > Power users - Make complex, important work easy to make your users feel like super heroes. Don't hide powerful features for just your "power users"
- Work that’s too fine, too early commits everyone to the wrong details. - ShapeUp
- Effective teams write less software, and writing less software enables teams to be more effective.
- "Go see" over "call and ask" - Andon Cord
- Radiate Intent
- Positive attention is 30x more powerful than negative attention https://twitter.com/tom_peters/status/1152555687991492608
- Hire for attitude, mentor for talent.
- Write for yourself, edit for your reader
- Con-tent not Cont-ent
- Close the loop. Don't let connections fall off.
- A mentor will share their experiences with you to contribute to your knowledge base.
- A mentor will use their network to help you succeed to achieve your goals.