๐ง๐ฟ๐ฎ๐ฑ๐ถ๐๐ถ๐ผ๐ป๐ฎ๐น ๐๐ผ๐ฑ๐ฒ ๐ฅ๐ฒ๐๐ถ๐ฒ๐ ๐๐ ๐๐ด๐ฒ๐ป๐๐ถ๐ฐ ๐๐ผ๐ฑ๐ฒ ๐ฅ๐ฒ๐๐ถ๐ฒ๐.
As coding agents generate more code, the bottleneck is shifting from writing it to reviewing it.
In a ๐๐ฟ๐ฎ๐ฑ๐ถ๐๐ถ๐ผ๐ป๐ฎ๐น ๐๐ผ๐ฟ๐ธ๐ณ๐น๐ผ๐, a developer writes code, opens a PR, automated checks run, and a human reviews the changes. Feedback goes back to the developer until the PR is ready to merge.
๐๐ด๐ฒ๐ป๐๐ถ๐ฐ ๐ฐ๐ผ๐ฑ๐ฒ ๐ฟ๐ฒ๐๐ถ๐ฒ๐ moves that loop earlier and makes more of it autonomous.
A coding agent generates a change โ a separate review agent inspects it โ findings feed back into another revision โ the change is reviewed again.
That can start before a PR is even opened, then continue through CI and the PR workflow.
But reviewing each change is only part of the problem.
As change volume grows, ๐๐ฒ๐ฎ๐บ๐ ๐ฎ๐น๐๐ผ ๐ป๐ฒ๐ฒ๐ฑ ๐๐ผ ๐ฑ๐ฒ๐ฐ๐ถ๐ฑ๐ฒ what deserves attention, understand what actually changed, and manage the risk of what ships.
That's the broader idea behind ๐ฎ๐ด๐ฒ๐ป๐๐ถ๐ฐ ๐ฐ๐ต๐ฎ๐ป๐ด๐ฒ ๐บ๐ฎ๐ป๐ฎ๐ด๐ฒ๐บ๐ฒ๐ป๐.
CodeRabbit extends beyond AI code review with ๐ง๐ฟ๐ถ๐ฎ๐ด๐ฒ to prioritize changes, ๐๐ต๐ฎ๐ป๐ด๐ฒ ๐ฆ๐๐ฎ๐ฐ๐ธ to explain complex changes, and ๐ฆ๐ฒ๐ฐ๐๐ฟ๐ถ๐๐ to find and verify risks across the codebase.
The real shift is from reviewing code line by line to reviewing change as a system.
๐ฆ๐๐ฎ๐ฟ๐ ๐ฎ ๐ณ๐ฟ๐ฒ๐ฒ ๐ญ๐ฐ-๐ฑ๐ฎ๐ ๐๐ฟ๐ถ๐ฎ๐น, ๐ป๐ผ ๐ฐ๐ฟ๐ฒ๐ฑ๐ถ๐ ๐ฐ๐ฎ๐ฟ๐ฑ, ๐ฎ-๐ฐ๐น๐ถ๐ฐ๐ธ ๐๐ฒ๐๐๐ฝ โ https://t.co/4iyuDMh6at
What else would you add?
โโ
โป๏ธ Repost to help others learn AI.
๐ Thanks to @coderabbitai for sponsoring this post.
โ Follow me ( Nikki Siapno ) to improve at AI and system design.
๐๐ผ๐ด๐ ๐๐ ๐ ๐ฒ๐๐ฟ๐ถ๐ฐ๐ ๐๐ ๐ง๐ฟ๐ฎ๐ฐ๐ฒ๐.
Logs, metrics, and traces can all point to the same problem, but they show you that problem from completely different perspectives.
๐๐ผ๐ด๐ = โ๐ช๐ต๐ฎ๐ ๐ต๐ฎ๐ฝ๐ฝ๐ฒ๐ป๐ฒ๐ฑ?โ
When something happens inside an application, logs capture a timestamped record of the event, from errors and warnings to requests and state changes. That detailed context helps you understand exactly what happened at a particular point in time.
๐ ๐ฒ๐๐ฟ๐ถ๐ฐ๐ = โ๐๐ผ๐ ๐ถ๐ ๐๐ต๐ฒ ๐๐๐๐๐ฒ๐บ ๐ฏ๐ฒ๐ต๐ฎ๐๐ถ๐ป๐ด?โ
Rather than recording individual events, metrics turn system behavior into numerical measurements over time, such as request rate, error rate, latency, CPU usage, and memory consumption. This makes patterns, trends, and abnormal behavior much easier to spot.
๐ง๐ฟ๐ฎ๐ฐ๐ฒ๐ = โ๐ช๐ต๐ฎ๐ ๐ฝ๐ฎ๐๐ต ๐ฑ๐ถ๐ฑ ๐๐ต๐ฒ ๐ฟ๐ฒ๐พ๐๐ฒ๐๐ ๐๐ฎ๐ธ๐ฒ?โ
Across a distributed system, a single operation can pass through many services. Traces connect spans from each step into an end-to-end journey, showing where time was spent, which services were involved, and where errors or latency appeared.
But during an incident, seeing the signals is only part of the problem.
The hard part is connecting them with deploys, commits, dependencies, and past incidents ๐๐ผ ๐ณ๐ถ๐ด๐๐ฟ๐ฒ ๐ผ๐๐ ๐๏ฟฝ๏ฟฝ๐ฎ๐ ๐ฎ๐ฐ๐๐๐ฎ๐น๐น๐ ๐ฏ๐ฟ๐ผ๐ธ๐ฒ ๐ฎ๐ป๐ฑ ๐๐ต๐.
Thatโs where agentic root cause analysis can help. Investigations by @incident_io starts working the moment an incident is declared, reasoning across that context to build a hypothesis backed by evidence and identify where to look next.
๐๐ป๐๐๐ฒ๐ฎ๐ฑ ๐ผ๐ณ ๐๐๐ฎ๐ฟ๐๐ถ๐ป๐ด ๐ณ๐ฟ๐ผ๐บ ๐๐ฐ๐ฟ๐ฎ๐๐ฐ๐ต and digging for answers, ๐๐ผ๐ ๐ฎ๐ฟ๐ฟ๐ถ๐๐ฒ ๐๐ถ๐๐ต ๐ฎ ๐๐ผ๐ฟ๐ธ๐ถ๐ป๐ด ๐๐ต๐ฒ๐ผ๐ฟ๐.
Check it out โ https://t.co/45CkvWsPva
What else would you add?
โโ
โป๏ธ Repost to help others learn and grow.
๐ Thanks to incident .io for sponsoring this post.
โ Follow me ( Nikki Siapno ) to improve at AI and system design.
๐ฃ๐ผ๐๐๐ด๐ฟ๐ฒ๐ ๐๐ ๐ ๐ผ๐ป๐ด๐ผ๐๐ ๐๐ ๐๐ฎ๐๐๐ฎ๐ป๐ฑ๐ฟ๐ฎ.
Choosing the right database isnโt about the tool. Itโs ultimately about the workload.
AWS Next Gen Stats is a great real-world example.
As Next Gen Stats evolved, it ended up using all three for different workloads. MongoDB for flexible data models and derived stats, Cassandra for predictable query latency at scale, and Postgres for analytics.
This is polyglot persistence; using different databases for different workloads instead of asking one system to do everything.
On Friday, I was in Melbourne for the NFL International Games with AWS to get a firsthand look at the engineering behind Next Gen Stats.
Next Gen Stats turns player and ball tracking data from every play into real-time statistics and insights. Behind that are some fascinating real-time data and machine learning problems.
But AWSโs database design is just one part of the architecture. Over the next three weeks, Iโll be sharing a full system design case study and video breaking down how the system works.
Learn more here โ https://t.co/iXhGANzSDw
What else would you add?
โโ
โป๏ธ Repost to help others learn databases.
๐ Thanks to @awscloud for partnering with us to unpack the engineering behind Next Gen Stats, and for sponsoring this post.
โ Follow me ( Nikki Siapno ) to improve at AI and system design.
How OAuth 2.0 works
(clearly explained in under 2 mins):
OAuth can be thought of as a digital handshake between the app, service, and user, with everyone agreeing on what is shared.
It's an authorization framework that enables applications to access a userโs data on another service (like Facebook or GitHub) ๐๐ถ๐๐ต๐ผ๐๐ ๐๐ต๐ฎ๐ฟ๐ถ๐ป๐ด ๐๐ต๐ฒ ๐๐๐ฒ๐ฟโ๐ ๐ฝ๐ฎ๐๐๐๐ผ๐ฟ๐ฑ.
How it works:
๐ง๐ต๐ฒ ๐ฝ๐ฟ๐ผ๐ฐ๐ฒ๐๐ ๐ด๐ฒ๐ป๐ฒ๐ฟ๐ฎ๐น๐น๐ ๐ณ๐ผ๐น๐น๐ผ๐๐ ๐ฒ ๐๐๐ฒ๐ฝ๐ ๐๐ถ๐๐ต ๐ฐ ๐ฐ๐ผ๐บ๐ฝ๐ผ๐ป๐ฒ๐ป๐๐ ๐๐๐ฝ๐ถ๐ฐ๐ฎ๐น๐น๐ ๐ถ๐ป๐๐ผ๐น๐๐ฒ๏ฟฝ๏ฟฝ๏ฟฝ:
โข Client (app wanting access)
โข Resource owner (user)
โข Authorization server
โข Resource server
๐ง๐ผ ๐๐ป๐ฑ๐ฒ๐ฟ๐๐๐ฎ๐ป๐ฑ ๐๐ต๐ฒ ๐ฝ๐ฟ๐ผ๐ฐ๐ฒ๐๐, ๐น๐ฒ๐โ๐ ๐๐ฎ๐ธ๐ฒ ๐ฎ ๐น๐ผ๐ผ๐ธ ๐ฎ๐ ๐ต๐ผ๐ ๐ฎ ๐ด๐ฎ๐บ๐ฒ ๐๐ผ๐๐น๐ฑ ๐ฐ๐ผ๐ป๐ป๐ฒ๐ฐ๐ ๐๐ผ ๐ฎ ๐ฝ๐น๐ฎ๐๐ฒ๐ฟโ๐ ๐๐ฎ๐ฐ๐ฒ๐ฏ๐ผ๐ผ๐ธ ๐ฎ๐ฐ๐ฐ๐ผ๐๐ป๐.
๐ญ) ๐ฅ๐ฒ๐พ๐๐ฒ๐๐ ๐ฎ๐ฐ๐ฐ๐ฒ๐๐
Within the game (client), the player (user) clicks on a โconnect with Facebookโ button to link their profile and find friends.
๐ฎ) ๐ฅ๐ฒ๐ฑ๐ถ๐ฟ๐ฒ๐ฐ๐ ๐๐ผ ๐๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ
The game redirects the player to Facebookโs (serviceโs) login page.
๐ฏ) ๐ฃ๐ฒ๐ฟ๐บ๐ถ๐๐๐ถ๐ผ๐ป ๐ฟ๐ฒ๐พ๐๐ฒ๐๐
After logging in, the data that the game is requesting access to will be shown to the player which they can either allow or deny.
๐ฐ) ๐๐๐๐ต๐ผ๐ฟ๐ถ๐๐ฎ๐๐ถ๐ผ๐ป ๐ฐ๐ผ๐ฑ๐ฒ
If the player gives their approval, Facebook redirects the player back to the game with an authorization code (from authorization server). The code is a temporary credential that proves the playerโs consent.
๐ฑ) ๐๐ ๐ฐ๐ต๐ฎ๐ป๐ด๐ฒ ๐ฐ๐ผ๐ฑ๐ฒ ๐ณ๐ผ๐ฟ ๐๐ผ๐ธ๐ฒ๐ป
The game now sends the authorization code along with its own identification to Facebookโs server in the background. Facebook identifies the authorization code and the gameโs identity and returns an access token.
๐ฒ) ๐จ๐๐ฒ ๐๐ต๐ฒ ๐๐ผ๐ธ๐ฒ๐ป
The game can now use the access token to request the agreed-upon data from Facebook (from the resource server), like the player's friends list.
In this process, the playerโs Facebook credentials were never shared, but the game was able to access the agreed-upon player data from Facebook. This is what OAuth 2.0 facilitates; allowing third-party applications to access data from services in a secure manner without sharing credentials.
What else would you add?
โป๏ธ Repost to help others learn system design.
โ Follow me ( Nikki Siapno ) + turn on notifications.
How RAG actually works
(clearly explained in under 2 mins):
RAG (Retrieval-Augmented Generation) is a system that retrieves relevant data and feeds it into an LLM before generating a response.
It lets models answer questions using external knowledge, not just what they were trained on.
If youโre building with these patterns, here's a great guide on scaling multi-agent RAG systems: https://t.co/HcR012BLn4
Hereโs a simple mental model to understand it:
๐ญ) ๐๐ฎ๐๐ฎ ๐ถ๐ ๐ถ๐ป๐ด๐ฒ๐๐๐ฒ๐ฑ
โณ Documents (PDFs, docs, APIs) are collected and split into chunks
โณ Each chunk is cleaned and formatted ready for embedding
๐ฎ) ๐๐บ๐ฏ๐ฒ๐ฑ๐ฑ๐ถ๐ป๐ด๐ ๐ฎ๐ฟ๐ฒ ๐ฐ๐ฟ๐ฒ๐ฎ๐๐ฒ๐ฑ
โณ Each chunk is converted into a vector representation
โณ Similar meaning โ closer vectors
๐ฏ) ๐๐ฎ๐๐ฎ ๐ถ๐ ๐๐๐ผ๐ฟ๐ฒ๐ฑ
โณ Vectors are stored in a vector database
โณ Enables fast similarity search across large datasets
๐ฐ) ๐ฅ๐ฒ๐น๐ฒ๐๐ฎ๐ป๐ ๐ฐ๐ผ๐ป๐๐ฒ๐ ๐ ๐ถ๐ ๐ฟ๐ฒ๐๐ฟ๐ถ๐ฒ๐๐ฒ๐ฑ
โณ The user's query is converted into an embedding (vector representation)
โณ The system compares it against stored vectors and retrieves the most relevant chunks
๐ฑ) ๐ง๐ต๐ฒ ๐๐๐ ๐ด๐ฒ๐ป๐ฒ๐ฟ๐ฎ๐๐ฒ๐ ๐๐ต๐ฒ ๐ฎ๐ป๐๐๐ฒ๐ฟ
โณ The query + retrieved context are combined into a prompt
โณ The model generates a grounded response
That's the foundation of RAG. There are several types of RAG, each designed for different use cases and levels of complexity.
If youโre curious what this actually looks like in practice (beyond diagrams), this repo is a great place to start: https://t.co/mZBm95CPtY
It has:
โณ E2E implementations of RAG, AI applications, agents, and systems
โณ Resources covering AI agent architecture, reasoning strategies, and memory systems.
โณ Hands-on workshops and guided learning
Start it to keep it bookmarked. This repo will keep growing, and you'll want it on hand as you build.
What else would you add?
โโ
โป๏ธ Repost to help others learn AI engineering.
๐ Thanks to @Oracle for sponsoring this post.
โ Follow me ( Nikki Siapno ) to improve at AI engineering.
30 resources to learn system design:
1. JWT: https://t.co/Kuv7DAj6B9
2. gRPC: https://t.co/QwgTXr1N9z
3. Microservices: https://t.co/1CpY04nNxb
4. ACID vs BASE: https://t.co/a7nOyylUxk
5. Rate limiting: https://t.co/wr0UAh4sJm
6. Event-driven architecture: https://t.co/QNUuf1JOy7
PS - if you want a structured path, get our FREE 142-page System Design Handbook when you join our free weekly newsletter โ https://t.co/LybPLdor9s
7. System design quality attributes: https://t.co/v9WJoUPevt
8. Idempotency: https://t.co/2sItwlz1oe
9. Network protocols: https://t.co/tx7MlZQIwE
10. Observability: https://t.co/VjfECfyB9d
11. Change Data Capture (CDC): https://t.co/tgwwoTitCA
12. CI/CD pipelines: https://t.co/SM2YvhioIX
13. Database types: https://t.co/T0tUF1xYPI
14. CAP theorem: https://t.co/ONwpduTOD1
15. Health checks vs heartbeats: https://t.co/r5SalP6CCh
16. API gateway vs load balancer vs reverse proxy: https://t.co/Tg3EhT60tU
17. HTTPS: https://t.co/wc3CQOsmPS
18. Load balancing algorithms: https://t.co/VCLCKOZzni
19. Database caching: https://t.co/23QdZATj2o
21. API protocols: https://t.co/2CEu4Wnhsv
21. CDN: https://t.co/MbaSzBnZPQ
22. Database types: https://t.co/T0tUF1xYPI
23. Message Queues: https://t.co/7Tz5sevNA8
24. Password storage & hashing: https://t.co/RMZpv3ACRz
25. Service Discovery: https://t.co/rcKkXkWWcX
26. Pub/Sub: https://t.co/HF0Zr5R4SK
27. Connection pooling: https://t.co/39SsEo4kk3
28. Forward proxy vs reverse proxy: https://t.co/0P6NM8kh8u
29. Consistent hashing: https://t.co/8d8o74EsaS
30. SQL vs NoSQL:https://t.co/oDTRpsnQUn
What else should be on the list?
What concepts would you like me to cover?
โโ
๐ PS: Get our FREE 142-page System Design Handbook when you join our free weekly newsletter.
Join 31,000+ engineers โ https://t.co/F7xn98xjNK
โโ
โป๏ธ Repost to help others learn system design.
โ Follow me ( Nikki Siapno ) to become good at system design.
AI Feature vs AI-Native Platform: they're NOT the same.
If youโre unclear, read this:
Old model: AI informs you. Work happens outside the product.
New model: AI works with you inside the platform.
Here's a simple breakdown (save this):
๐๐ต๐ฎ๐๐ฏ๐ผ๐ ๐น๐ฎ๐๐ฒ๐ฟ (๐ผ๐น๐ฑ ๐ณ๐ฒ๐ฎ๐๐๐ฟ๐ฒ ๏ฟฝ๏ฟฝ๐ผ๐ฑ๐ฒ๐น)
โณ AI gives suggestions
โณ You interpret them
โณ You execute everything manually
โณ The software ๐ถ๐ป๐ณ๐ผ๐ฟ๐บ๐ you. You do the work.
๐๐ ๐ฒ๐ฐ๐๐๐ถ๐ผ๐ป ๐น๐ฎ๐๐ฒ๐ฟ (๐๐-๐ป๐ฎ๐๐ถ๐๐ฒ ๐ฝ๐น๐ฎ๐๐ณ๐ผ๐ฟ๐บ)
โณ You describe the outcome
โณ The platform turns intent โ actions
โณ It pulls context from your data + history
โณ It runs analysis, drafts changes, queues tasks
โณ You review, refine, approve
โณ The software ๐๐ผ๐ฟ๐ธ๐ ๐๐ถ๐๐ต ๐๐ผ๐
Take @Shopify Sidekick for example:
Itโs not just a chatbot sitting on top of Shopify.
Itโs embedded directly into the product layer.
Meaning it can take action inside Shopify itself, using your storeโs context, permissions, and history, rather than generating suggestions you have to implement yourself.
๐ฆ๐ผ ๐๐ต๐ฎ๐ ๐๐ฒ๐ฝ๐ฎ๐ฟ๐ฎ๐๐ฒ๐ ๐ฎ ๐ฟ๐ฒ๐ฎ๐น ๐ฝ๐น๐ฎ๐๐ณ๐ผ๐ฟ๐บ ๐๐ต๐ถ๐ณ๐ ๐ณ๐ฟ๐ผ๐บ ๐ฎ ๐ณ๐ฒ๐ฎ๐๐๐ฟ๐ฒ ๐ฐ๐ต๐ฒ๐ฐ๐ธ๐น๐ถ๐๐?
Not โwho has AI.โ
But who can do these 4 things reliably:
1. Context โ deep understanding of your business + current state
2. Trust โ scoped permissions, previews, audit logs, rollback
3. Execution โ multi-step tasks inside the real workflow (no context switching)
4. Memory โ learns from outcomes, not just prompts
For example Sidekick can:
โณ Complete multi-step tasks like updating product collections, adjusting discounts, or configuring settings, without pulling you into separate dashboards.
โณ Turn plain English into a working custom app, generating the underlying code so merchants can build tools without coding.
โณ Generate analytics reports from natural-language questions, pulling directly from Shopify Analytics.
โณ Proactively surface weekly opportunities based on store performance, not just react when asked.
โณ Edit product images directly in the Shopify app; removing backgrounds, adjusting visuals, and publishing changes in place.
Thatโs not AI as an add-on.
Thatโs AI as an execution layer.
Weโre moving toward ๐ฑ๐ฒ๐ฐ๐ถ๐๐ถ๏ฟฝ๏ฟฝ๐ป ๐ข๐ฆ ๐ฝ๐น๐ฎ๐๐ณ๐ผ๐ฟ๐บ๐:
Intent โ plan โ action โ feedback โ memory (with guardrails).
If youโre building software, the question isnโt โWhere do we add AI?โ
Itโs: What should this product safely do on the userโs behalf?
What else would you add?
โ https://t.co/V8PhF6U3wu
--
๐ Save for later.
โป๏ธ Repost to help other engineers learn and grow.
๐ Thanks to Shopify for sponsoring this post.
โ Follow Nikki Siapno + turn on notifications.
How CI/CD pipelines work
(explained in 2 mins or less):
A CI/CD pipeline is an automated workflow that facilitates continuous integration (CI) and continuous delivery or deployment (CD) by managing code building, testing, and release processes.
It integrates the various stages of the software development lifecycle (SDLC) into a seamless, repeatable process.
These stages include source code management, automated testing, artifact creation, and deployment orchestration.
Continuous โdeliveryโ and โdeploymentโ are sometimes used synonymously.
But there is a clear and important distinction between the two.
Delivery is about ensuring the software can be released at any time.
It requires manual intervention to deploy to production.
Deployment, on the other hand, does the release through automated workflows.
Learn more here: https://t.co/pPPVI1DEfC
What else would you add?
--
๐ PS: Get our System Design Handbook FREE when you join our newsletter. Join 30,001+ engineers: https://t.co/8uVCeyVa1w
--
๐ Save for later.
โป๏ธ Repost to help other engineers learn CI/CD.
โ Follow Nikki Siapno + turn on notifications.
If you're serious about starting with system design, learn these 19 concepts (save this now):
1 System Design Concepts
โณ https://t.co/Jqfyh7YfZn
2 How to Crack the System Design Interview
โณ https://t.co/kVEggLp9C2
3 Computer Science Stack Simply Explained
โณ https://t.co/qfZnlyCSN5
4 High Availability - A Deep Dive
โณ https://t.co/ccG16ukgej
5 Modular Monolith Architecture
โณ https://t.co/VVV6v3KGHJ
6 How RPC Works
โณ https://t.co/yeIgcmAxQx
7 How JWT Works
โณ https://t.co/SZXXrlBsWH
8 How Does HTTPS Work
โณ https://t.co/r5rUtVpw0O
9 How Bloom Filters Work
โณ https://t.co/ntZXq7LxVn
10 How Consistent Hashing Works
โณ https://t.co/7d6EipPcKF
11 How Service Discovery Works
โณ https://t.co/BcL3tgxx1u
12 API Versioning - A Deep Dive
โณ https://t.co/OHAtKSUgVN
13 Deployment Patterns
โณ https://t.co/YC7sphP77c
14 How Idempotent API Works
โณ https://t.co/afe7ACuSYE
15 Saga Design Pattern
โณ https://t.co/2CffTodOHL
16 How Databases Keep Passwords Securely
โณ https://t.co/KSfIhpAT2j
17 How DNS Works
โณ https://t.co/H7hcZnws8N
18 How Websockets Work
โณ https://t.co/JfT6mj4mrv
19 Distributed Systems 101
โณ https://t.co/yi0K5K5RIE
(What else should make this list?)
โโ
๐ PS - Want my System Design Playbook for FREE?
Click the link below to join my newsletter right now:
โ https://t.co/ByOFTtOihX
(200K+ software engineers have already signed up.)
โโโ
๐พ Save this for later & RT to help other software engineers ace system design.
๐ค Follow @systemdesingone + turn on notifications.
12 System design concepts engineers should know:
1. Load balancing algorithms explained
โณ https://t.co/VCLCKOZzni
2. gRPC clearly explained
โณ https://t.co/QwgTXr1N9z
3. How HTTPS actually works
โณ https://t.co/wc3CQOsmPS
4. Database caching strategies
โณ https://t.co/23QdZATj2o
5. System design quality attributes
โณ https://t.co/v9WJoUPevt
6. Health checks vs heartbeats
โณ https://t.co/r5SalP6CCh
7. CI/CD pipelines
โณ https://t.co/SM2YvhioIX
8. API gateway vs load balancer vs reverse proxy
โณ https://t.co/Tg3EhT60tU
9. Microservices clearly explained
โณ https://t.co/1CpY04nNxb
10. How JWT works
โณ https://t.co/Kuv7DAj6B9
11. Idempotency in API design
โณ https://t.co/2sItwlz1oe
12. API protocols made simple
โณ https://t.co/2CEu4Wnhsv
What else should make the list?
What concepts would you like me to cover?
๐ PS: Get our System Design Handbook FREE when you join our newsletter. Join 30,001+ engineers: https://t.co/8uVCeyVa1w
--
๐ Save for later.
โป๏ธ Repost to help other engineers learn system design.
โ Follow Nikki Siapno + turn on notifications.
Things every developer should know: SOLID principles.
SOLID is about designing for change. Separating responsibilities and managing dependencies so your codebase doesnโt become brittle over time.
๐ฆ - Single Responsibility Principle
๐ข - Open/Closed Principle
๐ - Liskov Substitution Principle
๐ - Interface Segregation Principle
๐ - Dependency Inversion Principle
Letโs break down each principle โ
๐ญ. ๐ฆ๐ถ๐ป๐ด๐น๐ฒ ๐ฅ๐ฒ๐๐ฝ๐ผ๐ป๐๐ถ๐ฏ๐ถ๐น๐ถ๐๐ ๐ฃ๐ฟ๐ถ๐ป๐ฐ๐ถ๐ฝ๐น๐ฒ (๐ฆ๐ฅ๐ฃ)
Each unit of code should only have one job or responsibility. A unit can be a class, module, function, or component. This keeps code modular and removes the risk of tight coupling.
๐ฎ. ๐ข๐ฝ๐ฒ๐ป-๐๐น๐ผ๐๐ฒ๐ฑ ๐ฃ๐ฟ๐ถ๐ป๐ฐ๐ถ๐ฝ๐น๐ฒ (๐ข๐๐ฃ)
Units of code should be open for extension but closed for modification. You should be able to extend functionality with additional code rather than modifying existing ones. This principle can be applied to component-based systems such as a React frontend.
๐ฏ. ๐๐ถ๐๐ธ๐ผ๐ ๐ฆ๐๐ฏ๐๐๐ถ๐๏ฟฝ๏ฟฝ๐๐ถ๐ผ๐ป ๐ฃ๐ฟ๐ถ๐ป๐ฐ๐ถ๐ฝ๐น๐ฒ (๐๐ฆ๐ฃ)
You should be able to substitute objects of a base class with objects of its subclass without altering the โcorrectnessโ of the program.
An example of this is with a Bird base class. You might assume that it should have a โflyโ method. But what about the birds that canโt fly? Like a Penguin. In this example, having a โflyโ method in the Bird class would violate LSP.
๐ฐ. ๐๐ป๐๐ฒ๐ฟ๐ณ๐ฎ๐ฐ๐ฒ ๐ฆ๐ฒ๐ด๐ฟ๐ฒ๐ด๐ฎ๐๐ถ๐ผ๐ป ๐ฃ๐ฟ๐ถ๐ป๐ฐ๐ถ๐ฝ๐น๐ฒ (๐๐ฆ๐ฃ)
Provide multiple interfaces with specific responsibilities rather than a small set of general-purpose interfaces. Clients shouldnโt need to know about the methods & properties that don't relate to their use case.
Complexity โ
Code flexibility โ
๐ฑ. ๐๐ฒ๐ฝ๐ฒ๐ป๐ฑ๐ฒ๐ป๐ฐ๐ ๐๐ป๐๐ฒ๐ฟ๐๐ถ๐ผ๐ป ๐ฃ๐ฟ๐ถ๐ป๐ฐ๐ถ๐ฝ๐น๐ฒ (๐๐๐ฃ)
High-level modules shouldnโt depend on low-level modules. Both should depend on abstractions. Abstractions shouldnโt depend on details. Details should depend on abstractions.
Across these principles, youโll often see the same pattern emerge: composition over inheritance.
What else would you add?
--
๐ PS: Get our System Design Handbook FREE when you join our newsletter. Join 30,001+ engineers: https://t.co/8uVCeyVa1w
--
๐ Save for later.
โป๏ธ Repost to help others learn and grow.
โ Follow Nikki Siapno + turn on notifications.
Kafka is often described as a message queue.
Itโs not...
Kafka is a distributed commit log that lets you replay, scale, and process data streams in parallel.
That difference matters.
Hereโs the mental model:
โณ Producers write events to a ๐๐ผ๐ฝ๐ถ๐ฐ
โณ Topics are split into ๐ฝ๐ฎ๐ฟ๐๐ถ๐๐ถ๐ผ๐ป๐
โณ ๐๐ฟ๐ผ๐ธ๐ฒ๐ฟ๐ replicate partitions for durability
โณ ๐๐ผ๐ป๐๐๐บ๐ฒ๐ฟ๐ read at their own pace using ๐ผ๐ณ๐ณ๐๐ฒ๐๐
The key idea:
Kafka doesnโt just move messages, it ๐ฝ๐ฒ๐ฟ๐๐ถ๐๐๐ ๐ผ๐ฟ๐ฑ๐ฒ๐ฟ๐ฒ๐ฑ ๐ฒ๐๐ฒ๐ป๐ ๐๐๐ฟ๐ฒ๐ฎ๐บ๐.
Thatโs why it works for:
โ Event-driven systems
โ Real-time analytics
โ Log aggregation
โ Data lake ingestion
Hereโs a simple decision rule:
If you need:
โข Replayable history
โข Horizontal scalability
โข Parallel consumption
โข Durable event storage
โ Kafka fits.
If you just need:
โข Simple async jobs
โข Low operational overhead
โข Basic task queues
โ Itโs probably overkill.
Kafka is powerful.
But it earns its complexity.
What else would you add?
--
Thanks to Sonar for keeping our content free.
Theyโre bringing ๐๐ฒ๐น๐น-๐ธ๐ป๐ผ๐๐ป ๐ฒ๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ๐ถ๐ป๐ด ๐น๐ฒ๐ฎ๐ฑ๐ฒ๐ฟ๐ together to discuss building better software in the AI era.
๐๐ณ ๐๐ผ๐ ๐๐ฎ๐ป๐ ๐๐ผ ๐๐๐ฎ๐ ๐๐ต๐ฎ๐ฟ๐ฝ in the current landscape, ๐๐ฎ๐๐ฐ๐ต the ๐๐ถ๐ฟ๐๐๐ฎ๐น event here (๐ณ๐ผ๐ฟ ๐ณ๐ฟ๐ฒ๐ฒ): https://t.co/L3D4BEIqLd
--
๐ Save for later.
โป๏ธ Repost to help others learn Kafka.
๏ฟฝ๏ฟฝ๏ฟฝ Follow Nikki Siapno + turn on notifications.
If you want to become good at system design,
learn these 12 concepts:
1. Load balancing algorithms explained
โณ https://t.co/VCLCKOZzni
2. gRPC clearly explained
โณ https://t.co/QwgTXr1N9z
3. How HTTPS actually works
โณ โณ https://t.co/wc3CQOsmPS
4. Database caching strategies
โณ https://t.co/23QdZATj2o
5. System design quality attributes
โณ https://t.co/v9WJoUPevt
6. Health checks vs heartbeats
โณ https://t.co/r5SalP6CCh
7. CI/CD pipelines
โณ https://t.co/SM2YvhioIX
8. API gateway vs load balancer vs reverse proxy
โณ https://t.co/Tg3EhT60tU
9. Microservices clearly explained
โณ https://t.co/1CpY04nNxb
10. How JWT works
โณ https://t.co/Kuv7DAj6B9
11. Idempotency in API design
โณ https://t.co/2sItwlz1oe
12. API protocols made simple
โณ https://t.co/2CEu4Wnhsv
๐ PS: Get our System Design Handbook FREE when you join our newsletter. Join 28,501+ engineers: https://t.co/1YxuvrLqeh
--
๐ Save for later.
โป๏ธ Repost to help other engineers learn and grow.
โ Follow Nikki Siapno + turn on notifications.