Written by Alexandra Moxin
Martin Kleppmann is a software engineer, entrepreneur, author and speaker. He co-founded Rapportive (acquired by LinkedIn in 2012) and Go Test It (acquired by Red Gate Software in 2009). An accomplished author and academic, Martin wrote a book for O’Reilly, called Designing Data-Intensive Applications, while working as a researcher at the University of Cambridge Computer Laboratory.
Martin cares about making stuff that people want, great people, a culture of respect and empathy, clarity of thinking, marvellous user experiences, maintainable code and scalable architectures.
We cover a lot in this episode, so get comfortable and hope you enjoy listening to this episode as much as we enjoyed making it!
What we cover in this episode
- Martin’s background and how he got started in tech
- The journey from being an entrepreneur and shifting to academia
- What motivated Martin to start Rapportive
- Working with and being acquired by LinkedIn
- Emerging trends in consumer internet applications and tools for professionals such as enhanced security in collaborative applications
- Security, privacy, cryptography, blockchain and IoT
- Decentralization, data encryption and synchronization over different network protocols
- An overview of Martin’s book which maps the architecture of modern data systems
- How similar ideas around event-based approaches to data such as CQRS/ES, stream processing, and CRDTs have independently emerged in different software development communities
- Kafka and Samza, stream processing: gathering and transporting data over event streams
- Event sourcing and databases: scalability, machine learning and classification concerns
- Event sourcing related to Domain Driven Design, logs, data abstraction and functional programming
- Martin’s guidance for startups where there is a need for substantial software investment (start with a lightweight way of building in event based thinking)
- The issues with CAP Theorem (Consistency, Availability and Partitionability) and why the definitions of availability and partitionability and the application of the theorem are problematic
- A better way to think about consistency by splitting the term into timeliness and integrity
- Merging streams of changes using CRDTs (Conflict-Free Replicated Data Types) and the eventual consistency guarantee
- Formal proof of eventual consistency
- Martin’s recent Distinguished Paper Award on his team’s Formal Verification work using Theorem Proving Software to prove data structure convergence
- Mathematical concepts and Theorem Proof Software
- Upcoming conferences where Martin will be speaking
For our listeners, if your interested in contributing to or building applications using Automerge, please go to github or reach out to Martin directly on twitter or LinkedIn!