We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Interaction Protocols: It's All About Good Manners • Martin Thompson • YOW! 2019
"Learn how to design effective interaction protocols for your software development projects, focusing on good manners, hygiene, and etiquette for successful team collaboration, concurrency, and predictable behavior."
- Good manners and hygiene behaviors are crucial in software development to prevent bugs and ensure quality.
- Code of conduct, protocols, and etiquette are essential for effective team collaboration.
- Distinguishing between good and bad protocols is vital; good protocols encourage concurrency, while bad protocols lead to bugs.
- Versioning is crucial; protocols must be versioned to avoid version hell.
- Feedback and testing are vital; we should test failures to ensure software quality.
- Concurrent systems require careful handling; protocols must be designed to prevent bottlenecks.
- Avoiding pitfalls like sequence numbers and concurrent updates is crucial.
- Good protocols should be simple and efficient, allowing code to be written quickly and correctly.
- Failure to design protocols correctly can result in catastrophic failures.
- Etiquette and precedence are essential in software development, as they help ensure correct ordering and behavior.
- Protocols should be designed to prevent predictability, ensuring unpredictable behavior is difficult.
- The importance of testing and feedback cannot be overstated; testing failures can reveal design flaws.
- Protocols should be designed to prevent concurrent updates, ensuring data consistency.
- The lack of information and coordination between developers can lead to bad design decisions.
- An individual’s code of conduct can impact the quality of their software development work.
- The importance of simplicity and clarity in design and documentation cannot be overstated.
- Testing and feedback should be continuous, ensuring software quality at each stage.
- Designing good protocols requires understanding of concurrency, feedback, and testing.
- System latency can be reduced by batching requests and minimising concurrent updates.
- Protocols should be designed to prevent concurrent updates, ensuring data consistency.
- The quality of a developer’s code depends on their culture and code of conduct.
- Clean code and good design practices are essential in software development.
- Good protocols should enable automatic fallbacks and reliable data transfer.
- System design should prioritize simplicity and clarity, making it easier to understand and modify.
- Testing should be rigorous to ensure software quality and reliability.