개발 용어사전 — 꼭 알아야 할 30개

입사 첫 주, 두근거리는 마음으로 스프린트 기획 회의에 들어갔더니 선배들이 "이번 스프린트에서는 멱등성을 보장하도록 결제 API를 리팩토링하고, CI/CD 파이프라인에 카나리 배포를 태워 APM 센트리 에러율을 모니터링합시다"라고 쉼 없이 이야기합니다. 마치 외계어처럼 들리는 이 단어들 앞에서 주니어는 위축되기 마련입니다.

엔지니어링 온보딩 연구 통계 (출처: 소프트웨어정책연구소 SPRi & DORA)

실무에서 매일 쓰이는 핵심 개발 용어 30가지를 단순 사전식 정의를 넘어 '실무 배경', '발생 가능한 문제', '실제 코드/시스템 적용 예시'와 함께 완벽하게 해설해 드립니다.

실전 사례 시나리오: 비전공 신입 프론트엔드 조수아 씨(25세)의 용어 정복기

부트캠프 수료 후 모빌리티 스타트업에 입사한 조수아 씨는 백엔드 팀과의 API 연동 회의에서 "CORS Preflight", "Rate Limiting", "JWT 만료 처리"라는 단어가 나올 때마다 제대로 이해하지 못해 엉뚱한 코드를 짜서 3일간 삽질을 반복했습니다.

수아 씨는 용어를 단순 암기하는 대신 '이 기술이 왜 생겼고 어떤 장애를 막아주는가?'를 중심으로 학습 노트를 정리했습니다. 이후 백엔드 팀과의 회의에서 "이 결제 API는 네트워크 순단 시 중복 결제를 막기 위해 멱등성 키(Idempotency-Key) 헤더를 전달하는 구조가 맞을까요?"라고 정확히 질문하여 백엔드 시니어로부터 "도메인과 아키텍처 이해도가 매우 높은 프론트엔드 개발자"라는 특급 칭찬을 받았습니다.

1. 아키텍처 및 소프트웨어 공학 기초 (1~8)

1. CI/CD (Continuous Integration / Continuous Deployment) DevOps
개발자가 작성한 코드를 깃허브에 푸시하면 자동으로 빌드와 테스트를 수행하여 통합(CI)하고, 통과된 안전한 아티팩트를 프로덕션 서버에 무중단으로 자동 배포(CD)하는 파이프라인 자동화 체계입니다.
실무 예: GitHub Actions에서 PR 생성 시 자동으로 ESLint와 Jest 유닛 테스트를 돌려 빌드 에러를 사전에 차단.
2. 멱등성 (Idempotency) Architecture
동일한 연산이나 요청을 한 번 실행하든 수백 번을 연속해서 실행하든 서버의 상태와 결과가 항상 같게 유지되는 성질입니다. 네트워크 지연으로 인한 재시도(Retry) 시 중복 결제나 중복 데이터 생성을 막는 핵심 원칙입니다.
실무 예: GET, PUT, DELETE는 멱등하지만, 일반적인 POST(주문 결제)는 멱등하지 않으므로 고유한 Idempotency-Key 헤더를 통해 중복 결제를 방어함.
3. 기술 부채 (Technical Debt) Engineering
당장의 빠른 기능 출시를 위해 임시방편(하드코딩, 주먹구구식 복사 붙여넣기, 테스트 코드 누락)으로 구현한 코드가 미래에 기능 추가와 유지보수를 가로막으며 발생하는 엔지니어링 이자 비용입니다.
4. 리팩토링 (Refactoring) Clean Code
외부로 드러나는 프로그램의 동작(기능)은 100% 동일하게 유지하면서, 내부 코드의 가독성, 모듈성, 유지보수성, 확장성을 개선하는 코드 정리 작업입니다. 반드시 통과하는 테스트 코드가 갖춰진 상태에서 진행해야 안전합니다.
5. 레거시 코드 (Legacy Code) Maintenance
단순히 오래된 코드를 뜻하는 것이 아니라, 테스트 코드가 없어서 수정했을 때 어디가 고장 날지 예측하기 두려운 코드를 의미합니다.
6. ORM (Object-Relational Mapping) Database
SQL 쿼리를 직접 작성하지 않고, 프로그래밍 언어의 객체(Class/Object)와 관계형 데이터베이스의 테이블을 자동으로 매핑하여 데이터를 다룰 수 있게 돕는 프레임워크입니다. (예: JPA/Hibernate, Prisma, TypeORM).
7. 마이크로서비스 아키텍처 (MSA) Architecture
하나의 거대한 단일 애플리케이션(Monolith)을 독립적으로 배포 및 확장이 가능한 작은 도메인별 서비스(회원, 주문, 결제, 정산 등) 단위로 쪼개어 REST API나 gRPC로 통신하는 아키텍처입니다.
8. 비동기 논블로킹 (Async Non-Blocking) Core
작업을 요청한 후 결과가 올 때까지 현재 스레드가 대기(블로킹)하지 않고 즉시 다음 코드를 실행하며, 작업이 완료되면 이벤트 루프나 콜백으로 결과를 전달받는 고효율 동시성 처리 방식입니다. (Node.js, Netty 등).

2. 웹 네트워크 & 통신 보안 (9~16)

9. CORS (Cross-Origin Resource Sharing) Web/Security
브라우저의 동일 출처 정책(SOP)에 의해 다른 도메인/포트/프로토콜 간의 리소스 요청이 차단되는 보안 표준입니다. 서버 측에서 Access-Control-Allow-Origin 헤더를 명시적으로 내려주어야 브라우저가 응답을 허용합니다.
10. Preflight (프리플라이트 요청) Network
브라우저가 실제 요청(POST, PUT 등)을 보내기 전, OPTIONS 메서드를 사용해 서버가 해당 출처와 커스텀 헤더를 안전하게 지원하는지 사전에 확인하는 예비 통신입니다.
11. DNS (Domain Name System) Network
사람이 기억하기 쉬운 문자 도메인 이름(juniors-night.pomyjo.com)을 컴퓨터가 통신할 수 있는 숫자 IP 주소(172.67.182.10)로 변환해 주는 글로벌 분산 전화번호부 시스템입니다.
12. 로드 밸런서 (Load Balancer) Infra
수많은 사용자의 트래픽이 폭주할 때 여러 대의 백엔드 서버로 네트워크 부하를 라운드로빈(Round Robin)이나 최소 연결 방식으로 골고루 분산해 주는 교통정리 시스템입니다. (AWS ALB, Nginx).
13. 캐싱 (Caching / Redis) Performance
자주 조회되는 무거운 DB 쿼리 결과나 계산 결과를 디스크가 아닌 초고속 인메모리(RAM)에 임시 저장하여 밀리초(ms) 단위로 응답 속도를 극대화하고 DB 부하를 덜어주는 기법입니다.
14. 웹소켓 (WebSocket) Network
단방향 요청-응답 구조인 일반 HTTP와 달리, 클라이언트와 서버가 한 번 TCP 핸드셰이크를 맺으면 연결을 끊지 않고 양방향으로 실시간 데이터를 즉각 주고받는 프로토콜입니다. (실시간 채팅, 주식 시세, 멀티플레이 게임).
15. JWT (JSON Web Token) Auth
사용자의 인증/인가 정보를 비밀키로 암호학적 서명(Signature)하여 JSON 형태로 클라이언트가 보관하는 무상태(Stateless) 토큰입니다. 서버가 세션 저장소를 별도로 조회하지 않고 토큰 자체의 유효성만 검증합니다.
16. Rate Limiting (처리율 제한) Security
특정 악성 유저나 IP가 초당 수천 번의 API 요청을 보내 서버를 마비시키는 것을 방지하기 위해 초당 요청 횟수를 제한(예: 1초당 최대 10회)하고 초과 시 429 Too Many Requests를 반환하는 방어 기법입니다.

3. Git & 실무 협업 (17~23)

17. PR / MR (Pull Request / Merge Request) Git
내가 작업한 피처 브랜치의 변경 사항을 메인 코드베이스에 병합해 달라고 팀원들에게 공식적으로 코드리뷰를 요청하는 협업 행위입니다.
18. Rebase vs Merge Git
브랜치 병합 시 커밋 히스토리를 깔끔하게 한 줄로 재정렬하는 git rebase와, 병합 커밋(Merge Commit)을 남겨 분기 및 통합 이력을 보존하는 git merge의 차이입니다.
19. Cherry-pick (체리픽) Git
다른 브랜치에 있는 수십 개의 커밋 중 내가 현재 브랜치에 꼭 필요한 특정 커밋 1~2개만 쏙 뽑아와서 적용하는 Git 명령어입니다. (git cherry-pick <commit-hash>).
20. Git Stash (임시 저장) Git
아직 커밋하기에는 미완성인 코드 작업 내역을 임시 스택 영역에 안전하게 숨겨두고, 깨끗한 워킹 디렉토리로 돌아가 긴급 핫픽스 등을 처리할 수 있게 돕는 기능입니다.
21. Git Hook & Husky Tooling
커밋(commit)이나 푸시(push) 이벤트가 발생하기 직전에 자동으로 린트 검사나 테스트 스크립트를 실행하여 컨벤션에 맞지 않는 코드가 원격 저장소에 올라가는 것을 강제로 차단하는 자동화 도구입니다.
22. Merge Conflict (충돌) Git
동일한 파일의 같은 라인을 두 명의 개발자가 서로 다르게 수정하여 머지할 때 Git이 자동으로 판단하지 못하고 개발자에게 수동 해결을 요구하는 상태입니다.
23. 스프린트 (Sprint & Daily Scrum) Agile
보통 1~2주 단위로 목표 기능을 계획, 개발, 테스트, 배포하는 애자일 개발 주기이며, 데일리 스크럼은 매일 아침 10분간 '어제 한 일, 오늘 할 일, 현재 마주한 장애물(Blocker)'을 빠르게 공유하는 스탠드업 미팅입니다.

4. 인프라, 운영 & 데이터베이스 (24~30)

24. 온콜 (On-call) Operations
서비스 운영 중 야간, 주말, 공휴일에 심각한 장애 알람이 발생했을 때 즉각 호출되어 서버 로그를 분석하고 롤백이나 핫픽스를 수행하는 당번 엔지니어 역할입니다.
25. 핫픽스 (Hotfix) & 롤백 (Rollback) Operations
운영 환경에서 치명적인 결함이 발견되었을 때 정규 배포 일정과 무관하게 긴급 패치하는 핫픽스와, 배포 직후 장애 발생 시 즉시 이전의 정상 배포 버전으로 되돌리는 롤백입니다.
26. SLA (Service Level Agreement) / SLO SRE
서비스 가동률(예: 연간 99.99% 업타임 보장)과 API 응답 속도에 대해 고객 또는 팀 내부적으로 약속한 공식적인 서비스 수준 목표입니다.
27. APM & 에러 모니터링 (Sentry, Datadog) Monitoring
실제 유저 브라우저나 백엔드 서버에서 발생하는 런타임 에러(Call Stack), CPU/메모리 사용률, 슬로우 쿼리를 실시간으로 감시하고 슬랙으로 알림을 쏴주는 애플리케이션 성능 모니터링 시스템입니다.
28. 카나리 배포 (Canary Deployment) Deployment
광산의 위험을 미리 알리던 카나리아 새처럼, 신규 배포 버전을 전체 유저 중 5~10%에게만 먼저 라우팅하여 에러율을 관찰한 뒤 안전성이 검증되면 점진적으로 100% 확대하는 무중단 배포 기법입니다.
29. 도커 컨테이너 (Docker Container) Infra
애플리케이션과 실행에 필요한 모든 환경(OS 라이브러리, 의존성, 런타임)을 하나의 이미지로 패키징하여, "내 로컬 노트북에서는 잘 돌아가는데 운영 서버에서는 왜 안 되지?"라는 환경 불일치 문제를 원천 해결하는 경량 가상화 기술입니다.
30. 데이터베이스 인덱스 튜닝 (DB Indexing) Database
수천만 건의 대용량 테이블에서 풀 테이블 스캔(Full Table Scan)을 방지하고 B-Tree 색인을 통해 초고속으로 데이터를 검색할 수 있도록 복합 인덱스를 설계하고 EXPLAIN 실행 계획을 분석해 슬로우 쿼리를 개선하는 작업입니다.
실무 개발 용어 이해도 3단계 자가점검 체크리스트
[Level 1: 개념 이해] 위 30개 용어의 기본 정의와 약어의 의미를 남에게 설명할 수 있는가?
[Level 2: 트레이드오프] 각 기술이 해결하려는 문제와 도입 시 감수해야 할 단점(비용)을 알고 있는가?
[Level 3: 실무 적용] 우리 팀의 코드베이스와 CI/CD 배포 파이프라인에서 이 개념들이 어떻게 쓰이는지 확인했는가?

자주 묻는 질문 (FAQ)

Q1. 회의 중 모르는 용어가 쏟아질 때 그 자리에서 어떻게 대처해야 하나요?
용어를 모른다고 주눅 들지 마세요. 회의 중에는 메모장에 단어를 빠르게 적어두고, 회의가 끝난 직후 공식 문서를 검색해 1차로 파악하세요. 그래도 사내 비즈니스 맥락과 연결이 안 된다면 사수에게 "아까 회의에서 나온 OOO 용어가 저희 프로젝트에서는 어떤 모듈을 가리키는 것인가요?"라고 짧게 묻는 것이 가장 똑똑한 대처법입니다.
Q2. 프론트엔드 주니어 개발자인데 백엔드/인프라 용어(MSA, 인덱싱, 카나리 배포)까지 알아야 하나요?
반드시 알아야 합니다! 현대 웹 애플리케이션 개발은 프론트엔드와 백엔드의 경계가 점점 융합되고 있습니다. 백엔드의 DB 인덱스 구조와 캐싱 정책을 이해하는 프론트엔드 개발자는 불필요한 API 중복 호출을 막고 렌더링 최적화를 훨씬 정교하게 설계할 수 있어 팀 내에서 대체 불가능한 인재로 인정받습니다.
Q3. 용어의 사전적 의미는 아는데 실제 코드와 어떻게 연결되는지 감이 안 올 때는 어떻게 공부하나요?
개념을 직접 깨뜨려보는 '에러 재현 실습'을 추천합니다. 예를 들어 CORS를 공부할 때는 Express 서버와 React 로컬 포트를 다르게 띄워 콘솔에 빨간 CORS 에러를 직접 발생시켜보고 프록시와 헤더 설정을 적용해 보세요. 멱등성을 공부할 때는 같은 결제 API를 비동기로 2번 연속 호출하여 중복 데이터가 들어가는 현상을 직접 목격해야 진짜 실무 근육이 됩니다.
참고 문헌 및 공식 자료 출처
안내 및 면책 조항
본 용어사전은 주니어 개발자의 실무 적응과 소프트웨어 공학 이해를 돕기 위해 작성된 전문 가이드입니다. 새로운 기술 학습과 업무 적응 과정에서의 심한 스트레스로 마음의 도움이 필요하시다면 언제든 전문 상담기관에 문의하세요.
보건복지부 자살예방 상담전화: 국번없이 109 (24시간 운영)
정신건강 위기상담전화: 1577-0199