프론트엔드(Frontend):
정의 : 사용자와 직접적으로 상호작용하는 웹 어플리케이션의 부분. 웹 사이트의 디자인, 레이아웃, 버튼 이미지, 폼 등 UI요소 그리고 이런 요소들이 어떻게 동작하고 반응하는지에 관련된 UX를 포함
개발언어 : HTML, CSS, JavaScript
프레임워크 : React.js, Angular.js, Vue.js 등의 프레임워크
- html : 웹 페이지의 구조
- css : 스타일과 레이아웃
- javaScript : 웹 페이지의 동적인 요소 처리
백엔드(Backend):
정의 : 사용자들에게 직접적으로 보이지 않는 웹 어플리케이션의 부분으로, 서버와 데이터베이스 웹 어플리케이션의 로직이 이루어지는 곳.
웹 어플리케이션에 데이터 생성, 저장, 조작, 전송하는 모든 작업 담당
개발언어 : Python, Java, PHP, Ruby, Node.js 등의 언어사용
데이터베이스 관리 시스템(DBMS) : SQL , NoSQL 등
주요 업무 : 사용자나 프론트엔드로부터 요청을 받아 이에 대한 응답 처리 후 결과 전달.
이러한 과정에서 API(Application Programming Inteface)를 설계하고 구현하며 이를 통해서 프론트엔드와 데이터 교환
프론트엔드 개발자의 주요 역량 및 기술
- HTML/CSS/JavaScript
- 반응형 및 적응형 디자인
- 프레임워크 및 라이브러리 : React, Vue, Angular 등의 JavaScript프레임워크를 사용할 수 있는 능력, jQuery 같은 라이브러리 사용능력도 중요
백엔드 개발자의 주요 역량 및 기술
- 서버 사이드 언어 : Node.js, Python, PHP, Java 등의 백엔드 프로그래밍 언이 이해
- 데이터베이스 관리 : SQL 또는 NoSQL 데이터베이스를 다루는 능력 필요. 데이터베이스 설계, 구현, 관리, 최적화
- 서버 : Apache, Nginx 등의 서버 소프트웨어를 이해하고 설정 및 관리
- RESTful API와 GRaphQL: 웹 서비스에서 클라이언트와 서버간의 통신을 위해 REST 또는 GraphQL을 이해하고 구현할 수 있는 능력필요
- 보안 지식 : 사용자 데이터 보호와 서버 보안을 위한 보안 지식 필요
백엔드 개발자를 선택한 이유
나는 생에 첫 프로젝트를 부트스트랩을 이용한 프론트 웹 디자인을 맡았었고 그다음 프로젝트는 졸업작품인 앱 개발을 맡았었다. 이런 내가 백엔드 개발자를 선택하게된건 사연이 좀 길다
편입을 하고 나는 개발이라는걸 처음 접했다. 프로그래밍이 아닌 개발은 처음이였고 백엔드라는 파트는 익히 어렵고 난이도가 높은 파트라고 소문이 자자했다. 그래서 나는 초보자 입장에서 자연스럽게 난이도가 낮은 편이라는 프론트를 담당했었고 그렇게 개발에 흥미를 느끼게 됬다.
그 이후 나는 팀 프로젝트할때 민폐가 되지 않기 위해서 개발분야중 한 분야는 그래도 익숙하거나 능숙해질 정도가 되야 되겠다고 생각했다. 그래서 앱 개발에 흥미를 가진 시점에 졸업작품도 앱 개발주제를 맡았고 앱 개발의 전체적인 파트를 내가 개발했다. 그리고 아직도 백엔드는 나의 시야에 들어오지 않았다. 앱 개발로 졸업작품도 마무리하고 학교 수업을 들으며 전반적인 소프트웨어학과의 지식이 쌓였을 때 내가 백엔드를 할 수 있지 않을까 라는 생각을 하게된건 그때쯤 부터였던 것 같다.
나는 자신감이 의외로 낮은 편이다. 그래서 감히 내가 할 수 있을까 라는 마음이 들면 시도하지 못하는 편이다. 그래서 늦바람이 든 것 마냥 백엔드에 졸업할때가 다 되가서 관심을 가지게 됬고 프론트나 앱 개발처럼 보이는 부분에서 개발하는 것도 재밌지만 뒷단에서 모델을 설계하고 데이터가 왔다갔다하는 재미, 스프링으로 도메인 레포지터리 서비스 컨트롤러로 차곡차곡 설계하는 재미를 그때서야 느끼게 됬다.
그래서 나는 취업을 백엔드 개발자에 맞는 직무에 취직을 하고 싶었다. 하지만 졸업은 얼마 남지 않았고 내가 백엔드가 익숙해지기엔 부족한 시간이였다. 그래서 결국 조금 더 공부하자는 마음으로 백엔드 부트캠프를 신청했고
백엔드 개발자에 대한 길을 차곡차곡 쌓아가는 중이다. 확실히 스프링은 난이도가 높고 어려운게 맞다
왜냐하면 프론트를 살짝 배워보고 앱개발을 살짝 배워보고 스프링을 해보는데 나한텐 확실히 어렵고 배울게 많다는걸 느꼈다. 하지만 그 점도 맘에 들었다.
어차피 계속 공부해야되는 내 전공 특성상 평생 심심하지는 않을것 같다