개발자의 종류는 아주 다양합니다. 프론트엔드 개발자, 백엔드 개발자, 앱 개발자, 데이터 사이언티스트 등 다양한 직무가 있죠. 그 중에서도 가장 유명하고 접근성이 좋은 프론트엔드 개발자와 백엔드 개발자에 대해 이야기하려고 합니다.
우리가 웹 사이트에 접속하게 되면, 아이콘과 그림, 텍스트 등이 눈에 띄게 됩니다. 이렇게 눈에 보이는 영역을 개발하는 역할을 프론트엔드라고 해요. 반대로 백엔드는 사용자가 볼 수 없는 환경을 관리하는데, 뉴스 리스트 등 데이터를 저장 및 관리하거나, 서버에 접속자가 몰렸을 때 터지지 않게 운영하는 역할입니다. (티켓팅 사이트의 서버 관리자가 바로 백엔드 개발자예요!)
프론트 엔드 : UI/UX를 중점으로 사용자와 직접 상호작용하는 부분을 담당합니다.
백엔드 : 데이터 처리, 보안, 서버 관리 등을 담당합니다.
기본적으로 문서 역할을 하는 HTML, 요소들을 시각적으로 꾸며주거나 움직이게 만드는 CSS, 클릭했을 때 페이지를 이동하거나 상호작용 하게 하는 등 인터렉션을 제공하는 JavaScript를 다룹니다.
추가적으로 필요에 따라 React, Vue.js, Next.js 등의 프레임워크와 라이브러리도 사용하고 있어요.

프론트 엔드와는 다르게 한 가지 언어에 집중하여 학습하면 되는데, 주로 Python, Node.js(JavaScript), Java, C++, PHP 등 컴퓨터학과 전공에서 다루는 다양한 언어를 사용합니다.
물론, Flask, Spring, Django 등의 프레임워크 또한 많이 사용해요.
프론트 엔드 개발자의 장점은, 자바스크립트, 리액트 등으로 언어가 고정적이기 때문에 언어 선택의 고민이 없다는 것입니다. 또한 시각적으로 바로 변화가 눈에 보이기 때문에 재미를 붙이기 쉽고, 피드백이 빠르다는 장점이 있어요. 시각적으로 아름다운 것에 흥미가 있다면 잘 맞을 수 있습니다.
하지만 기술 트렌드가 비교적 빠르게 변하기 때문에 업데이트 되는 지식들에 민감하게 반응해야 합니다. 취업 후에도 빠르게 적응하고, 지속적으로 공부해 나가야 해요!
백엔드 분야는 개발 환경이 안정적이기 때문에 한번 배워두면 오래 사용할 수 있다는 장점이 있습니다. 또한 지원되는 언어와 프레임 워크의 종류가 많기 때문에 언어 선택이 자유롭구요. 역사 또한 오래되었기 때문에 학습할 수 있는 자료가 많습니다.
하지만 시각적으로 문제 상황이 잘 나타나지 않아 빠르게 대처하기 어렵고, '논리적 사고'를 기반으로 깊게 오래 공부해야 한다는 단점이 있습니다.
이렇게 프론트엔드와 백엔드는 웹 개발에서 서로 다른 영역을 담당하며, UX/UI 디자이너, 웹 퍼블리셔, SEO, 데이터베이스 관리자, 엔지니어 등과 협력하여 웹, 앱 어플리케이션을 개발하고 있습니다.