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
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
10
1
99
6,487
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,110
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
16
81
5,593
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
25
1
105
9,723
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,094
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
17
1
94
8,786
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
62
5,037
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
7,964
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,035
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.
8
89
4
519
33,687
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,475
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
10,916
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,345
Level Up Coding retweeted
๐— ๐—–๐—ฃ ๐˜ƒ๐˜€ ๐—ฆ๐—ธ๐—ถ๐—น๐—น๐˜€. ๐— ๐—–๐—ฃ ๐—ถ๐˜€ ๐˜๐—ต๐—ฒ ๐—ฐ๐—ผ๐—ป๐—ป๐—ฒ๐—ฐ๐˜๐—ถ๐—ผ๐—ป ๐—น๐—ฎ๐˜†๐—ฒ๐—ฟ. It gives AI systems a standard way to connect to external systems and capabilities. MCP servers expose tools that the model can discover and invoke, whether thatโ€™s querying a database, calling an API, or taking action in another system. Instead of building one-off integrations, MCP gives agents a consistent interface for accessing those capabilities. ๐—ฆ๐—ธ๐—ถ๐—น๐—น๐˜€ ๐—ฎ๐—ฟ๐—ฒ ๐—ฟ๐—ฒ๐˜‚๐˜€๐—ฎ๐—ฏ๐—น๐—ฒ ๐—ฝ๐—น๐—ฎ๐˜†๐—ฏ๐—ผ๐—ผ๐—ธ๐˜€ for how an agent should perform a task. A Skill packages instructions in a SKILL. md file, alongside optional scripts, references, and other resources. Rather than adding another service or integration, Skills run within the agentโ€™s existing environment and give it task-specific procedures, conventions, and know-how it can load when needed. MCP gives agents reach. Skills give them know-how. Together, theyโ€™re part of a broader shift toward AI taking a more active role in engineering work. But building capable AI systems involves more than connecting tools and defining instructions. Developers also need to understand how to work with data, implement retrieval, give AI models the right context, and more. MongoDB's AI Learning Hub helps you build these skills through free, self-paced learning tracks, hands-on tutorials, and practical resources ๐—ฆ๐˜๐—ฎ๐—ฟ๐˜ ๐—น๐—ฒ๐—ฎ๐—ฟ๐—ป๐—ถ๐—ป๐—ด ๐—ณ๐—ผ๐—ฟ ๐—ณ๐—ฟ๐—ฒ๐—ฒ โ†’ lucode.co/ai-learning-hub-moโ€ฆ Start building AI apps with MongoDB Atlas โ†’ lucode.co/mongodb-atlas-z75xโ€ฆ What else would you add? โ€”โ€” โ™ป๏ธ Repost to help others learn AI. ๐Ÿ™ Thanks to @MongoDB for sponsoring this post. โž• Follow me ( Nikki Siapno ) to improve at AI and system design.
21
105
3
674
28,656
Level Up Coding retweeted
API Gateway vs Load Balancer vs Reverse Proxy.
8
47
313
13,888
Level Up Coding retweeted
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.
๐Ÿค Paid partnership
1
3
1
8
6,292
Level Up Coding retweeted
๐—–๐—œ/๐—–๐—— ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ๐˜€ ๐—–๐—น๐—ฒ๐—ฎ๐—ฟ๐—น๐˜† ๐—˜๐˜…๐—ฝ๐—น๐—ฎ๐—ถ๐—ป๐—ฒ๐—ฑ. CI/CD pipelines automate the path from code change to production. A typical pipeline connects: โ†’ Source control โ†’ Automated testing โ†’ Artifact creation โ†’ Security scanning โ†’ Deployment The goal is simple: catch problems earlier and make releases repeatable. But automating deployment creates another problem: the pipeline still needs permission to access your infrastructure. It may need to push a container image, deploy to Kubernetes, access a database, or modify cloud resources. One option is to give the pipeline a long-lived credential. But that means another secret to store, rotate, and protect. Workload identity takes a different approach. Instead of storing a permanent secret, the workload proves its identity and receives short-lived access when it needs it. Teleportโ€™s Machine & Workload Identity applies this model to CI/CD jobs, AI agents, and other automated workloads accessing infrastructure. CI/CD controls how code moves through the deployment process. Workload identity controls what that automation is allowed to access. ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป ๐—บ๐—ผ๐—ฟ๐—ฒ ๐—ต๐—ฒ๐—ฟ๐—ฒ โ†’ lucode.co/machine-workload-iโ€ฆ What else would you add? โ€”โ€” โ™ป๏ธ Repost to help others learn system design. ๐Ÿ™ Thanks to @goteleport for sponsoring this post. โž• Follow me ( Nikki Siapno ) to improve at system design.
Things Every Developer Should Know: CI/CD Pipelines. CI/CD pipelines automate the path from code change to production. A typical pipeline connects: โ†’ Source control โ†’ Automated testing โ†’ Artifact creation โ†’ Security scanning โ†’ Deployment The goal is simple: catch problems earlier and make releases repeatable. But automating deployment creates another problem: the pipeline still needs permission to access your infrastructure. It may need to push a container image, deploy to Kubernetes, access a database, or modify cloud resources. One option is to give the pipeline a long-lived credential. But that means another secret to store, rotate, and protect. Workload identity takes a different approach. Instead of storing a permanent secret, the workload proves its identity and receives short-lived access when it needs it. Teleportโ€™s Machine & Workload Identity applies this model to CI/CD jobs, AI agents, and other automated workloads accessing infrastructure. CI/CD controls how code moves through the deployment process. Workload identity controls what that automation is allowed to access. ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป ๐—บ๐—ผ๐—ฟ๐—ฒ ๐—ต๐—ฒ๐—ฟ๐—ฒ โ†’ lucode.co/machine-workload-iโ€ฆ What else would you add? โ€”โ€” โ™ป๏ธ Repost to help others learn system design. ๐Ÿ™ Thanks to @goteleport for sponsoring this post. โž• Follow me ( Nikki Siapno ) to improve at system design.
3
15
80
5,077
Level Up Coding retweeted
๐— ๐—–๐—ฃ ๐˜ƒ๐˜€ ๐—”๐—ฃ๐—œ ๐˜ƒ๐˜€ ๐—ฆ๐—ธ๐—ถ๐—น๐—น๐˜€. An ๐—”๐—ฃ๐—œ defines how software systems communicate through specific endpoints, requests, and responses. It gives applications a structured way to access data or trigger functionality in another system. ๐— ๐—–๐—ฃ (Model Context Protocol) standardizes how AI applications discover and interact with external tools, data, and resources. Instead of building custom integrations for every AI client, MCP servers expose capabilities through a common protocol that agents can use. ๐—ฆ๐—ธ๐—ถ๐—น๐—น๐˜€ package reusable instructions, workflows, and resources that guide agents through specific tasks. Rather than providing new connections to external systems, they give agents task-specific procedures and know-how they can load when needed. Together, they help agents connect to systems and use those capabilities to complete tasks. But building all these integrations and workflows from scratch takes time. Precisely AI Studio helps builders build faster with ๐—ฟ๐—ฒ๐—ฎ๐—ฑ๐˜†-๐—บ๐—ฎ๐—ฑ๐—ฒ ๐—”๐—œ ๐—ฎ๐—ด๐—ฒ๐—ป๐˜๐˜€, ๐—ฎ๐—ฝ๐—ฝ๐˜€, ๐—ฎ๐—ป๐—ฑ ๐˜€๐—ธ๐—ถ๐—น๐—น๐˜€ ๐—ฐ๐—ผ๐—ป๐—ป๐—ฒ๐—ฐ๐˜๐—ฒ๐—ฑ ๐˜๐—ต๐—ฟ๐—ผ๐˜‚๐—ด๐—ต ๐— ๐—–๐—ฃ. Builders can explore and test them using sample data, then bring agents and skills into their existing AI stack. Explore Precisely AI Studio โ†’ lucode.co/precisely-ai-studiโ€ฆ What else would you add? โ€”โ€” โ™ป๏ธ Repost to help other learn AI. ๐Ÿ™ Thanks to @PreciselyData for sponsoring this post. โž• Follow me ( Nikki Siapno ) to improve at AI and system design.
42
224
5
1,292
60,255
Level Up Coding retweeted
Things Every Developer Should Know: CI/CD Pipelines. CI/CD pipelines automate the path from code change to production. A typical pipeline connects: โ†’ Source control โ†’ Automated testing โ†’ Artifact creation โ†’ Security scanning โ†’ Deployment The goal is simple: catch problems earlier and make releases repeatable. But automating deployment creates another problem: the pipeline still needs permission to access your infrastructure. It may need to push a container image, deploy to Kubernetes, access a database, or modify cloud resources. One option is to give the pipeline a long-lived credential. But that means another secret to store, rotate, and protect. Workload identity takes a different approach. Instead of storing a permanent secret, the workload proves its identity and receives short-lived access when it needs it. Teleportโ€™s Machine & Workload Identity applies this model to CI/CD jobs, AI agents, and other automated workloads accessing infrastructure. CI/CD controls how code moves through the deployment process. Workload identity controls what that automation is allowed to access. ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป ๐—บ๐—ผ๐—ฟ๐—ฒ ๐—ต๐—ฒ๐—ฟ๐—ฒ โ†’ lucode.co/machine-workload-iโ€ฆ What else would you add? โ€”โ€” โ™ป๏ธ Repost to help others learn system design. ๐Ÿ™ Thanks to @goteleport for sponsoring this post. โž• Follow me ( Nikki Siapno ) to improve at system design.
1
7
2
62
8,345
Level Up Coding retweeted
Top 12 API Security Best Practices: โ€ข Add rate limiting and throttling โ€ข Monitor and log activity โ€ข Use an API gateway โ€ข Encrypt data at rest โ€ข Validate all inputs โ€ข Version your APIs โ€ข Whitelist allowed clients โ€ข Use HTTPS โ€ข Enforce authentication โ€ข Enforce authorization โ€ข Manage dependencies proactively โ€ข Run regular security audits This list is not exhaustive, there are plenty more: API key/token lifecycle management, secret rotation, principle of least privilege, etc. If you want to dive deeper, I'm releasing some deep dive articles on API design in my newsletter over the next two months. What else would you add? โ€”โ€” ๐Ÿ“Œ PS: One of the most important skills for an engineer is system design. Download my ๐Ÿฎ๐Ÿญ๐Ÿด ๐—ฝ๐—ฎ๐—ด๐—ฒ ๐—ฆ๐˜†๐˜€๐˜๐—ฒ๐—บ ๐——๐—ฒ๐˜€๐—ถ๐—ด๐—ป ๐—›๐—ฎ๐—ป๐—ฑ๐—ฏ๐—ผ๐—ผ๐—ธ for free and join 35,000+ engineers who get my free weekly newsletter โ†’ lucode.co/system-design-handโ€ฆ โ€”โ€” โ™ป๏ธ Repost to help others learn API security. โž• Follow me ( @NikkiSiapno ) to improve at system design.
๐—›๐—ง๐—ง๐—ฃ, ๐—›๐—ง๐—ง๐—ฃ ๐Ÿฎ, ๐—›๐—ง๐—ง๐—ฃ ๐Ÿฏ: ๐——๐—ผ ๐˜†๐—ผ๐˜‚ ๐—ธ๐—ป๐—ผ๐˜„ ๐˜๐—ต๐—ฒ ๐—ฑ๐—ถ๐—ณ๐—ณ๐—ฒ๐—ฟ๐—ฒ๐—ป๐—ฐ๐—ฒ๐˜€? HTTP now powers complex modern applications, but it started as a simple protocol for retrieving documents. ๐—›๐—ง๐—ง๐—ฃ/๐Ÿฌ.๐Ÿต only supported a single GET request with no headers or status codes; just raw HTML from the server. It was simple and fast, but lacked structure and scalability. ๐—›๐—ง๐—ง๐—ฃ/๐Ÿญ.๐Ÿฌ introduced headers, status codes, and content types, making the web more structured and extensible, but required a new TCP connection for every request, which didnโ€™t scale well. ๐—›๐—ง๐—ง๐—ฃ/๐Ÿญ.๐Ÿญ added persistent connections, caching, and chunked transfer, making web interactions more efficient, but still suffered from head-of-line blocking and connection overhead at scale. ๐—›๐—ง๐—ง๐—ฃ๐—ฆ is HTTP layered over TLS, providing encryption, integrity, and authentication, securing communication over the internet, but adds handshake overhead and operational complexity. ๐—›๐—ง๐—ง๐—ฃ/๐Ÿฎ introduced multiplexing, binary framing, and header compression, allowing multiple requests over a single connection, improving performance, but still relies on TCP and suffers from transport-level blocking. ๐—›๐—ง๐—ง๐—ฃ/๐Ÿฏ runs over QUIC (UDP) with built-in TLS 1.3, enabling independent streams, faster handshakes, and reduced latency, but introduces more complexity in infrastructure and network handling. From per-request connections โ†’ to multiplexing over TCP โ†’ to QUIC and independent streams. Thatโ€™s the evolution of HTTP. ๐Ÿ“Œ If you want to learn more, dive deeper here: lucode.co/evolution-of-http-โ€ฆ What else would you add?
11
29
2
119
5,972