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_)
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,738
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,050
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,575
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