Diego Ongaro on The criteria to be used in decomposing systems into modules

Details
Mini
Eitan Adler (https://twitter.com/EitanAdler) on Program development by stepwise refinement ( https://www.inf.ethz.ch/personal/wirth/Articles/StepwiseRefinement.pdf )
Eitan's Bio
Eitan Adler is software engineer with a passion for distributed systems, security, and open source software. Currently employed by Twitter he spends his days improving developer tooling to make the lives of other software engineers easier.
Main Talk
Diego Ongaro (https://twitter.com/ongardie) on "On the criteria to be used in decomposing systems into modules"
Shorter CACM version: https://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf
Tech report with additional detail: http://repository.cmu.edu/cgi/viewcontent.cgi?article=2979&context=compsci
Designing good systems requires finding the right abstractions. You probably have some intuition for doing this already, but explaining it or convincing someone of the difference between a good modularization and a bad one can be difficult. This 1971 paper by David Parnas argues for using information-hiding as the basis for evaluating modularizations. It's a simple but surprisingly powerful idea, and one that we can still apply today in contexts ranging from small scripts all the way up to distributed software architecture.
Diego's Bio
Diego received his PhD from Stanford in 2014 for his work on Raft, a consensus algorithm designed for understandability. His advisor, John Ousterhout, taught Diego to write meatier code without little stepping stones and referred to Parnas' paper all too often. Diego now works in Compute Infrastructure at Salesforce, where he does some Raft stuff, helps out with various internal designs, and tries to develop and apply https://runway.systems (https://runway.systems/), a design tool for distributed systems.
Meeting mechanics
Doors open at 6:30 pm; the presentation will begin at 7:00 pm; and, yes, there will be food.
After the paper is presented, we will open up the floor for discussion and questions then we will head over to the bar!
Remember
PWL SF strictly adheres to the Code of Conduct (https://github.com/papers-we-love/papers-we-love/blob/master/CODE_OF_CONDUCT.md) set forth by all PWL charters.

Diego Ongaro on The criteria to be used in decomposing systems into modules