“When new learnings are discovered locally, there must also be some mechanism to enable the rest of the organization to use and benefit from that knowledge into explicit, codified knowledge, which becomes someone else's expertise through practice.”
Source: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
“But recently I have learned from discussions with a variety of scientists and other non-philosophers (e.g., the scientists participating with me in the Sean Carroll workshop on the future of naturalism) that they lean the other way: free will, in their view, is obviously incompatible with naturalism, with determinism, and very likely incoherent against any background, so they cheerfully insist that of course they don't have free will, couldn’t have free will, but so what? It has nothing to do with morality or the meaning of life. Their advice to me at the symposium was simple: recast my pressing question as whether naturalism (materialism, determinism, science...) has any implications for what we may call moral competence. For instance, does neuroscience show that we cannot be responsible for our choices, cannot justifiably be praised or blamed, rewarded or punished? Abandon the term 'free will' to the libertarians and other incompatibilists, who can pursue their fantasies untroubled. Note that this is not a dismissal of the important issues; it’s a proposal about which camp gets to use, and define, the term. I am beginning to appreciate the benefits of discarding the term 'free will' altogether, but that course too involves a lot of heavy lifting, if one is to avoid being misunderstood.”
Source: Consciousness Explained
“By choosing carefully where and how to start, we are able to experiment and learn in areas of our organization that create value without jeopardizing the rest of the organization. By doing this, we build our base of support, earn the right to expand the use of DevOps in our organization, and gain the recognition and gratitude of an ever-larger constituency.”
Source: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
“The organization of the software and the organization of the software team will be congruent”
Source: The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
“limit on [team] size ... ensures the team has a clear, shared understanding of the system they are working on. As teams get larger, the amount of communication required for everybody to know what's going on scales in a combinatorial fashion.”
Source: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
“Another way we can enable more market-oriented outcomes is by enabling product teams to become more self-sufficient by embedding Operations engineers within them, thus reducing their reliance on centralized Operations.”
Source: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
“Instead of merely documenting the specifications of the production environment in a document or on a wiki page, we create a common build mechanism that creates all of our environments, such as for development, test, and production. By doing this, anyone can get production-like environments in minutes, without opening up a ticket, let alone having to wait week.s”
Source: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
“Make infrastructure easier to rebuild than to repair”
Source: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
“The perfect kind of architecture decision is the one which never has to be made”
“If the application is event-driven, it can be decoupled into multiple self-contained components. This helps us become more scalable, because we can always add new components or remove old ones without stopping or breaking the system. If errors and failures are passed to the right component, which can handle them as notifications, the application can become more fault-tolerant or resilient. So if we build our system to be event-driven, we can more easily achieve scalability and failure tolerance, and a scalable, decoupled, and error-proof application is fast and responsive to users.”
Source: Learning Reactive Programming with Java 8