Level Up Coding (@LevelUpCoding_) header
Level Up Coding (@LevelUpCoding_) profile picture

Helping senior engineers master system design and AI engineering. Get our 218-page System Design Handbook for free when you subscribe.

Level Up Coding Newsletter →
Joined April 2024
Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)Photo by Level Up Coding (@LevelUpCoding_)
35 resources to learn system design: 1. Microservices ↳ lucode.co/microservices-lil1… 2. Redis ↳ lucode.co/redis-explained-li… 3. Event-driven architecture ↳ lucode.co/event-driven-archi… 4. Database indexing ↳ lucode.co/database-indexing-… 5. Circuit breakers ↳ lucode.co/circuit-breakers-l… 6. ACID vs BASE ↳ lucode.co/acid-vs-base-lil1n… 7. Rate limiting ↳ lucode.co/rate-limiting-lil1… PS - if you want a structured path, get our free 142-page System Design Handbook when you join our free weekly newsletter → lucode.co/system-design-hand… 8. Observability ↳ lucode.co/observability-clea… 9. System design quality attributes ↳ lucode.co/system-design-qual… 10. CAP theorem ↳ lucode.co/cap-theorem-lil1nl… 11. Idempotency ↳ lucode.co/idempotency-in-api… 12. REST APIs ↳ lnkd.in/gi5zd2jR 13. Sync vs Async ↳ lnkd.in/gG-EnbA9 14. Network protocols ↳ lucode.co/network-protocols-… 15. Change Data Capture (CDC) ↳ lucode.co/change-data-captur… 16. CI/CD pipelines ↳ lucode.co/ci-cd-lil1nlsm 17. SSO (single sign-on) ↳ lnkd.in/gXdVyqBg 18. JWT ↳ lucode.co/json-web-token-jwt… 19. gRPC ↳ lucode.co/grpc-explained-lil… 20. Health checks vs heartbeats ↳ lucode.co/health-checks-vs-h… 21. API gateway vs load balancer vs reverse proxy ↳ lucode.co/api-gateway-vs-lb-… 22. HTTPS ↳ lucode.co/https-explained-li… 23. Load balancing algorithms ↳ lucode.co/load-balancing-alg… 24. Database caching ↳ lucode.co/database-caching-s… 25. API protocols ↳ lucode.co/api-architecture-s… 26. CDN ↳ lucode.co/cdn-lil1nlsm 27. Database types ↳ lucode.co/database-types-lil… 28. Message Queues ↳ lucode.co/message-queues-lil… 29. Hashing vs encryption vs tokenization ↳ lnkd.in/gfqGYQnq 30. Service Discovery ↳ lucode.co/service-discovery-… 31. Pub/Sub ↳ lucode.co/pub-sub-lil1nlsm 32. Connection pooling ↳ lucode.co/connection-pooling… 33. Forward proxy vs reverse proxy ↳ lucode.co/forward-vs-reverse… 34. Consistent hashing ↳ lucode.co/consistent-hashing… 35. SQL vs NoSQL ↳ lucode.co/sql-vs-nosql-lil1n… —— 👋 PS: Get my free 142-page System Design Handbook when you join my free weekly newsletter. Join 33,000+ engineers → lucode.co/system-design-hand… —— ♻️ Repost to help others learn system design.
I wrote 35 articles for 35 system design concepts: 1) Microservices: lucode.co/microservices-lil1… 2) Redis: lucode.co/redis-explained-li… 3) Event-driven architecture: lucode.co/event-driven-archi… 4) Database indexing: lucode.co/database-indexing-… 5) Circuit breakers: lucode.co/circuit-breakers-l… 6) ACID vs BASE: lucode.co/acid-vs-base-lil1n… 7) Rate limiting: lucode.co/rate-limiting-lil1… PS - if you want a structured path, get my free 142-page System Design Handbook when you join my free weekly newsletter → lucode.co/system-design-hand… 8) Observability: lucode.co/observability-clea… 9) System design quality attributes: lucode.co/system-design-qual… 10) CAP theorem: lucode.co/cap-theorem-lil1nl… 11) Idempotency: lucode.co/idempotency-in-api… 12) REST APIs: lnkd.in/gi5zd2jR 13) Sync vs Async: lnkd.in/gG-EnbA9 14) Network protocols: lucode.co/network-protocols-… 15) Change Data Capture (CDC): lucode.co/change-data-captur… 16) CI/CD pipelines: lucode.co/ci-cd-lil1nlsm 17). SSO (single sign-on): lnkd.in/gXdVyqBg 18) JWT: lucode.co/json-web-token-jwt… 19) gRPC: lucode.co/grpc-explained-lil… 20) Health checks vs heartbeats: lucode.co/health-checks-vs-h… 21) API gateway vs load balancer vs reverse proxy: lucode.co/api-gateway-vs-lb-… 22) HTTPS: lucode.co/https-explained-li… 23) Load balancing algorithms: lucode.co/load-balancing-alg… 24) Database caching: lucode.co/database-caching-s… 25) API protocols: lucode.co/api-architecture-s… 26) CDN: lucode.co/cdn-lil1nlsm 27) Database types: lucode.co/database-types-lil… 28) Message Queues: lucode.co/message-queues-lil… 29) Hashing vs encryption vs tokenization: lnkd.in/gfqGYQnq 30) Service Discovery: lucode.co/service-discovery-… 31) Pub/Sub: lucode.co/pub-sub-lil1nlsm 32) Connection pooling: lucode.co/connection-pooling… 33) Forward proxy vs reverse proxy: lucode.co/forward-vs-reverse… 34) Consistent hashing: lucode.co/consistent-hashing… 35) SQL vs NoSQL:lucode.co/sql-vs-nosql-lil1n… —— 👋 PS: Get my free 142-page System Design Handbook when you join my free weekly newsletter. Join 33,000+ engineers → lucode.co/system-design-hand… —— ♻️ Repost to help others learn system design. ➕ Follow me ( Nikki Siapno ) to become good at system design.
4
127
1
671
44,284
Level Up Coding retweeted
𝗠𝗖𝗣 𝘃𝘀 𝗥𝗔𝗚 𝘃𝘀 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀. 𝗠𝗖𝗣 𝗶𝘀 𝘁𝗵𝗲 𝗰𝗼𝗻𝗻𝗲𝗰𝘁𝗶𝗼𝗻 𝗹𝗮𝘆𝗲𝗿. It gives AI systems a standard way to connect to external systems and capabilities. MCP servers expose tools for querying databases, calling APIs, or taking actions, without requiring custom integrations for every client. But it handles connectivity, not retrieval. That's where 𝗥𝗔𝗚 comes in. It searches your docs at query time, pulling relevant chunks into the prompt so answers can draw from your data. Keeping it current means updating an index, not retraining the model. In a basic RAG pipeline, the flow is straightforward: retrieve, then answer. Now with 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀, the model runs in a loop: plan a step, call a tool, read the result, repeat until the goal is met. That handles multi-step tasks, at the cost of more latency, tokens, and failure points. So the choice comes down to the gap you're closing: access to systems, knowledge from your data, or action over many steps. But executing a task successfully doesn't necessarily mean it's still the right task. Priorities shift, budgets change, and teams move between projects. Both humans and AI agents can keep executing work that no longer aligns with the bigger plan. The problem is that strategy, capacity, spend, and execution data often live in different systems. By the time a quarterly review reveals the gap between plan and reality, time and budget have already been spent. Catching that drift early means continuously connecting what was planned with the work actually happening, across both human teams and AI agents. Tempo Loop brings together time, capacity, spend, and execution data in one unified view across human and AI-agent work. It answers a simple question without chasing status updates: Are we still working on the right things? When something drifts, Loop identifies the gap, recommends corrective actions with tradeoff context, and orchestrates approved changes back into the systems teams already use, like Jira. 𝗔𝗴𝗲𝗻𝘁𝘀 𝗹𝗼𝗼𝗽 𝗼𝗻 𝘁𝗮𝘀𝗸𝘀. 𝗧𝗵𝗶𝘀 𝗼𝗻𝗲 𝗹𝗼𝗼𝗽𝘀 𝗼𝗻 𝗽𝗿𝗶𝗼𝗿𝗶𝘁𝗶𝗲𝘀. 𝗦𝗲𝗲 𝗵𝗼𝘄 𝗧𝗲𝗺𝗽𝗼 𝗟𝗼𝗼𝗽 𝘄𝗼𝗿𝗸𝘀 → lucode.co/tempo-loop-z71xd What else would you add? —— ♻️ Repost to help others learn AI. 🙏 Thanks to @TempoHQ for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
𝗠𝗖𝗣 𝘃𝘀 𝗥𝗔𝗚 𝘃𝘀 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀. 𝗠𝗖𝗣 is the connection layer. It gives AI systems a standard way to connect to external systems and capabilities. MCP servers expose tools for querying databases, calling APIs, or taking actions, without requiring custom integrations for every client. But it handles connectivity, not retrieval. That's where 𝗥𝗔𝗚 comes in. It searches your docs at query time, pulling relevant chunks into the prompt so answers can draw from your data. Keeping it current means updating an index, not retraining the model. In a basic RAG pipeline, the flow is straightforward: retrieve, then answer. Now with 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀, the model runs in a loop: plan a step, call a tool, read the result, repeat until the goal is met. That handles multi-step tasks, at the cost of more latency, tokens, and failure points. So the choice comes down to the gap you're closing: access to systems, knowledge from your data, or action over many steps. But executing a task successfully doesn't necessarily mean it's still the right task. Priorities shift, budgets change, and teams move between projects. Both humans and AI agents can keep executing work that no longer aligns with the bigger plan. The problem is that strategy, capacity, spend, and execution data often live in different systems. By the time a quarterly review reveals the gap between plan and reality, time and budget have already been spent. Catching that drift early means continuously connecting what was planned with the work actually happening, across both human teams and AI agents. Tempo Loop brings together time, capacity, spend, and execution data in one unified view across human and AI-agent work. It answers a simple question without chasing status updates: Are we still working on the right things? When something drifts, Loop identifies the gap, recommends corrective actions with tradeoff context, and orchestrates approved changes back into the systems teams already use, like Jira. 𝗔𝗴𝗲𝗻𝘁𝘀 𝗹𝗼𝗼𝗽 𝗼𝗻 𝘁𝗮𝘀𝗸𝘀. 𝗧𝗵𝗶𝘀 𝗼𝗻𝗲 𝗹𝗼𝗼𝗽𝘀 𝗼𝗻 𝗽𝗿𝗶𝗼𝗿𝗶𝘁𝗶𝗲𝘀. 𝗦𝗲𝗲 𝗵𝗼𝘄 𝗧𝗲𝗺𝗽𝗼 𝗟𝗼𝗼𝗽 𝘄𝗼𝗿𝗸𝘀 → lucode.co/tempo-loop-z71xd What else would you add? —— ♻️ Repost to help others learn AI. 🙏 Thanks to @TempoHQ for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
12
22
112
4,745
Level Up Coding retweeted
Kubernetes visually explained. Want to learn more? Deep dive is available in my newsletter. PS: System design is must for engineers. Download my 218 page System Design Handbook for free and join 35,000+ engineers who get my free weekly newsletter → lucode.co/system-design-hand…
3
20
77
4,063
Level Up Coding retweeted
8 Deployment Patterns Engineers Should Know: These patterns all help ship changes, but what actually happens in each strategy is very different and they work at different layers. Infrastructure Layer 𝟭) 𝗥𝗼𝗹𝗹𝗶𝗻𝗴: the default for stateless services when two versions can safely overlap. Cheap to run, but rollback is just another slow rollout. 𝟮) 𝗕𝗹𝘂𝗲-𝗴𝗿𝗲𝗲𝗻: when you need fast rollback and can afford two environments. A shared database makes it harder than it looks. 𝟯) 𝗦𝗵𝗮𝗱𝗼𝘄: when you're rewriting a critical path and want to test it against real traffic first. You pay for duplicate load and must isolate side effects. 𝟰) 𝗜𝗺𝗺𝘂𝘁𝗮𝗯𝗹𝗲 𝗶𝗻𝗳𝗿𝗮𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲: when config drift keeps causing surprises. Replacing instances with tested images improves consistency, but requires reliable image builds and provisioning. Release Layer 𝟱) 𝗙𝗲𝗮𝘁𝘂𝗿𝗲 𝗳𝗹𝗮𝗴𝘀: when you want to decouple code deployment from releasing 100% of your changes to everyone instantly. Every flag is a code path you'll have to clean up. 𝟲) 𝗖𝗮𝗻𝗮𝗿𝘆: when a change is risky and your metrics catch regressions fast. A small group of real users still hits the bug. 𝟳) 𝗣𝗿𝗼𝗴𝗿𝗲𝘀𝘀𝗶𝘃𝗲 𝗱𝗲𝗹𝗶𝘃𝗲𝗿𝘆: when you want to control exposure using real production signals. Rollouts can advance or stop based on metrics, but reliable observability is essential. 𝟴) 𝗔/𝗕 𝘁𝗲𝘀𝘁𝗶𝗻𝗴: when the question is "is this better?", not "is this safe?". Results need enough traffic to mean anything. But these patterns only protect the changes that actually use them. Feature flags can power canaries, A/B tests, and progressive rollouts. But deciding which changes need flags, setting rollout rules, and cleaning them up still falls to engineers. LaunchDarkly's new Release Autopilot uses AI agents to automate that setup. It classifies changes by risk, adds feature flags when needed, and progressively releases changes while monitoring live production signals against defined guardrails. It also helps clean up flags after release. 𝗘𝘅𝗽𝗹𝗼𝗿𝗲 𝗥𝗲𝗹𝗲𝗮𝘀𝗲 𝗔𝘂𝘁𝗼𝗽𝗶𝗹𝗼𝘁 → lucode.co/release-autopilot-… What else would you add? —— ♻️ Repost to help others learn deployment patterns. 🙏 Thanks to @LaunchDarkly for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
8
58
275
10,677
Level Up Coding retweeted
𝗠𝗖𝗣 𝘃𝘀 𝗥𝗔𝗚 𝘃𝘀 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀. 𝗠𝗖𝗣 is the connection layer. It gives AI systems a standard way to connect to external systems and capabilities. MCP servers expose tools for querying databases, calling APIs, or taking actions, without requiring custom integrations for every client. But it handles connectivity, not retrieval. That's where 𝗥𝗔𝗚 comes in. It searches your docs at query time, pulling relevant chunks into the prompt so answers can draw from your data. Keeping it current means updating an index, not retraining the model. In a basic RAG pipeline, the flow is straightforward: retrieve, then answer. Now with 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀, the model runs in a loop: plan a step, call a tool, read the result, repeat until the goal is met. That handles multi-step tasks, at the cost of more latency, tokens, and failure points. So the choice comes down to the gap you're closing: access to systems, knowledge from your data, or action over many steps. But executing a task successfully doesn't necessarily mean it's still the right task. Priorities shift, budgets change, and teams move between projects. Both humans and AI agents can keep executing work that no longer aligns with the bigger plan. The problem is that strategy, capacity, spend, and execution data often live in different systems. By the time a quarterly review reveals the gap between plan and reality, time and budget have already been spent. Catching that drift early means continuously connecting what was planned with the work actually happening, across both human teams and AI agents. Tempo Loop brings together time, capacity, spend, and execution data in one unified view across human and AI-agent work. It answers a simple question without chasing status updates: Are we still working on the right things? When something drifts, Loop identifies the gap, recommends corrective actions with tradeoff context, and orchestrates approved changes back into the systems teams already use, like Jira. 𝗔𝗴𝗲𝗻𝘁𝘀 𝗹𝗼𝗼𝗽 𝗼𝗻 𝘁𝗮𝘀𝗸𝘀. 𝗧𝗵𝗶𝘀 𝗼𝗻𝗲 𝗹𝗼𝗼𝗽𝘀 𝗼𝗻 𝗽𝗿𝗶𝗼𝗿𝗶𝘁𝗶𝗲𝘀. 𝗦𝗲𝗲 𝗵𝗼𝘄 𝗧𝗲𝗺𝗽𝗼 𝗟𝗼𝗼𝗽 𝘄𝗼𝗿𝗸𝘀 → lucode.co/tempo-loop-z71xd What else would you add? —— ♻️ Repost to help others learn AI. 🙏 Thanks to @TempoHQ for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
24
44
4
266
14,582
Level Up Coding retweeted
How RAG works (visually explained).
𝗛𝗼𝘄 𝗥𝗔𝗚 𝗮𝗰𝘁𝘂𝗮𝗹𝗹𝘆 𝘄𝗼𝗿𝗸𝘀 (clearly explained in under 2 mins): LLMs are powerful, but they only know what’s already in their context. RAG changes that by retrieving relevant external knowledge before the model answers. Here's how it works: 𝟭) 𝗜𝗻𝗴𝗲𝘀𝘁 𝘁𝗵𝗲 𝗱𝗮𝘁𝗮 ↳ Collect documents, PDFs, or other data sources ↳ Clean and split the content into smaller chunks 𝟮) 𝗖𝗿𝗲𝗮𝘁𝗲 𝗲𝗺𝗯𝗲𝗱𝗱𝗶𝗻𝗴𝘀 ↳ Convert each chunk into a vector representation ↳ Semantically similar content produces nearby vectors 𝟯) 𝗦𝘁𝗼𝗿𝗲 𝘁𝗵𝗲 𝘃𝗲𝗰𝘁𝗼𝗿𝘀 ↳ Save embeddings in a vector database ↳ Index them for efficient similarity search 𝟰) 𝗥𝗲𝘁𝗿𝗶𝗲𝘃𝗲 𝗿𝗲𝗹𝗲𝘃𝗮𝗻𝘁 𝗰𝗼𝗻𝘁𝗲𝘅𝘁 ↳ Convert the user's query into an embedding ↳ Find and retrieve the most relevant chunks 𝟱) 𝗚𝗲𝗻𝗲𝗿𝗮𝘁𝗲 𝘁𝗵𝗲 𝗮𝗻𝘀𝘄𝗲𝗿 ↳ Combine the query and retrieved context into a prompt ↳ The LLM uses that context to generate its response The harder part is connecting chunking, embeddings, storage, retrieval, and generation into one working pipeline. MongoDB's free RAG course walks you through the entire process, from preparing data and generating embeddings to implementing vector search and connecting everything to an LLM. You'll build a working RAG application using LangChain and MongoDB, with a Skill Badge to earn along the way. 𝗦𝘁𝗮𝗿𝘁 𝘁𝗵𝗲 𝗙𝗿𝗲𝗲 𝗥𝗔𝗚 𝗖𝗼𝘂𝗿𝘀𝗲 → lucode.co/rag-course-mongodb… What else would you add? —— 💾 Save it 🙏 Thanks to @MongoDB for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
2
12
2
68
6,235
Level Up Coding retweeted
𝗛𝗼𝘄 𝗥𝗔𝗚 𝗮𝗰𝘁𝘂𝗮𝗹𝗹𝘆 𝘄𝗼𝗿𝗸𝘀 (clearly explained in under 2 mins): LLMs are powerful, but they only know what’s already in their context. RAG changes that by retrieving relevant external knowledge before the model answers. Here's how it works: 𝟭) 𝗜𝗻𝗴𝗲𝘀𝘁 𝘁𝗵𝗲 𝗱𝗮𝘁𝗮 ↳ Collect documents, PDFs, or other data sources ↳ Clean and split the content into smaller chunks 𝟮) 𝗖𝗿𝗲𝗮𝘁𝗲 𝗲𝗺𝗯𝗲𝗱𝗱𝗶𝗻𝗴𝘀 ↳ Convert each chunk into a vector representation ↳ Semantically similar content produces nearby vectors 𝟯) 𝗦𝘁𝗼𝗿𝗲 𝘁𝗵𝗲 𝘃𝗲𝗰𝘁𝗼𝗿𝘀 ↳ Save embeddings in a vector database ↳ Index them for efficient similarity search 𝟰) 𝗥𝗲𝘁𝗿𝗶𝗲𝘃𝗲 𝗿𝗲𝗹𝗲𝘃𝗮𝗻𝘁 𝗰𝗼𝗻𝘁𝗲𝘅𝘁 ↳ Convert the user's query into an embedding ↳ Find and retrieve the most relevant chunks 𝟱) 𝗚𝗲𝗻𝗲𝗿𝗮𝘁𝗲 𝘁𝗵𝗲 𝗮𝗻𝘀𝘄𝗲𝗿 ↳ Combine the query and retrieved context into a prompt ↳ The LLM uses that context to generate its response The harder part is connecting chunking, embeddings, storage, retrieval, and generation into one working pipeline. MongoDB's free RAG course walks you through the entire process, from preparing data and generating embeddings to implementing vector search and connecting everything to an LLM. You'll build a working RAG application using LangChain and MongoDB, with a Skill Badge to earn along the way. 𝗦𝘁𝗮𝗿𝘁 𝘁𝗵𝗲 𝗙𝗿𝗲𝗲 𝗥𝗔𝗚 𝗖𝗼𝘂𝗿𝘀𝗲 → lucode.co/rag-course-mongodb… What else would you add? —— 💾 Save it 🙏 Thanks to @MongoDB for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
13
12
1
68
7,317
Level Up Coding retweeted
Canva’s restructure today affects over 1,200 people. It's heartbreaking knowing some of the people I worked with are among those affected. During my time at Canva, I had the privilege of working with some of the most talented, hardworking, and dedicated people I've ever met. People who genuinely cared about their work, their teams, and the things they were building. If you're hiring and looking for some of the best talent in the industry, please reach out. I'd be more than happy to connect you with some amazing people. And to everyone affected, whether at Canva or elsewhere, I hope you know that losing your job doesn't take away from everything you've accomplished. My heart goes out to everyone going through this right now. I hope the next chapter brings even better things your way ❤️ ♻️ Repost to help this reach someone who's hiring.
3
3
12
4,615
Level Up Coding retweeted
𝗥𝗔𝗚 𝘃𝘀 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗥𝗔𝗚. With 𝗥𝗔𝗚, retrieval is a step, not a decision. The query goes in, the top documents come back, and the model answers with whatever it found. If that first retrieval misses, the answer can miss with it. That's where 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗥𝗔𝗚 changes the flow. An agent wraps retrieval in a loop. It can rewrite a weak query, search another source, or decide the context isn't good enough and try again before committing to an answer. But more flexible retrieval doesn't necessarily mean better answers. Whether retrieval is predefined or agent-driven, the system still needs to find the right evidence. Keyword search works well for exact matches, vector search for semantic similarity, and SQL for structured data. Hybrid search can combine approaches when needed. The challenge is knowing which approach actually retrieves the most relevant evidence. Oracle's guide to Production RAG Evaluation explores how to compare these retrieval strategies, measure answer quality, and test for common production failures like stale data and missing evidence. 𝗥𝗲𝗮𝗱 𝘁𝗵𝗲 𝗳𝘂𝗹𝗹 𝗴𝘂𝗶𝗱𝗲 → lucode.co/guide-to-productio… What else would you add? —— ♻️ Repost to help others learn RAG. 🙏 Thanks to @OracleDevs for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
𝗥𝗔𝗚 𝘃𝘀 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗥𝗔𝗚. With 𝗥𝗔𝗚, retrieval is a step, not a decision. The query goes in, the top documents come back, and the model answers with whatever it found. If that first retrieval misses, the answer can miss with it. That's where 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗥𝗔𝗚 changes the flow. An agent wraps retrieval in a loop. It can rewrite a weak query, search another source, or decide the context isn't good enough and try again before committing to an answer. But more flexible retrieval doesn't necessarily mean better answers. Whether retrieval is predefined or agent-driven, the system still needs to find the right evidence. Keyword search works well for exact matches, vector search for semantic similarity, and SQL for structured data. Hybrid search can combine approaches when needed. The challenge is knowing which approach actually retrieves the most relevant evidence. Oracle's guide to Production RAG Evaluation explores how to compare these retrieval strategies, measure answer quality, and test for common production failures like stale data and missing evidence. 𝗥𝗲𝗮𝗱 𝘁𝗵𝗲 𝗳𝘂𝗹𝗹 𝗴𝘂𝗶𝗱𝗲 → lucode.co/guide-to-productio… What else would you add? —— ♻️ Repost to help others learn RAG. 🙏 Thanks to @OracleDevs for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
7
11
1
100
6,638
Level Up Coding retweeted
𝗥𝗔𝗚 𝘃𝘀 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗥𝗔𝗚. With 𝗥𝗔𝗚, retrieval is a step, not a decision. The query goes in, the top documents come back, and the model answers with whatever it found. If that first retrieval misses, the answer can miss with it. That's where 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗥𝗔𝗚 changes the flow. An agent wraps retrieval in a loop. It can rewrite a weak query, search another source, or decide the context isn't good enough and try again before committing to an answer. But more flexible retrieval doesn't necessarily mean better answers. Whether retrieval is predefined or agent-driven, the system still needs to find the right evidence. Keyword search works well for exact matches, vector search for semantic similarity, and SQL for structured data. Hybrid search can combine approaches when needed. The challenge is knowing which approach actually retrieves the most relevant evidence. Oracle's guide to Production RAG Evaluation explores how to compare these retrieval strategies, measure answer quality, and test for common production failures like stale data and missing evidence. 𝗥𝗲𝗮𝗱 𝘁𝗵𝗲 𝗳𝘂𝗹𝗹 𝗴𝘂𝗶𝗱𝗲 → lucode.co/guide-to-productio… What else would you add? —— ♻️ Repost to help others learn RAG. 🙏 Thanks to @OracleDevs for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
9
60
3
385
22,578
Level Up Coding retweeted
Top 16 AWS services (explained in under 2 mins): ↓
𝗧𝗼𝗽 𝟭𝟲 𝗔𝗪𝗦 𝗦𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝘀 𝗦𝗵𝗼𝘂𝗹𝗱 𝗞𝗻𝗼𝘄. Understanding AWS isn't about memorizing service names. It's about knowing the role each one plays in your architecture. 𝗖𝗼𝗺𝗽𝘂𝘁𝗲 𝗿𝘂𝗻𝘀 𝗰𝗼𝗱𝗲: ↳ Lambda runs event-driven functions with automatic scaling. ↳ ECS orchestrates containers using AWS-native tooling. ↳ EKS provides Kubernetes with a managed control plane. 𝗗𝗮𝘁𝗮 𝘀𝘁𝗼𝗿𝗲𝘀 𝘀𝘁𝗮𝘁𝗲: ↳ RDS manages relational databases. ↳ DynamoDB provides serverless key-value and document storage. ↳ ElastiCache provides managed in-memory caching for low-latency access. 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗺𝗼𝘃𝗲𝘀 𝘄𝗼𝗿𝗸: ↳ SQS provides durable queues for asynchronous tasks. ↳ SNS handles pub/sub messaging and fanout. ↳ EventBridge routes events between applications and services. ↳ Step Functions orchestrates workflows with retries, waits, and branching. 𝗧𝗿𝗮𝗳𝗳𝗶𝗰 𝗰𝗼𝗻𝗻𝗲𝗰𝘁𝘀 𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀: ↳ API Gateway manages APIs with authorization and throttling. ↳ CloudFront caches content closer to users. ↳ VPC provides isolated virtual networks for cloud resources. 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆 𝗮𝗻𝗱 𝗼𝗽𝗲𝗿𝗮𝘁𝗶𝗼𝗻𝘀 𝗸𝗲𝗲𝗽 𝘀𝘆𝘀𝘁𝗲𝗺𝘀 𝗰𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗲𝗱: ↳ IAM manages permissions through policies and roles. ↳ CloudWatch collects metrics, logs, and operational telemetry. ↳ Secrets Manager stores and helps rotate application credentials. Building scalable infrastructure is only part of the challenge. As software companies integrate AI into their products, they also need to connect models to existing data, manage AI workloads, and keep them secure and reliable in production. AWS supports this through services like Amazon Bedrock for building generative AI applications and Amazon Bedrock AgentCore for deploying and operating AI agents at scale. AWS's AI resources help software companies explore how to integrate AI into their products, move from prototypes to production, and scale AI-powered features across customers. 𝗘𝘅𝗽𝗹𝗼𝗿𝗲 𝗔𝗜 𝗳𝗼𝗿 𝘀𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗰𝗼𝗺𝗽𝗮𝗻𝗶𝗲𝘀 → lucode.co/ai-for-software-co… What else would you add? —— ♻️ Repost to help others learn AWS. 🙏 Thanks to @awsdevelopers for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
2
17
82
5,745
Level Up Coding retweeted
𝗧𝗼𝗽 𝟭𝟲 𝗔𝗪𝗦 𝗦𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝘀 𝗦𝗵𝗼𝘂𝗹𝗱 𝗞𝗻𝗼𝘄. Understanding AWS isn't about memorizing service names. It's about knowing the role each one plays in your architecture. 𝗖𝗼𝗺𝗽𝘂𝘁𝗲 𝗿𝘂𝗻𝘀 𝗰𝗼𝗱𝗲: ↳ Lambda runs event-driven functions with automatic scaling. ↳ ECS orchestrates containers using AWS-native tooling. ↳ EKS provides Kubernetes with a managed control plane. 𝗗𝗮𝘁𝗮 𝘀𝘁𝗼𝗿𝗲𝘀 𝘀𝘁𝗮𝘁𝗲: ↳ RDS manages relational databases. ↳ DynamoDB provides serverless key-value and document storage. ↳ ElastiCache provides managed in-memory caching for low-latency access. 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗺𝗼𝘃𝗲𝘀 𝘄𝗼𝗿𝗸: ↳ SQS provides durable queues for asynchronous tasks. ↳ SNS handles pub/sub messaging and fanout. ↳ EventBridge routes events between applications and services. ↳ Step Functions orchestrates workflows with retries, waits, and branching. 𝗧𝗿𝗮𝗳𝗳𝗶𝗰 𝗰𝗼𝗻𝗻𝗲𝗰𝘁𝘀 𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀: ↳ API Gateway manages APIs with authorization and throttling. ↳ CloudFront caches content closer to users. ↳ VPC provides isolated virtual networks for cloud resources. 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆 𝗮𝗻𝗱 𝗼𝗽𝗲𝗿𝗮𝘁𝗶𝗼𝗻𝘀 𝗸𝗲𝗲𝗽 𝘀𝘆𝘀𝘁𝗲𝗺𝘀 𝗰𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗲𝗱: ↳ IAM manages permissions through policies and roles. ↳ CloudWatch collects metrics, logs, and operational telemetry. ↳ Secrets Manager stores and helps rotate application credentials. Building scalable infrastructure is only part of the challenge. As software companies integrate AI into their products, they also need to connect models to existing data, manage AI workloads, and keep them secure and reliable in production. AWS supports this through services like Amazon Bedrock for building generative AI applications and Amazon Bedrock AgentCore for deploying and operating AI agents at scale. AWS's AI resources help software companies explore how to integrate AI into their products, move from prototypes to production, and scale AI-powered features across customers. 𝗘𝘅𝗽𝗹𝗼𝗿𝗲 𝗔𝗜 𝗳𝗼𝗿 𝘀𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗰𝗼𝗺𝗽𝗮𝗻𝗶𝗲𝘀 → lucode.co/ai-for-software-co… What else would you add? —— ♻️ Repost to help others learn AWS. 🙏 Thanks to @awsdevelopers for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
4
26
1
107
10,122
Level Up Coding retweeted
𝗥𝗘𝗦𝗧 𝘃𝘀 𝗚𝗿𝗮𝗽𝗵𝗤𝗟 𝘃𝘀 𝗴𝗥𝗣𝗖 𝘃𝘀 𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁𝘀. 𝗥𝗘𝗦𝗧 exposes resources through HTTP endpoints, making it practical for public APIs and standard CRUD operations. With 𝗚𝗿𝗮𝗽𝗵𝗤𝗟, clients can request specific fields and related data, making it useful when different clients need different data shapes. 𝗴𝗥𝗣𝗖 uses strongly typed contracts and efficient serialization, making it well suited for backend service communication. For real-time communication, 𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁𝘀 enable persistent, two-way connections, allowing applications to exchange data as events happen. But exchanging data in real time doesn't necessarily mean an application can respond naturally. Take AI voice agents used in customer support. They need to do more than stream audio. They also need to handle interruptions, understand conversational context, and adapt how they respond, while meeting enterprise security and deployment requirements. Deepgram Flux TTS addresses the speech generation side of this by using conversational context to adjust tone, pacing, and emotion in real time. For example, a support agent can respond empathetically to a frustrated customer, then switch to clearly reading out a tracking number. Combined with streaming and interruption handling, this helps developers build more natural voice experiences without scripting every interaction. 𝗛𝗲𝗮𝗿 𝗙𝗹𝘂𝘅 𝗧𝗧𝗦 𝗶𝗻 𝗮𝗰𝘁𝗶𝗼𝗻 → lucode.co/deepgram-flux-tts-… What else would you add? —— ♻️ Repost to help others learn and grow. 🙏 Thanks to @DeepgramAI for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
REST vs GraphQL vs gRPC vs WebSockets. 𝗥𝗘𝗦𝗧 exposes resources through HTTP endpoints, making it practical for public APIs and standard CRUD operations. With 𝗚𝗿𝗮𝗽𝗵𝗤𝗟, clients can request specific fields and related data, making it useful when different clients need different data shapes. 𝗴𝗥𝗣𝗖 uses strongly typed contracts and efficient serialization, making it well suited for backend service communication. For real-time communication, 𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁𝘀 enable persistent, two-way connections, allowing applications to exchange data as events happen. But exchanging data in real time doesn't necessarily mean an application can respond naturally. Take AI voice agents used in customer support. They need to do more than stream audio. They also need to handle interruptions, understand conversational context, and adapt how they respond, while meeting enterprise security and deployment requirements. Deepgram Flux TTS addresses the speech generation side of this by using conversational context to adjust tone, pacing, and emotion in real time. For example, a support agent can respond empathetically to a frustrated customer, then switch to clearly reading out a tracking number. Combined with streaming and interruption handling, this helps developers build more natural voice experiences without scripting every interaction. 𝗛𝗲𝗮𝗿 𝗙𝗹𝘂𝘅 𝗧𝗧𝗦 𝗶𝗻 𝗮𝗰𝘁𝗶𝗼𝗻 → lucode.co/deepgram-flux-tts-… What else would you add? —— ♻️ Repost to help others learn and grow. 🙏 Thanks to @DeepgramAI for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
4
16
76
5,230
Level Up Coding retweeted
REST vs GraphQL vs gRPC vs WebSockets. 𝗥𝗘𝗦𝗧 exposes resources through HTTP endpoints, making it practical for public APIs and standard CRUD operations. With 𝗚𝗿𝗮𝗽𝗵𝗤𝗟, clients can request specific fields and related data, making it useful when different clients need different data shapes. 𝗴𝗥𝗣𝗖 uses strongly typed contracts and efficient serialization, making it well suited for backend service communication. For real-time communication, 𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁𝘀 enable persistent, two-way connections, allowing applications to exchange data as events happen. But exchanging data in real time doesn't necessarily mean an application can respond naturally. Take AI voice agents used in customer support. They need to do more than stream audio. They also need to handle interruptions, understand conversational context, and adapt how they respond, while meeting enterprise security and deployment requirements. Deepgram Flux TTS addresses the speech generation side of this by using conversational context to adjust tone, pacing, and emotion in real time. For example, a support agent can respond empathetically to a frustrated customer, then switch to clearly reading out a tracking number. Combined with streaming and interruption handling, this helps developers build more natural voice experiences without scripting every interaction. 𝗛𝗲𝗮𝗿 𝗙𝗹𝘂𝘅 𝗧𝗧𝗦 𝗶𝗻 𝗮𝗰𝘁𝗶𝗼𝗻 → lucode.co/deepgram-flux-tts-… What else would you add? —— ♻️ Repost to help others learn and grow. 🙏 Thanks to @DeepgramAI for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at system design and AI.
4
16
1
93
8,980
Level Up Coding retweeted
AI Agent vs Workflow.
Workflow vs AI Agent. A 𝘄𝗼𝗿𝗸𝗳𝗹𝗼𝘄 follows a path you define in advance. Step A → Step B → Step C. That works well when the process is predictable and the next step is already known. But an 𝗔𝗜 𝗮𝗴𝗲𝗻𝘁 works differently. You give it a goal, and it can decide which steps, tools, or actions to use based on the context it encounters. That makes agents useful when the path cannot be fully scripted upfront. But an agent is only as powerful as its execution layer. In enterprise environments, that means connecting it to the applications, data, and business processes where the work actually happens. Workday is starting to open up more of that layer to developers. 𝗙𝗼𝗿 𝘁𝗵𝗲 𝗳𝗶𝗿𝘀𝘁 𝘁𝗶𝗺𝗲, 𝗪𝗼𝗿𝗸𝗱𝗮𝘆 𝗵𝗮𝘀 𝗼𝗽𝗲𝗻𝗲𝗱 𝗶𝘁𝘀 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 𝗣𝗹𝗮𝘁𝗳𝗼𝗿𝗺 𝘁𝗼 𝗶𝗻𝗱𝗲𝗽𝗲𝗻𝗱𝗲𝗻𝘁 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀. That means builders can now deploy AI-powered solutions around Workday applications, data, and business processes, with access to an ecosystem powering 75 million+ active users. For developers building skills around enterprise AI, this opens up an ecosystem that was previously out of reach. 𝗝𝗼𝗶𝗻 𝘁𝗵𝗲 𝗪𝗼𝗿𝗸𝗱𝗮𝘆 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 𝗣𝗹𝗮𝘁𝗳𝗼𝗿𝗺 → lucode.co/workday-developer-… What else would you add? —— ♻️ Repost to help others learn AI agents. 🙏 Thanks to @Workday for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
2
13
1
62
5,113
Level Up Coding retweeted
Workflow vs AI Agent. A 𝘄𝗼𝗿𝗸𝗳𝗹𝗼𝘄 follows a path you define in advance. Step A → Step B → Step C. That works well when the process is predictable and the next step is already known. But an 𝗔𝗜 𝗮𝗴𝗲𝗻𝘁 works differently. You give it a goal, and it can decide which steps, tools, or actions to use based on the context it encounters. That makes agents useful when the path cannot be fully scripted upfront. But an agent is only as powerful as its execution layer. In enterprise environments, that means connecting it to the applications, data, and business processes where the work actually happens. Workday is starting to open up more of that layer to developers. 𝗙𝗼𝗿 𝘁𝗵𝗲 𝗳𝗶𝗿𝘀𝘁 𝘁𝗶𝗺𝗲, 𝗪𝗼𝗿𝗸𝗱𝗮𝘆 𝗵𝗮𝘀 𝗼𝗽𝗲𝗻𝗲𝗱 𝗶𝘁𝘀 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 𝗣𝗹𝗮𝘁𝗳𝗼𝗿𝗺 𝘁𝗼 𝗶𝗻𝗱𝗲𝗽𝗲𝗻𝗱𝗲𝗻𝘁 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀. That means builders can now deploy AI-powered solutions around Workday applications, data, and business processes, with access to an ecosystem powering 75 million+ active users. For developers building skills around enterprise AI, this opens up an ecosystem that was previously out of reach. 𝗝𝗼𝗶𝗻 𝘁𝗵𝗲 𝗪𝗼𝗿𝗸𝗱𝗮𝘆 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 𝗣𝗹𝗮𝘁𝗳𝗼𝗿𝗺 → lucode.co/workday-developer-… What else would you add? —— ♻️ Repost to help others learn AI agents. 🙏 Thanks to @Workday for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
16
7
1
30
8,062
Level Up Coding retweeted
Agentic SDLC vs Modern SDLC vs Traditional SDLC.
5 things slowing developers down in 2026 (and why faster coding doesn't solve them): Atlassian's latest State of DevEx report reveals the biggest sources of developer friction. 𝟱. 𝗨𝗻𝗰𝗹𝗲𝗮𝗿 𝗿𝗲𝗾𝘂𝗶𝗿𝗲𝗺𝗲𝗻𝘁𝘀 (𝟰𝟬%) ↳ Clarifying what actually needs to be built. 𝟰. 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗱𝗲𝗯𝘁 (𝟰𝟰%) ↳ Working around existing code and architectural limitations. 𝟯. 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝘀𝘄𝗶𝘁𝗰𝗵𝗶𝗻𝗴 (𝟰𝟱%) ↳ Moving between tasks, tools, and priorities. 𝟮. 𝗠𝗲𝗲𝘁𝗶𝗻𝗴𝘀 (𝟱𝟬%) ↳ Time spent coordinating instead of executing. 𝟭. 𝗙𝗶𝗻𝗱𝗶𝗻𝗴 𝗶𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻 (𝟱𝟭%) ↳ Searching across fragmented documentation and tools. But why do these bottlenecks persist even as AI makes coding faster? The video explains what's happening across the SDLC. For a deeper look at what engineering teams can do about it, join Atlassian's expert panel discussing the findings. 𝗥𝗲𝗮𝗱 𝘁𝗵𝗲 𝗳𝘂𝗹𝗹 𝗿𝗲𝗽𝗼𝗿𝘁 → lucode.co/2026-state-of-deve… 𝗪𝗮𝘁𝗰𝗵 𝘁𝗵𝗲 𝘄𝗲𝗯𝗶𝗻𝗮𝗿 → lucode.co/2026-state-of-deve… What else would you add? Thanks to @Atlassian for sponsoring this post.
2
7
1
36
5,068
Level Up Coding retweeted
Postgres vs MySQL. 𝗣𝗼𝘀𝘁𝗴𝗿𝗲𝘀 is built as a single, integrated system, and that design choice shapes how everything else works. Data is stored in heap tables, where multiple row versions coexist. Updates create new versions, while old ones remain until cleaned up (VACUUM). MVCC is built into the data model, enabling advanced indexing and extensibility. 𝗠𝘆𝗦𝗤𝗟 is built around a pluggable storage engine architecture. The SQL layer sits on top, while InnoDB handles storage. Old row versions are kept in undo logs and reconstructed when needed. Data is organised as a clustered index, with the primary key defining physical layout. Which database do you prefer? —— Thanks to our partner Kickresume who keeps our content free. 𝗔𝗿𝗲 𝘆𝗼𝘂 𝘀𝘂𝗿𝗲 𝘆𝗼𝘂'𝗿𝗲 𝗳𝗼𝗹𝗹𝗼𝘄𝗶𝗻𝗴 𝘂𝗽 𝗼𝗻 𝗲𝘃𝗲𝗿𝘆 𝗷𝗼𝗯 𝘆𝗼𝘂 𝗮𝗽𝗽𝗹𝘆 𝘁𝗼? Keep track of every application with Kickresume's free Job Application Tracker. Track your applications here → lucode.co/jobs-tracker-kickr… —— ♻️ Repost to help others learn databases.
9
89
5
519
33,829
Level Up Coding retweeted
Git branching strategies: Do you know the differences?
Git branching strategies: Do you know the differences? 𝗙𝗲𝗮𝘁𝘂𝗿𝗲 𝗯𝗿𝗮𝗻𝗰𝗵𝗶𝗻𝗴 keeps each feature in its own branch, isolated from the main branch, making pull requests easier to review. Once complete, the feature is merged back into main. 𝗚𝗶𝘁𝗳𝗹𝗼𝘄 uses two long-lived branches: dev for development and main for production. Features are built in separate branches, then merged into dev. Releases are prepared in dedicated branches before merging into production. 𝗚𝗶𝘁𝗟𝗮𝗯 𝗳𝗹𝗼𝘄 combines feature branching with environment-based deployment workflows. Changes move through environments like staging before reaching production, making it well-suited for CI/CD and staged releases. 𝗚𝗶𝘁𝗛𝘂𝗯 𝗳𝗹𝗼𝘄 simplifies things. The main branch is always deployable. Developers create short-lived branches, open pull requests, and merge once approved, often triggering deployment. 𝗧𝗿𝘂𝗻𝗸-𝗯𝗮𝘀𝗲𝗱 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁 minimizes branching. Changes are merged into main frequently, supported by strong automated testing, CI pipelines, and feature flags to maintain stability. There's no one-size-fits-all branching strategy. The right approach depends on your team's size, release process, and how frequently you deploy. What else would you add? —— Thanks to our partner Kickresume who keeps our content free. 𝗔𝗿𝗲 𝘆𝗼𝘂 𝘀𝘂𝗿𝗲 𝘆𝗼𝘂'𝗿𝗲 𝗳𝗼𝗹𝗹𝗼𝘄𝗶𝗻𝗴 𝘂𝗽 𝗼𝗻 𝗲𝘃𝗲𝗿𝘆 𝗷𝗼𝗯 𝘆𝗼𝘂 𝗮𝗽𝗽𝗹𝘆 𝘁𝗼? Keep track of every application with Kickresume's free Job Application Tracker. Track your applications here → lucode.co/jobs-tracker-kickr… —— ♻️ Repost to help others Git. ➕ Follow me ( @NikkiSiapno ) to improve at system design.
3
24
154
6,531
Level Up Coding retweeted
Git branching strategies: Do you know the differences? 𝗙𝗲𝗮𝘁𝘂𝗿𝗲 𝗯𝗿𝗮𝗻𝗰𝗵𝗶𝗻𝗴 keeps each feature in its own branch, isolated from the main branch, making pull requests easier to review. Once complete, the feature is merged back into main. 𝗚𝗶𝘁𝗳𝗹𝗼𝘄 uses two long-lived branches: dev for development and main for production. Features are built in separate branches, then merged into dev. Releases are prepared in dedicated branches before merging into production. 𝗚𝗶𝘁𝗟𝗮𝗯 𝗳𝗹𝗼𝘄 combines feature branching with environment-based deployment workflows. Changes move through environments like staging before reaching production, making it well-suited for CI/CD and staged releases. 𝗚𝗶𝘁𝗛𝘂𝗯 𝗳𝗹𝗼𝘄 simplifies things. The main branch is always deployable. Developers create short-lived branches, open pull requests, and merge once approved, often triggering deployment. 𝗧𝗿𝘂𝗻𝗸-𝗯𝗮𝘀𝗲𝗱 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁 minimizes branching. Changes are merged into main frequently, supported by strong automated testing, CI pipelines, and feature flags to maintain stability. There's no one-size-fits-all branching strategy. The right approach depends on your team's size, release process, and how frequently you deploy. What else would you add? —— Thanks to our partner Kickresume who keeps our content free. 𝗔𝗿𝗲 𝘆𝗼𝘂 𝘀𝘂𝗿𝗲 𝘆𝗼𝘂'𝗿𝗲 𝗳𝗼𝗹𝗹𝗼𝘄𝗶𝗻𝗴 𝘂𝗽 𝗼𝗻 𝗲𝘃𝗲𝗿𝘆 𝗷𝗼𝗯 𝘆𝗼𝘂 𝗮𝗽𝗽𝗹𝘆 𝘁𝗼? Keep track of every application with Kickresume's free Job Application Tracker. Track your applications here → lucode.co/jobs-tracker-kickr… —— ♻️ Repost to help others Git. ➕ Follow me ( @NikkiSiapno ) to improve at system design.
𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗦𝗗𝗟𝗖 𝘃𝘀 𝗠𝗼𝗱𝗲𝗿𝗻 𝗦𝗗𝗟𝗖 𝘃𝘀 𝗧𝗿𝗮𝗱𝗶𝘁𝗶𝗼𝗻𝗮𝗹 𝗦𝗗𝗟𝗖. With 𝘁𝗿𝗮𝗱𝗶𝘁𝗶𝗼𝗻𝗮𝗹 𝗦𝗗𝗟𝗖 (𝗪𝗮𝘁𝗲𝗿𝗳𝗮𝗹𝗹), work moves through sequential phases, with planning done upfront and testing before release. This provides structure, but makes adapting to changing requirements difficult. Whereas with 𝗺𝗼𝗱𝗲𝗿𝗻 𝗦𝗗𝗟𝗖 (𝗔𝗴𝗶𝗹𝗲 + 𝗗𝗲𝘃𝗢𝗽𝘀), teams work in shorter iterations, continuously deliver updates, and respond to feedback faster. It's more flexible, but humans still handle most of the execution. Now, with 𝗮𝗴𝗲𝗻𝘁𝗶𝗰 𝗦𝗗𝗟𝗖 (𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀), agents can take on planning, coding, testing, and debugging, while humans shift toward setting goals, providing context, and reviewing outcomes. The key difference is how work gets done, and how much of it can be automated. But faster execution doesn't automatically mean faster delivery. According to Atlassian's 2026 State of DevEx report, 𝟴𝟳% of developers say AI helps them ship faster, yet 𝗼𝗻𝗹𝘆 𝟮𝟴% report less organizational friction. Developers still spend time finding information, context switching, and reviewing AI-generated work. This is why an AI-native SDLC requires more than AI coding tools. Teams need to rethink how requirements, context, collaboration, and validation work together. Atlassian's research explores this gap between individual productivity and team-wide efficiency, and what it takes to make AI useful across the entire development lifecycle. 𝗥𝗲𝗮𝗱 𝘁𝗵𝗲 𝗳𝘂𝗹𝗹 𝗿𝗲𝗽𝗼𝗿𝘁 → lucode.co/state-of-devex-rep… What else would you add? —— ♻️ Repost to help others learn SDLC. 🙏 Thanks to @Atlassian for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
7
20
1
136
11,001
Level Up Coding retweeted
𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗦𝗗𝗟𝗖 𝘃𝘀 𝗠𝗼𝗱𝗲𝗿𝗻 𝗦𝗗𝗟𝗖 𝘃𝘀 𝗧𝗿𝗮𝗱𝗶𝘁𝗶𝗼𝗻𝗮𝗹 𝗦𝗗𝗟𝗖. With 𝘁𝗿𝗮𝗱𝗶𝘁𝗶𝗼𝗻𝗮𝗹 𝗦𝗗𝗟𝗖 (𝗪𝗮𝘁𝗲𝗿𝗳𝗮𝗹𝗹), work moves through sequential phases, with planning done upfront and testing before release. This provides structure, but makes adapting to changing requirements difficult. Whereas with 𝗺𝗼𝗱𝗲𝗿𝗻 𝗦𝗗𝗟𝗖 (𝗔𝗴𝗶𝗹𝗲 + 𝗗𝗲𝘃𝗢𝗽𝘀), teams work in shorter iterations, continuously deliver updates, and respond to feedback faster. It's more flexible, but humans still handle most of the execution. Now, with 𝗮𝗴𝗲𝗻𝘁𝗶𝗰 𝗦𝗗𝗟𝗖 (𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀), agents can take on planning, coding, testing, and debugging, while humans shift toward setting goals, providing context, and reviewing outcomes. The key difference is how work gets done, and how much of it can be automated. But faster execution doesn't automatically mean faster delivery. According to Atlassian's 2026 State of DevEx report, 𝟴𝟳% of developers say AI helps them ship faster, yet 𝗼𝗻𝗹𝘆 𝟮𝟴% report less organizational friction. Developers still spend time finding information, context switching, and reviewing AI-generated work. This is why an AI-native SDLC requires more than AI coding tools. Teams need to rethink how requirements, context, collaboration, and validation work together. Atlassian's research explores this gap between individual productivity and team-wide efficiency, and what it takes to make AI useful across the entire development lifecycle. 𝗥𝗲𝗮𝗱 𝘁𝗵𝗲 𝗳𝘂𝗹𝗹 𝗿𝗲𝗽𝗼𝗿𝘁 → lucode.co/state-of-devex-rep… What else would you add? —— ♻️ Repost to help others learn SDLC. 🙏 Thanks to @Atlassian for sponsoring this post. ➕ Follow me ( Nikki Siapno ) to improve at AI and system design.
13
26
2
136
11,431