book reading odyssey on
Designing Data-intensive applications
Welcome to the DDIA book reading odyssey! These are not your typical lectures, or group discussions. This is a journey to uplevel the way you think about system design, and setup a strong technical foundation for software architecture.
This is for you, if...
😓 Not able to grow on your own: You feel stuck. You watch technical videos, read books and articles. Yet, you feel there is some gap, and you aren't able to cross some invisible hurdles to get promoted to the next level. You are hitting a glass ceiling in your growth, and have no idea how to break that ceiling.
⌛Lack of time: do you feel you work all the time, and there is no time or mindspace left to read and upskill yourself? If yes, you aren't alone. Most engineers feel there is no energy left after their deliverables and personal commitments.
📐 Lack of discipline: Do you feel you have time, but lack discipline to read consistently, and are always distracted? Do you find reading too boring?
⁉️ Book contents too hard to digest: Do you find some books too hard to read? Do you think you lack professional context and experience to really appreciate the topics in the book?
This is waste of MONEY, time, AND energy, if....
If you aren't looking to uplevel in your professional career, then this odyssey is not for you.
If you don't have the fire in the belly to grow to the next level, then this odyssey is not for you.
If you want to take it easy, and have other priorities in life, where technical upleveling is not the primary concern, then this odyssey is not for you.
If you are looking for a magic pill to clear the system design interviews for your ongoing job search, then this odyssey is not for you.
If you aren't aiming at becoming a software architect (or engineering manager) in your professional career, this odyssey is not for you.
If you aren't sure, please err on the side to assume that the odyssey is NOT FOR YOU.
odyssey STRUCTURE
September Odyssey
52 weeks cohort • Limited seats
Reading happens at your convenient time.
Weekly discussions once a week starting week of Sept 16
Weekday 8 AM to 9 AM IST, or Weekday 7 PM to 8 PM IST.
Masterclass Monthly once at Saturday 9 AM to 12 PM IST
Additionally, you will get access to:
Networking with like minded and industry leaders
4 discussion sessions in small groups monthly
1 masterclass, approx every month. Video recordings shared for personal use.
Lifetime access to invite-only community on whatsapp and discord
Detailed list of sessions is available below on this page.
odyssey objectives
✅ Grasp concepts in the book
Discussions and masterclass by experienced architect with 13+ years of diverse experience
In-depth understanding and clarity of book's contents
✅ Practical applicability of the concepts
Real life case studies of the concepts
Tutorials on allied skills to apply the concepts effectively
✅ Pickup habit of reading consistently
Help you find a sustainable rhythm and skills for reading consistently
Accountability and support for you to finish reading the book
Networking with fellow professionals
Change in mindset to continue reading beyond the odyssey
Weekly check-ins
Weekly check-in calls in small groups of upto 10 people are held in discussion format.
Weekly calls include:
discussing the technical content of this week's reading material
addressing challenges faced for consistent reading
Detailed list of sessions is available below.
MONTHLY MASTERCLASS
Monthly masterclasses are held in larger group of upto 80 people. There is one masterclass for each of the 12 chapters of the book.
Masterclasses will contain:
Deeper explanation of the concepts
Real-life case studies and industry examples
Discussion on practical relevance of concepts
Interactive games and quizzes!
Video recording of masterclasses is shared for personal use.
Masterclass topics:
Reliable, Scalable, and Maintainable Applications
Data Models and Query Languages
Storage and Retrieval
Encoding and Evolution
Replication
Partitioning
Transactions
The Trouble with Distributed Systems (Availability)
Consistency and Consensus
Batch Processing
Stream Processing
Future of Data Systems
list of sessions, and agenda per week
Total of 12 chapters of the book are divided into 36 parts for group discussions. Each chapter's discussions are followed by a masterclass, with total of 12 masterclasses during the odyssey. There are two additional discussions to introduce and conclude the odyssey.
Discussion sessions are 60 minutes. Masterclass sessions are 180 minutes.
Discussion 0
Introduction to the odyssey
Techniques for reading consistently
Overview of the book and the material
Chapter 1: Reliable, Scalable, and Maintainable Applications
Discussion 1 (10 pages)
Thinking about data systems
Reliability
Scalability (partial)
Discussion 2 (10 pages)
Scalability (partial)
Maintainability
Masterclass 0: Chapter 1
Chapter 2: Data Models and Query Languages
Discussion 3 (14 pages)
Relational Model Versus Document Model
Discussion 4 (10 pages)
Query languages for data
Discussion 5 (12 pages)
Graph-like data models
Masterclass 1: Chapter 2
Chapter 3: Storage and Retrieval
Discussion 6 (13 pages)
Data Structures that power your database
Hash Indexes
SSTables and LSM trees
B-Trees
Discussion 7 (8 pages)
Data Structures that power your database
Comparing B-Trees and LSM trees
Other indexing structures
Discussion 8 (13 pages)
Transaction processing or analytics?
Column-oriented storage
Masterclass 2: Chapter 3
Chapter 4: Encoding and Evolution
Discussion 9 (15 pages)
Formats for encoding data
Discussion 10 (11 pages)
Models of dataflow
Masterclass 3: Chapter 4
Chapter 5: Replication
Discussion 11 (9 pages)
Leaders and followers
Discussion 12 (8 pages)
Problems with replication lag
Discussion 13 (11 pages)
Multi-leader replication
Discussion 14 (15 pages)
Leaderless replication
Masterclass 4: Chapter 5
Chapter 6: Partitioning
Discussion 15 (9 pages)
Partitioning and replication
Partitioning of key-value data
Partitioning and secondary indexes
Discussion 16 (7 pages)
Rebalancing partitions
Request routing
Masterclass 5: Chapter 6
Chapter 7: Transactions
Discussion 17 (11 pages)
The slippery concept of a transaction
Discussion 18 (9 pages)
Weak isolation levels
Read committed
Snapshot isolation and repeatable read
Discussion 19 (9 pages)
Weak isolation levels
Preventing lost updates
Write skew and phantoms
Discussion 20 (15 pages)
Serializability
Masterclass 6: Chapter 7
Chapter 8: The Trouble with Distributed Systems
Discussion 21 (13 pages)
Faults and partial failures
Unreliable networks
Discussion 22 (13 pages)
Unreliable clocks
Discussion 23 (10 pages)
Knowledge, truth and lies
Masterclass 7: Chapter 8
Chapter 9: Consistency and Consensus
Discussion 24 (17 pages)
Consistency guarantees
Linearizability
Discussion 25 (13 pages)
Ordering guarantees
Discussion 26 (11 pages)
Distributed transaction and consensus
Atomic commit and two-phase commits
Distributed transactions in practice
Discussion 27 (10 pages)
Distributed transaction and consensus
Fault-tolerance consensus
Membership and coordination services
Masterclass 8: Chapter 9
Chapter 10: Batch Processing
Discussion 28 (15 pages)
Batch processing with unix tools
Map-reduce and distributed file systems (partial)
Discussion 29 (14 pages)
Map-reduce and distributed file systems (continued)
Beyond map-reduce
Masterclass 9: Chapter 10
Chapter 11: Stream Processing
Discussion 30 (10 pages)
Transmitting event streams
Discussion 31 (13 pages)
Database and streams
Discussion 32 (14 pages)
Processing streams
Masterclass 10: Chapter 11
Chapter 12: Future of Data Systems
Discussion 33 (10 pages)
Data integration
Discussion 34 (14 pages)
Unbundling databases
Discussion 35 (18 pages)
Aiming for correctness
Discussion 36 (11 pages)
Doing the right thing
Masterclass 11: Chapter 12
Discussion 37
Odyssey retrospective, and completion!
Frequently asked questions
I am not confident of being able to read the book consistently. I am not sure if I will be able to do this.
The odyssey helps with this specific situation! The odyssey is specifically designed for working professionals, who feel overwhelmed by the work and/or personal commitments, and have struggles with motivation. Inability to read is due to faulty reading techniques, lack of supporting peers and difficult concepts that are hard to digest. The odyssey addresses all three shortcomings.
What if I am not able to manage reading even after the techniques are taught?
Thats okay! The difficulties are discussed and addressed during the discussion sessions. Its highly recommended to join the discussion sessions if you are struggling to read. Historical data from odysseys have shown that participants are able to learn to manage their reading positively in a few weeks time. Seeing others read consistently when you miss a week or two creates motivation. Also, when others miss and you have managed to read, that normalizes failure and reinforces the possibility that its possible to come back on track if you have a red week or two.
Are discussion sessions compulsory to join?
No they aren't. You are encouraged to join the discussion sessions unless there is a strong reason to skip. Discussions offer additional space to ask deeper questions about concepts, hear others perspectives. Thats also a good break from your regular work meetings and deliverables!
I am just interested in the masterclasses.
You can join the monthly masterclasses by paying Rs 2k per month for 12 masterclasses upfront. Currently I don't offer masterclasses at a faster frequency. Given the depth and breadth of the concepts, slower consumption allows you to contexualize the learnings to your projects and situations.
Currently there is no fast-tracked masterclass (like one or two sessions per week). That will be offered in near future. Please drop an email at support [at] pakkanimbu [dot] com to tell me about your interest, and I can send you an update when this is rolled out.
What is the rationale behind this structure? 52 weeks is too long!
Empirical data with my previous odysseys with working professionals has consistently shown that people don't manage to read more than 20 pages per week of light material (e.g. The Pragmatic Programmer, which is not concepts heavy). Also, the same group does not manage to read more than 10 pages of concept rich pages alongside their job. There is usually no time or mind-space left to actually absorb those concepts, and connect the dots with actual situations in your professional journey. Hence this odyssey aims at reading about 10 pages per week.
More specifically, the odyssey isn't aimed at exposing you to the concepts of the book. You can do that yourself by flipping the pages, and watching youtube videos :). Remember, the content is always free. Its the context, that has value.
This is categorically not meant for helping you with interviews in short term, but rather meant for building the critical building blocks to become a software architect and build a strong foundation for your mid-to-senior level career.
I need to talk to someone to figure out if the odyssey will really help me or not.
Please drop an email at support [at] pakkanimbu [dot] com with your contact details, and we will give you a call back.
I want to reimburse the course fee from my employer. Can I get an invoice?
Yes, you can get an invoice with the required details at the end of the course. You can choose to get the certificate upfront by paying the full course fees upfront as well.
I need a certificate of completion for the reimbursement. Is that provided?
You will get a certificate of completion at the end of the year, once you have successfully participated in the course.
how do I Enroll?
Please send an email to support [at] pakkanimbu [dot] com.
The sign up process is intentionally hard to prevent you from impulse buying this odyssey 😀
₹ 7000/- 3500/- per month. Includes early bird discount.
Paid every month for 12 months.
What will you get:
13+ years experienced architect to guide you
Networking with like minded and industry leaders
4 discussion sessions in small groups monthly
1 masterclass, approx every month. Video recordings shared for personal use.
Lifetime access to invite-only community on whatsapp and discord
A masterclass-only enrollment can be done at Rs 2k per month, paid upfront for 12 months. You will not participate in the discussion sessions in this mode. The schedule remains the same.
MINIMUM requirements
🧑💻 You're a professional programmer: You have a software programming job.
📈 4+ years of experience: You have been doing it for a while professionally.
🎯 Fire in the belly to grow professionally: You want to get promoted. You want to grow your skills as a professional. You know reading is the way out. You have hunger to read consistently.
🙋7-10 minutes every day to read: You can carve out 7-10 minutes from the best hour of your day - every day - to read something serious.
📖 You want to grasp contents of the DDIA book: You consider this book to be an important milestone in your professional growth, and are serious about grasping the concepts of the book thoroughly.