* 이글은 웹페이지 기초 레이아웃에 대한 포스팅을 작성하다 잡설이 길어져서 분리한 글이다.

 

 

처음에 HTML을 배울 때는 <h1> 같은 간단한 태그부터 시작한다.

 

처음으로 몇 개의 태그를 달아놓으니 인터넷에 글자가 써지는 기적같은 일은 좀체 잊기 힘든 경험이다.

 

SNS에 글을 쓰는 느낌하고도 다르다. SNS는 글을 쓰고 공유하는 질서가 있지만 백지에서 웹사이트를 만들어 보는 것은 또 다른 차원의 경험이다. SNS에서는 정해진 규칙에 따라 글을 쓰지만 HTML를 사용해서 웹사이틀 만드는 것은 집을 짓는 것과 비슷하다. 나의 웹사이트는 하나의 창조물이고 집이다. 그래서 초창기 웹의 초창기에 홈페이지(Home Page - 집 페이지) 라고 이름을 붙였다.

 

홈페이지에 좀 더 개인적이고 탐색의 의미를 부여해서 블로그(Blog - Weblog)라고 이름을 지었는데 거미줄 같이 얽히고 설킨 정보의 바다를 헤엄친다는 의미도 들어 있었다. Blog 도 집과 마찬가지다. 사람들이 최초엔 거대한 커뮤니티가 있는 큰집 모여있었다면 지금은 블로그나 페이스북 같은 SNS를 집으로 여기고 살아가고 있다. 그리고 지금은 뭐니 뭐니해도 유튜브 전성시대라고 볼 수 있다.

BLOG/HOME PAGE

따지고 보면 유튜브도 홈페이지의 하나일 뿐이다. 우리가 보는 화면인 웹브라우저를 통해 작동한다. 단지 구글이라는 세계 최대의 IT회사가 막대한 규모로 운영하고 있는 것이다. 보이는 것을 담당하는 부분은 여전히 HTML, CSS, 자바스크립트다.

 

물론 백엔드에는 엄청난 양의 CPU와 인공지능이 탑재된 소프트웨어들이 쉴세없이 돌아가며 하루 약 60만 시간 분량의 동영상 업로드를 처리하면서 시청자들에게 동영상을 추천해주고 있다. 보여지는 것 (프런트엔드)과 보이지 않는 것(백엔드)의 갭은 상상 이상의 것이다.

 

유명한 웹사이트에 사용되는 프로그래밍 언어들 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

유명한 웹사이트에 사용되는 프로그래밍 언어들 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 가장 인기 있는 웹사이트들은(또는 가장 많이 방문하는) 공통적으로 동적인 웹사이트라는 요소를 가지고 있다. 동적 웹사이트

ko.wikipedia.org

흔히 풀스택 개발자라고 하는데 보이는 부분과 보이지 않는 부분까지 모두 아우르는 지식과 능력을 가진 슈퍼맨 급의 인재를 말한다. 풀스택 개발자는 아무나 되는게 아니다. 또 많은 이들이 동경하지만 꼭 그것이 좋은 것이라고만은 할 수는 없다. 현대의 소프트웨어는 몹시 거대하고 전문화되었으니까 한 사람이 모든 것을 책임지는 것 보다 협업해서 일하는게 생산성이 더 좋다. 그리고 혼자서 모든 것을 다하려면 매우 일을 많이 해야한다.

 

한편 IT의 시대가 조금 더 진화하면 풀스택이 일상용어가 될 수도 있다고 생각한다. 지난 20년간 봐온 것 처럼 소프트웨어는 지속적으로 추상적인 단계를 지향하고 있다. 추상화라니 말이 어려운데 쉽게 말해서 점점 기계가 알아서 하는 일의 비중이 커지고 있다. 사람은 소프트웨어를 구동하는데 큰 에너지를 쓰지 않아도 된다.

 

풀스택 개발자가 나온 것도 프레임워크가 진화하면서 도구의 생산성이 높아졌기 때문에 더 이상 단순 작업을 하는 코더들이  불필요해졌기 때문인 것도 있다. 이제는 한 사람이 할 수 있는 일이 많아졌다. 비단 IT업계만 그런 것은 아니다. 자동화가 진행된 다른 업계에서도 많이 겪고 있는 일이다.

 

웹사이트 하나를 개발하는데도 다재 다능해야 한다는 것이 힘든일일 수도 있겠다만 반대로 도구가 좋아졌으니 일반인이 풀스택이 되지 못하란 법은 없다. 앞으로 소프트웨어 개발 도구들은 더더욱 쉬워질 것이다. 한 사람이 처리해 낼수 있는 양이 나날이 늘어가고 있다. CPU나 RAM만 발전하는게 아니다. 그것을 사용하는 사람의 발전이 기술혁신을 이루는 것이고, 인류에게 퀀텀 점프를 뛰게한다.


 

프런트엔드

 

웹개발자를 꿈꾸며 HTML을 배울 결심을 했다면 좋은 시작이다. 다만 사람들이 말하는 것처럼 HTML 이 쉽지는 않다. HTML을 시작한다는 것은 CSS, 자바스크립트도 함께 알아가는 것인데 아주 많은 것을 배워야 하고 끓임없이 검색해야 하고 계속해서 공짜 리소스를 찾아야한다. 득템에 소질이 있어야 한다.

(프런트엔드는 무료를 좋아한다, 웹의 리소스는 웬만하면 무료다. 무료 웹강의, 무료 폰트, 무료 이미지, 사운드, 아이콘, 테마 등등,,,)

 

프론트엔드(Front-End)를 하다보면 결국 백엔드(Back-End)도 손을 안댈수가 없을 것이다. 전문성은 프론트엔드를 가져가도 서버에 대해서 어느 정도는 이해를 해야 하는 부분이 있다. 프론트 엔드나 백엔드나 결국은 하나의 목적을 위해 존재한다. 억지로 둘을 별개로 나눌 필요는 없다.

 

일단 HTML, CSS, 자바스크립트를 기본으로 배우기 시작하면 된다. 초반에는 C나 자바같은 일반 프로그래밍에 비해 어렵지 않다. 차후에 앵귤러JS와 리액트 JS쿼리 등 다양한 프레임워크와 이슈를 다룬다. 그러다 보면 자연스럽게 백엔드 프로그램도 알게 된다. 결심을 단단히 했다면 HTML과 CSS 를 배우는데는 그렇게 오랜 시간이 걸리지 않는다.

 

말을 어렵게 하지만 목적이 중요하다. 프론트엔드는 소비자의 보는 부분, 인터페이스 부분에 대한 정성이 필요한 일이다. 그것을 UX, UI 라고도 하고 크로스 브라우저, 반응형 웹개발등 다양한 기법이 개발되서 어렵게 접근하는 분야기도 하다. 어떻게 보면 소비자 입장에서는 웹 서비스를 하는 사람들이 해야할 당연한 일이라 생각할 것이다. 그 일을 처음부터 끝까지 책임지고 담당하는 역할이라 볼 수 있다.

 

좀더 솔직하게 말하면 서비스 정신이 필요하다고 해야할까;;;

 

기본적으로 정신적 소모가 많은 일이다. 코드를 짜는 정신 노동에 고객의 반응을 실제적으로 느낄 수 있는 부분들이 힘들어진다. CS적인 역할도 해야하기 때문이다.

 

이렇게 글을 쓰며 생각하니 프론트 엔드는 참 어렵다. 다재다능해야 한다. 이 직업의 용어가 생긴지는 2000년대 이후니까 불과 얼마되지 않았다. 앞으로의 프론트엔드는 어떨까? 또 풀스택은 어떤 모습일지 상상을 해본다.

공유하기

facebook twitter kakaoTalk kakaostory naver band