웹 개발에 필요한 두 포지션

Elvia SY Choi·2025년 3월 26일
2
post-thumbnail

학습-비기너 트랙

3. 웹 개발에 필요한 두 포지션

1. 오늘 학습 키워드

오늘은 오즈코딩스쿨 학습-비기너 트랙 세 번째 시간으로 웹 개발에 필요한 두 포지션을 학습했습니다. 웹 애플리케이션은 클라이언트와 서버 간의 상호 작용을 기반으로 동작한다는 특징이 있습니다. 클라이언트를 주로 다루는 개발자를 프론트엔드(Front-end) 개발자, 서버를 주로 다루는 개발자는 백엔드(Back-end)개발자라고 부릅니다. 오늘은 프론트엔드와 백엔드의 차이점과 나에게 맞는 방향은 어떤 걸 선택하면 좋은지를 알아보겠습니다.

2. 오늘 학습 한 내용

웹 개발은 프로그래밍의 큰 범주 중에 하나로 모바일 앱 개발, 데이터 사이언스 및 인공지능, 데스크톱 앱 개발, 게임 개발, 클라우드 등과 함께 다양한 개발 분야 중 하나입니다. 간단히 말하면, 사용자가 브라우저를 통해 상호작용하는 소프트웨어인 웹 애플리케이션을 만드는 작업을 의미합니다. 인터넷 쇼핑몰, SNS, OTT 서비스, 음악 스트리밍 서비스, 여행 예약 서비스 등 모두 웹 애플리케이션에 포함됩니다.

웹 애플리케이션은 클라이언트와 서버 간의 상호 작용을 기반으로 동작하는 특징을 가지고 있는데 클라이언트는 프론트엔드와 서버는 백엔드를 담당합니다. 프론트엔드 개발자는 사용자가 직접 보는 웹 페이지의 레이아웃, 디자인, 인터페이스 등을 담당하여 HTML, CSS, Javascript를 이용해 버튼 클릭 시 동작을 하거나 페이지의 시각적 요소 등을 구현합니다. 백엔드 개발자는 서버 측 로직, 데이터베이스 관리, 인증 등 보이지 않는 부분을 담당하여 사용자가 요청한 데이터를 처리하고 그 결과를 프론트엔드로 전달하는 역할을 합니다.

예를 들면, 클라이언트는 크롬 브라우저에서 “www.naver.com”에 접속하면 클라이언트는 ”페이지를 보여줘! “라고 서버에 요청합니다. 이런 클라이언트에게 요청이 오면 네이버 서버는 네이버 홈페이지, 뉴스, 검색 결과 같은 가지고 있는 데이터를 요청에 맞게 데이터를 보내줍니다.

이런 과정을 🍔햄버거 가게로 비유 해보면,

👉 고객 = 클라이언트
📝 점원에게 주문 =
서버에 요청
🍔 점원이 햄버거를 만들어서 줌 =
서버의 응답

으로 볼 수 있습니다. 이런 식의 요청과 응답을 주고받으면서 웹 페이지가 작동됩니다. 개발 관점에서 보면 프론트엔드 개발자는 화면, 버튼, 사용자와 상호 작용 등의 클라이언트 쪽 개발을 담당하고, 백엔드 개발자는 데이터 처리 및 저장, 사용자 인증 등과 같은 서버 쪽 개발을 담당합니다.

프론트엔드 개발자가 되기 위해서는 '웹 페이지 디자인 감각, 보다 더 나은 사용자 경험을 제공하기 위한 창의성, 다양한 팀원들과 의사소통 능력, 사용자 경험(UX) 이해, 다양한 문제 해결 능력, 문제 해결 능력, 새로운 트렌드 및 프레임워크 등에 대한 지속적인 학습 의지' 등이 필요한 역량입니다.

백엔드 개발자의 경우에는 웹 애플리케이션 뒷부분인 서버 측에서 동작하는 부분을 다루다 보니 사용자에게 직접적으로 보이진 않아도 프론트엔드와 원활한 소통을 통해 전체적인 시스템을 원활하게 동작하도록 해야합니다. 따라서, 필요한 역량으로는 '논리적 사고, Java, Python, Ruby, Node. JS 등의 다양한 백엔드 프로그래밍 언어 습득, 데이터베이스 관리, 클라우드 서비스를 사용한 서버 관리, API 개발, 취약한 보안에 대한 파악과 예방, 팀원들과 협업, 대용량 데이터 서비스를 위한 성능 최적화, 새로운 기술들과 도구 및 트렌드에 대한 학습 의지' 등이 필요합니다.

이렇듯 프론트엔드와 백엔드는 서로 다른 전문성을 요구하지만 서로 보완적입니다. 각자의 경력과 성향, 흥미에 따라서 프론트엔드나 백엔드 분야 중 더 집중하고 싶은 곳을 선택할 수 있고 일부 개발자들은 두 분야 모두 경험하며 풀 스택(Full-stack) 개발자가 되기도 합니다.

3. 학습을 한 후 느낀점

오늘은 웹 개발에 필요한 두 가지 포지션, 프론트엔드와 백엔드의 차이를 살펴보고, 각 분야에 필요한 역량에 대해 학습하는 시간을 가졌습니다. 저는 예전에 웹 디자인을 조금 공부한 적이 있고 개발을 통해 즉각적으로 화면에 변화가 나타나는 프론트엔드 개발에 더 관심을 가지고 있습니다. 또한 새로운 것을 배우고 직접 경험해보는 것을 좋아하는 제 성향과도 프론트엔드가 잘 맞는 것 같습니다.

아래에는 프론트엔드와 백엔드로 고민이 될 때 체크 해 볼 수 있는 사이트를 몇 가지 남기며 오늘 학습을 마무리하겠습니다.

🔍 1. 오즈코딩스쿨
👉 https://ozcodingschool.com/mbti

🧭 2. 스모어
👉 https://smore.im/quiz/4kqogl1obk

🧠 3. 위니브
👉 https://mbit.weniv.co.kr

🎯 4. 동국대학교 멋쟁이사자처럼 팀 with9/10°
👉 https://with910dgree.netlify.app

🛠️ 5. Roadmap.sh (개발자 로드맵)
👉 https://roadmap.sh

profile
console.log("한 줄 짰는데 왜 안 돼요");

0개의 댓글