프론트엔드와 백엔드의 차이
1. 프론트엔드와 백엔드의 차이
0) 개요
- 웹 개발 역할에는 우리가 보고있는 화면과 같이 눈에 보이는 영역에 대한 업무를 진행하는 역할이 있고, 눈에 보이지 않는 뒷단을 개발하는 역할 이 존재한다.
- 눈에 보이는 영역에 대한 개발을 주로 프론트엔드 개발을 진행한다고 이야기한다.
- 반면, 눈에 보이지 않는 뒷단을 개발하는 행위는 백엔드 개발을 진행한다고 이야기한다.
1) 프론트엔드
- 눈에 보이는 영역에 대한 개발
- 사용자가 눈으로 보는 시각적인 영역을 구축한다. 즉, 버튼, 입력창, 페이지 내 애니메이션 UI 영역
- 주 사용하는 언어 : HTML, CSS, JavaScript, TypeScript
2) 백엔드
- 눈에 보이지 않는 뒷단을 개발
- 프론트엔드로부터 받은 요청에 대한 상세 로직을 처리하고, 사용자가 사용하는 정보들을 저장하고 전달하는 ‘서버’ 를 관리한다.
- 주 사용하는 언어 : Java(특히 Spring), Kotlin, NodeJs, Python(Flask or Django)
2. 백엔드 개발자가 되고자 하는 이유
1) 백엔드 개발을 통해 업무 기반을 먼저 다진 후, 새로운 방향으로의 응용 및 성장
- 본인은 인턴 경험 중, Apache Spark를 이용해 데이터 이관 작업 SparkJob을 개발해봄으로써 데이터 엔지니어링 업무를 진행해본 적이 있다.
- 데이터 엔지니어링은 백엔드에서 진행되는 역할 중 데이터 핸들링에 좀 더 비중을 둔 역할로 파생됨과 동시에, 개발 뿐 아니라 서버를 관리하는 다양한 업무를 맡고있다.
- 결국 데이터 ETL잡 생성 및 파이프라이닝과 같은 데이터 엔지니어링 업무 또는 서버를 관리업무 등의 역할을 이해하기 위해서는, 백엔드 개발 업무를 통해 개발플로우 및 서버운영과 같은 업무플로우 기반을 먼저 다져야만, 나에게 업무가 주어졌을 때 이에 쉽게 적응 할 수 있다고 생각하였다.
2) 복잡한 워크플로우를 파악할 수 있는 역량을 습득하여 업무 효율성을 높이고 싶음
- 백엔드는 프론트엔드와 달리 눈으로 보이지 않기 때문에, 코드 로직 부터 시작하여 아키텍쳐 설계 및 모듈 별 역할을 전반적으로 파악해야 하는 역량을 필요로 한다.
- 비록 그 구조를 파악하기까지 시간과 복잡함이 오는것은 사실이지만, 이러한 업무를 통해서 워크플로우를 이해하고 응용할 수 있는 기술을 길러서 IT worker로서 더 효율적인 역량을 내고 싶다.
This post is licensed under CC BY 4.0 by the author.