개발자와 회의를 하다 보면 낯선 단어가 쏟아집니다. "이건 프론트에서 처리할게요", "백엔드 배포 끝나면 알려주세요" 같은 말이죠. 분명 한국말인데, 왜 이렇게 어렵게 들릴까요?
무슨 뜻인지 몰라 고개만 끄덕인 적, 한 번쯤 있지 않으셨나요? 검색을 해봐도 설명이 더 어려워지는 경우가 많습니다. 어려운 말을 또 다른 어려운 말로 풀어 놓으니까요.
그래서 오늘은 개발자와 대화할 때 가장 자주 등장하는 용어 여섯 개를 골랐습니다. 어려운 정의는 잠시 접어 두고, 우리 동네 식당에 빗대어 하나씩 풀어 드릴게요. 다 읽고 나면 개발자의 말이 조금은 편하게 들릴 겁니다.
1. 프론트엔드 (Front-end)
프론트엔드(Front-end)는 우리 눈에 보이는 화면이에요. 식당으로 치면 손님이 앉는 '홀'이자 인테리어죠.
프론트엔드는 웹사이트나 앱에서 사용자가 직접 보고 누르는 부분을 말합니다. 버튼, 글자, 색깔, 사진처럼 화면에 나타나는 모든 것이 여기에 속해요. 우리가 예쁘다, 쓰기 편하다고 느끼는 감정은 대부분 프론트엔드가 만들어 냅니다.
이럴 때 써요: "이 버튼 색깔은 프론트엔드에서 바꾸면 되겠네요."
2. 백엔드 (Back-end)
백엔드(Back-end)는 화면 뒤에서 일하는 부분입니다. 식당의 '주방'처럼, 손님 눈엔 안 보여도 진짜 요리는 여기서 하죠.
백엔드는 사용자에게 보이지 않는 곳에서 데이터를 처리하고 저장하는 부분을 말합니다. 로그인할 때 비밀번호가 맞는지 확인하거나, 주문 내역을 기록하는 일이 모두 백엔드의 몫이에요. 화면은 멀쩡한데 결제가 안 된다면? 백엔드를 의심해 보세요.
이럴 때 써요: "결제가 자꾸 실패해요. 백엔드 쪽을 확인해 주세요."
3. API (Application Programming Interface)
API는 프로그램끼리 정보를 주고받는 창구예요. 식당의 '메뉴판'처럼, 정해진 방식으로 주문하면 원하는 걸 받을 수 있죠.
API(에이피아이)는 두 프로그램이 서로 대화하도록 이어 주는 약속입니다. 날씨 앱이 기상청 정보를 가져오거나, 쇼핑몰이 카드사와 결제를 주고받는 일이 모두 API 덕분이에요. 메뉴판에 적힌 대로 주문하면 정해진 음식이 나오듯, 정해진 형식으로 요청하면 정해진 답이 돌아옵니다.
이럴 때 써요: "지도 기능은 우리가 직접 안 만들고 API로 불러오면 돼요."
4. 데이터베이스 (Database)
데이터베이스(Database), 줄여서 DB는 정보를 차곡차곡 쌓아 두는 창고입니다. 필요할 때 바로 꺼내 쓰도록 정리돼 있죠.
데이터베이스는 회원 정보, 주문 기록, 게시글처럼 서비스에 필요한 데이터를 한곳에 모아 둔 저장소입니다. 그냥 쌓아 두는 게 아니라, 원하는 정보를 빠르게 찾도록 정리해 둔다는 점이 핵심이에요. 창고가 뒤죽박죽이면 물건 하나 찾기가 얼마나 힘들까요? (창고 정리, 생각보다 어렵습니다.)
이럴 때 써요: "이번 달 가입한 회원 수는 DB에서 확인할 수 있어요."
5. 배포 (Deployment)
배포(Deployment)는 다 만든 서비스를 세상에 내놓는 일입니다. 가게로 치면 드디어 '개점'하는 순간이죠.
배포는 개발자가 자기 컴퓨터에서 만든 프로그램을, 실제 사용자가 쓸 수 있는 곳(서버)에 올리는 과정을 말합니다. 배포를 해야 비로소 사람들이 새 기능을 쓸 수 있어요. 그래서 개발팀에서 "배포 나갑니다"라는 말은 "이제 진짜 문을 엽니다"라는 뜻으로 통합니다.
이럴 때 써요: "이번 업데이트는 오늘 밤에 배포될 예정이에요."
6. 디버깅 (Debugging)
디버깅(Debugging)은 프로그램의 오류를 찾아 고치는 일이에요. 어질러진 방을 하나씩 치우는 '청소'와 비슷합니다.
디버깅은 코드에 숨은 잘못, 즉 버그(Bug·'벌레'라는 뜻)를 찾아내 바로잡는 작업입니다. 프로그램이 멈추거나 이상하게 움직일 때, 개발자는 어디가 문제인지 하나씩 뒤져 가며 고쳐요. 버그라는 말은 옛날 컴퓨터 안에 진짜 나방이 끼어 고장 났던 일에서 나왔다고 전해집니다. (컴퓨터에도 벌레가 삽니다.)
이럴 때 써요: "버튼이 한 번만 눌러도 두 번 실행돼요. 디버깅이 필요하겠어요."
자주 묻는 질문
프론트엔드와 백엔드, 한 사람이 다 하기도 하나요?
네, 두 영역을 모두 다루는 개발자를 '풀스택(Full-stack) 개발자'라고 부릅니다. 다만 규모가 큰 서비스에서는 보통 역할을 나눠 맡아요. 화면은 프론트엔드 개발자가, 그 뒤 처리는 백엔드 개발자가 담당하는 식이죠.
API는 개발자만 알아야 하는 용어인가요?
그렇지 않습니다. 기획자나 마케터도 "API로 연동하자"는 말을 자주 듣게 돼요. 뜻만 알아 두어도 회의에서 무엇이 되고 무엇이 어려운지 감을 잡기가 훨씬 쉬워집니다.
배포와 출시는 같은 말인가요?
비슷하지만 살짝 다릅니다. 배포는 프로그램을 서버에 올리는 기술적인 작업이고, 출시는 그렇게 준비된 서비스를 사용자에게 정식으로 선보이는 것을 뜻해요. 배포가 먼저, 출시가 그다음이라고 생각하면 편합니다.
여기까지 개발자와 대화할 때 꼭 필요한 용어 여섯 개를 살펴봤습니다. 이제 "프론트엔드 배포했어요"라는 말이 조금은 편하게 들리시나요? 다음 편에서는 한 걸음 더 들어가, 앱을 만드는 방식(네이티브·웹앱·하이브리드·크로스플랫폼)이 어떻게 다른지 쉽게 정리해 드릴게요. 내 손안의 앱이 어떻게 만들어지는지 궁금했다면 놓치지 마세요.
이 시리즈의 다른 글
참고 출처: MDN 웹 문서 용어 사전
