Event Sourcing isn't just about storing historyβit's about understanding it.
Here is the link to the article
newsletter.systemdesignclassroom.com/p/event-sour...
@rauljunco.bsky.social
I simplify System Design, and System Design will make you a better Software Engineer. Writing at: https://newsletter.systemdesignclassroom.com/
Event Sourcing isn't just about storing historyβit's about understanding it.
Here is the link to the article
newsletter.systemdesignclassroom.com/p/event-sour...
What Is Event Sourcing?
Key Concepts to Understand
How It All Comes Together: A Practical Example
The Read Problem in Event Sourcing and how to solve it.
The Power of Stored Events: The Opportunity in Data
Challenges and Considerations
Event Sourcing is like Time traveling.
I know we can travel back (we technically called it "reproducibility"), but can we travel to the future?
Data is the most critical part of your infrastructure.
Lose your network? That's just downtime.
Lose your data? That's game over.
Have you ever lost production data?
APIs are the glue of modern systems; mastering their concepts is what keeps you at the top of the candidate list.
If you could add one more question, what would it be?
Here is the link to the article π
newsletter.systemdesignclassroom.com/p/a-survival...
Thanks for reading!
7. What Is Pagination, and How Is It Implemented in REST APIs?
8. Can You Discuss Rate Limits and Their Importance?
9. What Is Idempotency, and Why Is It Important?
10. How Can You Improve API Performance?
11. How Do You Document REST APIs?
1. Can You Explain CRUD Operations in the Context of REST?
2. What Is the Difference Between PUT and PATCH?
3. What Are Common HTTP Status Codes, and What Do They Mean?
4. What Does It Mean for a REST API to Be Stateless?
5. How Do You Secure a REST API?
6. How Do You Version a REST API?
A survival kit to beat APIs interview.
Here are 11 questions you need to know how to answer.
β’ Write clear, helpful docs with examples.
β’ Donβt break stuffβuse versioning.
β’ Secure everything: auth, inputs, and outputs.
You barely notice it when itβs done rightβit just gets out of your way.
What else makes APIs great?
It should:
β’ Keep names and structures consistent.
β’ Make endpoints and errors easy to understand.
β’ Support filtering, pagination, and sorting.
β’ Avoid overloading or under-delivering data.
A good API is like great architectureβinvisible when done well, painful when done poorly.
It feels natural and intuitive. It simply works!
π
01.01.2025 20:58 β π 0 π 0 π¬ 0 π 0My goal for next year: help more software engineers pass the System Design interview.
30.12.2024 13:12 β π 4 π 0 π¬ 1 π 0My favorite way to handle distributed transactions is using SAGAs.
It does not provide true atomicity but helps with:
- Eventual Consistency
- Compensating Transactions
- Scalability
- Fault Tolerance
Great list @marcosflobo.bsky.social !
Thanks so much for reading my article.
newsletter.systemdesignclassroom.com/p/nobody-tol...
Thanks for reading!
Let's review an example and a practical approach.
- The Problem: JOINs Turn into HTTP Calls
- Data Replication: An approach that works
- Other Ways to Solve the JOIN Problem
- Some Takeaways
Check out all the insights in my latest article!π
When you move to microservices, you realize how hard it is to replicate that efficiency.
Since all those JOINs will become inter-communication calls, adding a performance tax.
Nobody told me I would miss my JOINs when I started in microservices.
Relational Databases are so good at joining data that we often forget until we miss our JOINs.
Breaking the database apart is one of the most complex tasks.
Good API design is like great architectureβinvisible when done well, painful when done poorly.
newsletter.systemdesignclassroom.com/p/three-powe...
3. GraphQL
A flexible query language that minimizes over-fetching and under-fetching issues but requires careful design to avoid performance pitfalls.
2. Backend for Frontend (BFF)
Provides UI-specific Backends, reducing unnecessary data fetching and promoting team autonomy while increasing maintenance overhead.
More calls to the server add friction to development, and friction is No Bueno.
1. Central Aggregating Gateway
Acts as middleware to consolidate API calls into a single response, simplifying the Frontend but with potential bottleneck risks.
No matter what the books say, nobody likes making 20 requests to render a page.
3 proven Aggregation Patterns your consumers will love.π
Exceptional Resumes tell a story:
- Your skills
- Your Impact
- How you're the right fit
100% recommended π
09.12.2024 19:39 β π 0 π 0 π¬ 0 π 0- Tech Lead? Youβre fighting for timelines, team priorities, and resources.
- Manager? Budgets, headcount, and deliverablesβnegotiation is your second job.
Negotiation is one of those skills that pays dividends everywhere.
I can't think of a better Non-Technical skill than learning to negotiate.
If you are a:
- Freelancer? Youβre negotiating your estimates, scope, and payment terms all day.
- Employee? Youβve got salary, promotions, and perks on the table.
Best book I have ever read on negotiation. π
Hahaha trade-off everywhere.
06.12.2024 14:14 β π 1 π 0 π¬ 1 π 0Build Resilient Interactions, Not Just Resilient Services!
5 things a truly resilient system needs.
1. Caching
2. Prevent Cascading Failures
3. Fallback Behaviors
4. Retry Wisely
5. Go Asynchronous
Read the full article here. π
newsletter.systemdesignclassroom.com/p/focus-on-b...