웹퍼블리셔로 진로를 희망하는 경우 현재 학생이거나 또는 새로운 분야로의 이직을 희망하는 직장인이 있을 수 있겠죠. 많은 사람들이 앱이나 웹이냐를 고민하고 웹에서도 다양한 부분의 개발자가 존재합니다. 아래는 이 부분들 중 웹퍼블리셔에 대하여 알아보고자 합니다.


웹퍼블리셔가 되기 위한 길


# 웹퍼블리셔(Web Publisher)란?
웹퍼블리셔는 웹개발 영역의 한 부분으로 코더, 프론트엔드 개발자 등등으로 불리기도 합니다. 보통 웹퍼블리셔는 앞단으로 Front 부분을 담당하여 개발하게 됩니다. 이와 달리 백단이라 불리는 서버, 데이터베이스, ERP 등의 개발자들이 존재하며 서로 다른 부분을 하나의 프로젝트 내에서 개발하기도합니다. 

웹사이트에서 보이는 부분을 개발하는 퍼블리셔는 클라이언트측 언어를 사용하게됩니다. 여러 언어가 사용되지만 대표적으로 HTML, CSS, 자바스크립트의 언어를 사용하게되는데 프론트엔드 개발자와 용어적으로 애매한 부분이 있습니다. 그 이유는 사용하는 언어가 겹치는 부분이 있고 웹퍼블리셔와 프론트엔드로 명칭이 존재하지만 비슷하거나 같은 부분을 개발하는 경우가 많았기 때문입니다. 하지만 요즘은 프론트엔드 엔지니어라고 부르면 잘 알려진 프론트엔드 프레임워크(AngluarJS, React, Backbone 등등)를 잘 다루는 사람을 의미합니다. 그 구분이 매우 명확하다 할 수 있겠죠.


--- 예전의 웹개발자 이야기 ---
! 과거 웹개발자라는 하나의 분야에서 전문적인 여러 분야로 확대
웹퍼블리셔가 정확히 무엇이다라고 말하기는 참 어려운 것 같습니다. 생각해보면 예전에는 웹개발자가 모든 부분들을 담당해야했었죠... 1994년... 인터넷이 대중들에게 서서히 사용되던 시기로 돌아가보면 그때의 인터넷은 매우 간단한 기능만 구현이 가능합니다. html 문서를 통해 모든 것이 서비스 되고 내가 뭔가를 선택하지 않고 사이트 운영자가 원하는 부분만 보여줄 수 있는 매우 정적인 형태의 인터넷 초기 모습이었습니다. 당연히 개발자는 html 하나의 언어만 알아도 무방했던 시기입니다.

하지만, 웹이란 공간이 빠르게 변화하면서 좀 더 동적인 부분을 위해 스크립트 언어가 Netscape사에 의해 만들어졌죠. 동시에 더 간편하고 더 쉬운 인터페이스를 위해 CSS를 따로 분리하게 되었고 다양한 서버 언어에서 기존에는 할 수 없었던 더욱 복잡한 형태의 콘텐츠가 생산되고 제공되기 시작했습니다.

웹이란 공간이 갑자기 너무 커지게 되면서 필요한 스킬들이 점점 늘어만 갔습니다. HTML만 알아서는 개발자로서 성장하기는 어려움이 많았고 수많은 언어들이 새롭게 개발되고 발표되었죠. 이런 이유로 웹개발자라는 하나의 포지션이 고유의 전문 영역으로 확대되면서 더 많은 부분들이 나누어지게되었습니다. 웹퍼블리셔 역시 이런 과정에서 생겨난 하나의 전문분야이죠.
--- 끝 ---



# 웹퍼블리셔에게 요구되는 스킬 어쨌든 웹퍼블리셔라는 영역 역시 점점 다양화, 전문화 되어갔습니다. 이런 과정에서 가장 기본이 되는 HTML, CSS, Javascript 이외에도 다양한 기술들을 필요로하였죠. 모든 프로그래밍이 새로운 언어와 라이브러리, 프레임웍 등을 통해 끊임없이 뭔가가 나타나고 사용되는 것처럼 퍼블리셔에게 필요한 스킬도 이와 같이 다양한 요구사항들이 나타나게됩니다. 그 중에서도 제이쿼리(jQuery) 를 빼놓을 수 없을 것입니다. 제이쿼리는 웹퍼블리셔가 많이 사용되는 대표적인 라이브러리(프레임워크)가 되었습니다. 그 외에도 더 많은 기술들이 요구되는데 어떤 것들이 있을까요?


! 웹퍼블리셔가 알아야 할 기술들 웹퍼블리셔라고 아래의 모든 스킬들이 반드시 필요한 것이 아닙니다. 오히려 하나의 부분을 전문화하기도 하겠습니다. 다만 웹퍼블리셔들에게 전반적으로 요구되는 기술을 아래에 간단히 나타내 보았습니다.

- 웹표준, 웹접근성을 고려한 퍼블리싱
- 크로스브라우징을 고려한 퍼블리싱
- HTML5를 활용이 가능한 퍼블리싱
- AJAX를 구현할 수 있는 퍼블리싱
- OPEN API를 사용할 수 있는 퍼블리싱
- 검색엔진최적화(SEO)를 고려한 퍼블리싱


결국 퍼블리셔라고해도 알아야 할 부분이 과거와는 달리 너무나 많아졌다는 점이 특징입니다. 저 역시 컴퓨터를 베이스로 한 개발자는 아니며 저를 비롯한 비컴퓨터전공자의 개발자나 퍼블리셔가 굉장히 많아졌습니다. 물론 비전공자 역시 더 뛰어난 실력자들이 많이 존재합니다... 이런 가운데 더 능력있고 실력있는 퍼블리셔가 되기 위해서는 정말 계속해서 공부하고 배워야만 시대에 뒤처지지 않는 퍼블리셔가 될 것이며 이는 엔지니어로 살아가기 위해서는 필수적인 덕목이 아닐까 생각됩니다.

위 기술들 모두 매우 중요하지만 1, 2, 3번은 너무나 당연한 부분이므로 따로 말하지는 않겠습니다. 이를 제외한 나머지들을 간단히 얘기해보겠습니다.

먼저 AJAX는 웹퍼블리싱 스킬로 가점을 받을 수 있는 부분입니다. 다만 일반적인 웹사이트 보다는 백오피스, 어드민 페이지를 퍼블리싱 할 경우 많이 사용되며 서버와의 비동기 방식이 사용되지 않는 경우 그 사용성에 있어서는 크지 않을 것입니다. 또한 AJAX는 프론트엔드에서 더욱 요구되는 부분이기도 합니다.

다음으로 오픈 API를 얼마나 잘 사용할 수 있는냐도 중요합니다. 요즘은 API를 사용하여 인터페이스나 기타 기능 구현을 위해 많이 사용됩니다. 특히 자주 사용되는 SNS 관련 기술들... 예를들어 '좋아요' 또는 '공유하기' 버튼... 아니면 지도 API등등을 활용할 수 있다면 매우 좋겠습니다.


! 검색엔진최적화(SEO)
다음으로는 검색엔진최적화(SEO)를 고려한 퍼블리싱을 할 수 있는가의 여부도 중요하겠습니다. 검색엔진최적화는 마케팅에 가까운 부분이지만 이에 대한 스킬과 지식을 가진 퍼블리셔를 요즘은 많이 필요로합니다. 대부분의 현업 담당자들은 SEO의 중요성을 잘 알고 있고 웹퍼블리싱 과정에 반드시 필요하다고 생각합니다. SEO가 잘 된 사이트는 검색엔진에 인덱스 된 페이지가 더 높은 순위를 가지게 되고 더 많은 방문자를 유입시킬 수 있습니다.
비용적인 부분을 생각하더라도 웹퍼블리싱이 끝나고 별도로 SEO, SEM 전문가에서 의뢰를 할 경우 상당한 비용이 발생하게 될 것입니다.



# 마치면서
여기까지 웹퍼블리셔에 대하여 부족하지만 짧은 경험들을 간략하게 정리해 보았습니다. 이 글은 앞으로의 블로그 운영에 웹개발 콘텐츠를 적어보는 것이 어떨까 하는 생각에서 시작한 첫번째 글입니다. 앞으로도 웹개발과 관련된 글들을 많이 다루도록 하겠습니다.

이 글을 적은지도 꽤 많은 시간이 지났습니다. 벌써 몇 년에 적었더 글인데 많이 것들이 변하고 새로운 것들이 나타났습니다. 음... 다음번에 요즘의 웹퍼블리싱에 좀 더 자세히 알아볼 수 있도록 포스팅을 올려보도록 하겠습니다.