인셔셔RSS 관심 있는 블로그, 뉴스, 기술 정보를 효율적으로 추적하고 읽으세요
원문 읽기 InertiaRSS에서 열기

추천 피드

小众软件
小众软件
博客园 - 叶小钗
有赞技术团队
有赞技术团队
大猫的无限游戏
大猫的无限游戏
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
T
Tailwind CSS Blog
Jina AI
Jina AI
量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
V
Visual Studio Blog
月光博客
月光博客

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python)
지금 어떻게 구축해야 할까요
Damola Adegb · 2026-05-28 · via DEV Community

거리에서 음식을 팔고 있는 여자가 있습니다. 두 해가 지났습니다. 그녀는 재고를 채우고 공급자에게 돈을 치르며 자녀들을 먹이고 다음 날에 나타납니다. 부유하지도 궁핍하지도 않습니다. 움직이고 있습니다.

누군가는 그녀에게 올바른 시스템이 필요하다고 말했습니다. 재고 추적. 수요 예측. 충성 고객 프로그램. 그녀의 친구들이 그렇게 하고 있습니다. 그녀는 학교에서 그것에 대해 배웠습니다. 진지한 비즈니스는 이렇게 합니다. 그래서 그녀는 그것을 설정했습니다. 시간과 돈을 쏟아부으면서 올바르게 만듭니다.

여섯 달이 지난 지금도 그녀는 여전히 거리에 있습니다. 시스템은 그녀의 휴대폰에 있지만, 건드리지 않았습니다. 초기 설정 비용 때문에 그녀의 마진은 더 얇아졌습니다. 충성 고객 프로그램으로 유지해야 했던 고객들이 스마트폰을 가지고 있지 않습니다.

그녀는 조심스럽지 않기 때문에 실패하지 않았습니다. 아직 존재하지 않는 그녀의 비즈니스 버전을 위해 만들었고, 실제로 존재하는 비즈니스를 거의 망쳤습니다.


이 함정에 대해 경고하지 않는 이유는 그것이 함정처럼 보이지 않기 때문입니다. 그것은 포부처럼 보이고, 올바르게 일하는 것처럼 보입니다.

그녀는 결코 그것들이 지금 그녀에게 유익한지 여부를 묻지 않았습니다. 표준은 중요한 사업이 이렇게 함을 말했고, 그녀의 친구들은 그렇게 했고, 그녀는 그것을 따랐습니다. 조언은 추상적으로는 잘못되지 않았습니다. 그녀에게는 오늘, 그녀가 가진 것과 함께 잘못되었습니다.


그녀가 결코 질문하지 않은 질문은:

이것이 현재 존재하는 비즈니스를 위해 서비스하는 것인가, 아니면 아직 도래하지 않은 버전을 위해인가요?

그녀의 비즈니스에는 재고 추적이 완전히 논리적인 버전이 있습니다. 스물 명의 공급업체, 세 곳의 위치, 올바른 공급망. 그 버전은 시스템이 필요합니다.

그 버전은 아직 현실이 아닙니다.

현재는 오늘 무엇이 팔렸는지, 내일 재고를 어떻게 해야 하는지, 이번 주에 얼마를 벌었는지 알아야 했다. 노트북이 그 문제를 해결해 준다. 그녀는 시스템이 필요하지 않았다. 오직 한동안 버티기 위해 시스템이 필요한 날까지 살아남아야만 했다.


소프트웨어는 다른 옷을 입은 동일한 문제다.

프로젝트, 마감일, 고객을 받는다. 줄 하나 써기 전에 이미 아키텍처, 표준, 전문적인 모습이 무엇인지에 대해 결정을 내리고 있다. 그중 많은 결정은 자동으로 이루어지며, 당신이 배운 것과 동료들이 하는 일을 기반으로 한다.

DRY. SOLID. 전체 테스트 커버리지. 때로는 정확히 그렇다.

하지만 때로는 30일, 한 개발자, 그리고 클라이언트가 이의 90%를 끝까지 작동하도록 필요로 할 때가 있습니다. 그리고 당신은 세 명의 사람이 당신의 서버를 쳐다볼 때 중요할 수 있는 추상화에 5시간을 들여갑니다. 당신은 300명의 사용자가 있습니다. 그중 절반은 당신의 팀입니다.

그 다섯 시간은 나쁜 코드 때문에 낭비되지 않았습니다. 그들은 아직 존재하지 않는 문제에 소요되었습니다.


이것은 표준에 대한 논거가 아닙니다.

일부 표준은 출시 당일부터 부담을 지는 것입니다. 돈과 관련된 모든 것을 구축하거나, 규제 준수 요구 사항이 있는 모든 것, 잘못된 번호로 인해 누군가의 임대료가 지급되지 않는 모든 것 - 테스트, 감사, 올바른 오류 처리는 선택 사항이 아닙니다. 당신은 특정 시스템에서의 실패 비용 때문에 그들을 따르고, 교과서에 그렇다고 적혀 있기 때문이 아닙니다.

그것이 차이점입니다. 일부 표준은 그것을 뒷받침합니다. 다른 것들은 아직 존재하지 않는 시스템 버전용입니다.

첫 번째 범주는 마감일에 관계없이 움직이지 않습니다. 두 번째는 백로그에 남아 그것에 대해 솔직해야 합니다.


공급업체의 실수는 미래를 고려하지 않았기 때문이 아니라, 현재가 안정되기 전에 그것을 위해 구축했기 때문입니다.

여기서는 연산 순서가 중요합니다.

오늘 이것이 작동할 수 있을까요? 돈을 벌 수 있을까요, 가치를 제공할 수 있을까요, 현재 이것이 지닌 무게를 견디어낼 수 있을까요.

그 다음에는, 다음 버전의 자신을 생존하기 위해 무엇이 필요할까요?

대부분의 사람들은 이렇게 반대합니다. 그들은 버전 1에 실제 사용자가 한 명도 없을 때 버전 3을 설계합니다. 제품은 만든 버전과 나타난 버전 사이의 간극 어딘가에서 죽습니다.


지금 어떤 일을 시작하기 전에 두 가지 질문이 있습니다.

오늘 작동해야 하는 것은 무엇입니까? 규모는 아닙니다. 6개월도 아닙니다. 오늘, 이 사용자들과 이 마감일, 이 팀과 함께.

여기서 실수는 정말로 어떤 비용을 가지는 걸까요? 잘못된 번호 하나가 누군가의 재정과 신뢰를 파괴하는 시스템인 걸까요? 아니면 다음 푸시에서 버그가 수정되고 아무도 잠을 설치지 않는 시스템인 걸까요?

그 답들은 오늘 어떤 기준이 협상할 수 없고 어떤 기준이 연기될 것인지를 나에게 알려줍니다. 연기되는 것이지, 무시되는 것이 아닙니다. 무시하는 것은 잊어버린 것을 의미합니다. 연기하는 것은 의도적으로 결정을 내리고 나중에 그 비용을 알고 있는 것을 의미합니다.

코드는 단순히 현실이 된 답들입니다.


그녀는 여전히 거리에 있습니다. 시스템은 여전히 그녀의 전화기에 있습니다. 어딘가 개발자가 300명의 사용자와 함께 마감일이 불가능해 보이는 코드베이스의 추상화에 6시간을 쏟고 있습니다.

동일한 문제. 잘못된 버전입니다.


저는 백엔드 엔지니어 Damola입니다. 이 시리즈의 나머지 부분은 GitHub에서 찾을 수 있습니다.를 따라주세요. 다음 게시물을 위해 Dev.to을 따라주세요.