...
- Reactive Manifesto
- Very clearly describes and explains how a well-crafted message-driven (event-passing) system architecture can lend itself to a highly Responsive, Resilient, and Elastic system.
- edX experiences in following this manifesto have thus far yielded good results.
- Self-contained Systems
- Building on top of the design principles of the Reactive Manifesto, SCS takes a more extreme standpoint and encourages entirely autonomous, highly decoupled, self-contained services that contain their own UI, business logic, and data storage, with only asynchronous communications between SCS'.
- The slides at the top of their page provide great visuals of these concepts.
- Thinking in Systems
- A superb book on systems thinking, including key concepts such stocks, flows, and feedback loops.
- It will likely change the way you look at the world around you, whether it be climate change or organizational dynamics or system architecture.
Coding Best Practices
- Clean Code, by Robert Martin (Uncle Bob)
- Good perspective on coding best practices - though some may have differing thoughts on some recommendations.
- Book club notes captured at Clean Code.
- A Philosophy of Software Design, by John Osterhaut
- Relatively easy to read, given its structure of short sections. Covers concepts of information hiding, controlling complexity, and naming.
...
- Atomic Design, by Brad Frost
- 1st half provides a ubiquitous language for reusable frontend components: Atoms, Molecules, Organisms, Templates, and Pages.
- 2nd half speaks to the challenges and importance of alignment throughout the organization on developing, using, and maintaining a Design System.
- https://micro-frontends.org/
- This is the resource that Nimisha used when she introduced micro-frontends as an architectural pattern at edX.
- Building Micro-Frontends, by Luca Mezzalira
- Luca was an invited guest at Arch Hour: Arch Tea with Luca Mezzalira (Pre-Work) - 2020-07-09
- His book covers both architecture theory and tactical best practices for implementing MFEs.
Soft Skills
- Non-violent Communication: A Language of Life, by Marshall Rosenberg
- "If we change ourselves, we can change the world and changing ourselves begins with changing our language and methods of communication." - Arun Gandhi, grandson of Mahatma Gandhi
- Part 1 provides a structured method for communication: Observation, Feeling, Need, Request
- Part 2 describes empathic listening, which can be transformative in any relationship. Simply paraphrasing and echoing what you hear enables compassionate communication.
- Change Management
- ADKAR - technique to help individuals transition through changes
- Kotter's 8 steps - framework for large-scale changes
- SCARF: a brain-based model for collaborating with and influencing others - neuroscience-backed understanding of our need to move away from perceived threats and toward perceived rewards.
...