본문 바로가기

DEVELOP/IT

[웹] 프론트엔드 개발자란?

반응형

HTML CSS JavaScript


개발이란 프로그램을 구축, 구현하는 과정을 통틀어 말한다. 그리고 여기에도 각각 분야가 있다. 개인적으로 프로그래밍을 공부할 때 생각보다 많은 프로그래밍 언어가 있다는 것에 놀랐다. 놀랐다기보단 막막했다. 앱 기획을 하다가 프로그래밍에 대한 이해가 필요할 것 같아서 시작했다. 요즘 대세라는 파이썬으로 기초를 익히고, C++, 자바 정도 배우면 되는 줄 알았다. 그런데 일일이 열거하기도 귀찮을만큼 많은 언어가 있었다. 처음엔 각각의 언어의 특징, 용도를 읽는 데만 꽤 많은 시간을 보냈었다.


알게 된 것은 목적에 맞는 언어가 있다는 것. 즉 C++과 자바를 배우면 아이폰 앱도 만들고, 안드로이드 앱도 만들고, 윈도우 프로그램도 만들고, 홈페이지도 만드는 게 아니라는 것을 알았다. 아이폰 앱을 개발하려면 스위프트나 오브젝티브-C를, 안드로이드 앱은 자바를, 그리고 자바를 배우면 서버나 다른 프로그래밍도 할 수 있다. 그리고 파이썬은 웹 크롤링이나 데이터 마이닝 등 통계에도 활용되고 웹 개발에도 활용된다. 웹사이트를 만들기 위해서는 엄밀히 말해 프로그래밍 언어는 아닌 HTML과 CSS를 기본적으로 알아야 하고, 나아가 자바스크립트와 그 라이브러리인 제이쿼리도 알아야 진정한 웹 '프론트엔드' 개발자라는 것을 알 수 있었다.


프론트엔드 관련 용어


웹이 가장 활용도가 높고 생명력도 길 것 같아서 HTML-CSS-자바스크립트를 우선 공부하기로 했다. 그런데 배우면서 안 건, 이 세 언어를 안다고 혼자 웹 개발을 할 수 있는 건 아니라는 것. '프론트엔드'와 '백엔드'라는 분야가 있다는 것을 알았다. 프론트엔드는 말 그대로 앞에서, 즉 사용자와 직접 접촉하는 단을 의미한다. 반대로 백엔드는 사용자에게는 보이지 않는, 뒷면에서 작업이 이루어지는 단이다. 그리고 양쪽 모두 소화 가능한 개발자를 풀스택 개발자라고 부른다.


그런데 이 프론트엔드 개발자의 경계를 나는 아직은 모르겠다. 단순화시켜 '웹'에만 한정지어 보겠다. 디자인 시안을 보고 HTML과 CSS를 이용해 화면을 구축하고, 기획서에 따라 의도한 대로 동작하고 이동할 수 있도록 자바스크립트로 개발하는 사람이 명확히 프론트엔드 개발자라는 것은 알겠다. 그런데 흔히 웹 퍼블리셔라고 부르는, HTML과 CSS를 이용해 페이지를 짜는 사람은 프론트엔드 개발자에 해당할까? 자바스크립트까지 다룰 줄 알아야 프론트엔드 개발자인 건가? 그럼 자바스크립트를 할 수는 있지만 역할상 업무에서 퍼블리싱 업무만 담당하는 사람은 뭐라고 불러야 하나? 이런 경우도 있을 수 있다. 웹 디자이너로 커리어를 시작했다가 HTML과 CSS를 배운 사람은? 배우는 데 어려운 언어는 아니니 계속 공부해서 자바스크립트와 제이쿼리도 배운 사람은? 디자이너이자 동시에 개발자인 건가?


백엔드 vs 프론트엔드


링크드인 프로필을 작성하다보니 든 의문이다. 지금 생각해보니 내가 너무 틀에 갖혀서 생각하려고 한 것 같다. 디자이너이자 동시에 개발자일 수도 있지 뭐. 능력만 있으면 기획 + 디자인 + 프론트엔드 + 백엔드까지도 할 수 있겠다. 사실 백엔드의 난이도는 아직 겪어보지 않아서 잘 모르겠다. 별 정보를 주는 것도 아니고, 그냥 혼자 생각만 늘어놓다가 혼자 생각이 정리됐다.


현재 HTML과 CSS는 웬만큼 한다. 실무에서 퍼블리싱도 하고 있고 직접 반응형 웹사이트도 구축했다. 부트스트랩도 어느 정도 할 줄 알고, 워드프레스 사이트도 구축 중이다. 파이썬도 우선 책 한 권과 코드카데미로 프로그래밍 할 정도까지는 공부했다. 자바스크립트 + 제이쿼리도 책 3권 중에 마지막 권만 공부하면 된다. 포토샵이랑 일러스트레이터, XD는 능숙하다. 디자인은 틈 나는 대로 좋은 샘플들 보면서 분석한다. 자바스크립트가 끝나면 이제 무엇을 공부해야 할 지 고민이다. php나 node.js로 서버를 공부해야 하려나. 아님 UI/UX 디자인 등으로 좀 더 프론트엔드 개발에 깊이를 실어줘야 하나.


디바이스별 프론트엔드


일반 경영, 경제 전공으로 갈 수 있는 직군들 취업 준비를 뭘 해야할 지 모르겠어서 계속 이 쪽만 공부하고 있다. 다행히 금방금방 익힐 수 있어서 관련 일도 하면서 경험을 쌓을 수 있긴 하다. 계속 시간 흘러가는 거 버리지 않고 공부하긴 하는데 맞는 방향인지 잘 모르겠다. 우선 계속 마음 가는 대로 해봐야겠다. 제목은 프론트엔드 개발자란 무엇인가 알려줄 것처럼 해놓고 혼자 생각만 늘어놓았다.

반응형