본문 바로가기

국문/개념

프론트엔드 개발자와 백엔드 개발자가 뭘까?

Intro

안녕하세요, 서울의 IT 스타트업 씬에서 프로덕트 매니저로 2년차를 지내고 있는 로이라고 합니다.

 

기존에는 노션 아카이빙만 하고 있었는데, 올해 목표 중 하나로 블로그를 운영하기로 했습니다 (짝짝짝). 작성하는 글은 주로 노션에 아카이빙 해 놓은 여러 방법론과 공부한 것, 실무에서의 경험을 토대로 글을 작성할 예정입니다. 사실 이 목표와 관련해서 개인 노션에서 올해의 토이 프로젝트로 잡아 놓은 것도 있는데 이거는 1분기 말에 글을 작성할 생각입니다.

 

첫 글의 주제는 프론트엔드 개발자와 백엔드 개발자의 정의와 차이점으로 정했습니다. 글에 대한 의견, 혹은 정리해주었으면 하는 주제가 있다면 편하게 피드백 주세요.

 

Hope you enjoy it!

웹 개발이란?

웹 개발은 인터넷이나 인트라넷을 위한 웹사이트 개발과 관련된 일을 가리킨다. 웹 개발은 가장 단순한 단일 정적 문서의 플레인 텍스트에서부터 가장 복잡한 웹 기반 인터넷 애플리케이션, 전자 비즈니스, 소셜 네트워크 서비스에 이르기까지 개발 범위가 다양하다. 

 

웹 개발을 이해하기 위해서는 프론트엔드 개발자와 백엔드 개발자의 차이를 먼저 알면 좋다. 웹 개발은 다양한 기술과 전문성을 필요로 하는 복잡한 프로세스다. 웹 개발의 주요 차이점 중 하나는 프론트엔드 개발자와 백엔드 개발자의 관계다. 이 두 유형의 개발자는 서로 다른 역할과 책임(Role and Responsibility)을 가지고 있으며 성공적인 웹사이트 또는 애플리케이션을 구축하기 위해서는 이들 간의 차이점을 이해하는 것이 중요하다.

프론트엔드 개발자란?

프론트엔드 엔지니어는 웹사이트 또는 애플리케이션의 사용자 인터페이스(UI)사용자 경험(UX)을 개발하는 데 전문화되어 있다. 주로 HTML, CSS 및 JavaScript와 같은 기술을 사용하여 웹 사이트 또는 애플리케이션의 시각적 레이아웃, 디자인 및 기능을 만든다. HTML로 레이아웃을 잡고, CSS로 디자인을 입힌 다음 JS로 인터랙션을 구현하는 것이 보편적이다. 이를 통해 웹 사이트 또는 애플리케이션이 다양한 장치 및 화면 크기에 대해 반응하고 액세스할 수 있는지 확인하는 일도 담당 또한 대부분 프론트엔드 개발자의 R&R에 포함된다. 프론트엔드 개발자와 백엔드 개발자는 뗴어낼래야 뗄 수 없는 사이인데, 결국 이 두 직무는 서로 긴밀히 협력하여 애플리케이션의 프론트엔드와 백엔드의 개발 내용이 원활하게 함께 작동하도록 힘을 합친다. 

[Sample image] React in VSCode

백엔드 개발자란?

백엔드 엔지니어는 웹 개발의 서버 측을 전문으로 한다. 이들은 서버측 로직, 데이터베이스 관리 및 API 설계를 담당한다. 실제로 실무에서 백오피스와 프론트 화면을 기획하며 이들과 DB를 어떻게 구성할지, 언제 어떻게 호출을 보낼지 등을 논의하는 경우가 잦다. 나의 경우에는 CPO님과 DB 스키마를 짠 후에, 각 데이터가 어떤 근거로 언제 어떤 테이블에 생성되어야 하는지까지 모두 정의해서 진행을 했었다. 결국 설계한 DB 모델링의 스키마를 보고 API를 만드는 것은 백엔드 개발자가 담당하게 된다.

 

백엔드 개발자는 주로 Java, Python, Ruby 및 PHP와 같은 프로그래밍 언어를 사용하여 애플리케이션의 백엔드를 만들게 된다. 또한 백엔드 개발자는 프론트엔드 엔지니어와 긴밀히 협력하여 애플리케이션의 프론트엔드와 백엔드가 원활하게 함께 작동하도록 하며, 데이터 저장, 보안 및 성능 최적화와 같은 서버 측 기능을 처리하게 된다.

 

혼자 기획했던 사이드 프로젝트에 대해 화면을 기획하며 동시에 DB를 스스로 설계한 적이 있는데, 아래 사진은 그 예시다. 

[Sample image] Workbench the GUI tool for managing DB

결론

결론적으로 성공적인 웹사이트나 애플리케이션을 구축하려면 프론트엔드 개발자와 백엔드 개발자의 차이점을 이해하는 것이 중요하다. (같은 맥락으로 개발자를 꿈꾼다면 어떤 직무를 택할지도) 결국 프론트엔드 및 백엔드 개발자 모두 웹 개발 프로세스에서 중추 역할을 하는 것이 핵심이다.

참고

https://ko.wikipedia.org/wiki/%EC%9B%B9_%EA%B0%9C%EB%B0%9C

 

웹 개발 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 웹 개발(web development)은 인터넷(월드 와이드 웹)이나 인트라넷(사설망)을 위한 웹사이트 개발과 관련된 일을 가리킨다. 웹 개발은 가장 단순한 단일 정적 문서의

ko.wikipedia.org

https://kasper1030.tistory.com/149

 

프론트엔드(Front-end), 백엔드(Back-end, 풀스택(Full Stack) 개발자가 무엇인가?

프로그래밍의 언어는 다양한 종류가 있다. 보통 공학도가 처음 C언어를 접하고, 자신의 진로에 따라, C++, JAVA, 자바스크립트, 파이썬, 웹앱, 안드로이드 등 다양한 언어를 접하고 자신에게 적합한

kasper1030.tistory.com

 

'국문 > 개념' 카테고리의 다른 글

자바스크립트 라이브러리란?  (0) 2023.01.29