프론트엔드 개발자의 역할

출처: unsplash.com
출처: unsplash.com
예전에 인프런에 올린 Vue.js 강의가 지금 보니 수강평도 괜찮고 질문도 많아서 리뷰할 겸 전체 영상을 정주행 했다. '퍼블리셔와 일한다'를 전제로 HTML/CSS는 다루지 않고 자바스크립트 코드만 다루었다. 최근에는 세 가지 언어를 모두 사용하고 있다는 점에서 세월의 흔적이 남은 것인가 싶다.

돌이켜 생각해 보면 당시 개발 조직의 영향인 것 같다. 일의 순서를 보면 디자인, 퍼블리싱, 프로트엔드 개발의 순서로 일이 진행된다. 디자이너가 화면 디자인을 하면 퍼블리셔는 이걸 기반으로 마크업 작업을 한다. 여기에 프론트엔드 개발자가 자바스크립트를 추가해서 페이지를 완성한다.

이렇게 각자의 역할이 나뉘어 있고 프로그래밍 언어로 구분되어 있어서 Vue.js를 도입했던 당시에도 이런 틀 안에서 고민해야 했다. 퍼블리셔와 프론트엔드 개발자가 웹페이지 코드를 만들기 때문에 라이브러리를 함께 사용해야 한다고 생각했던 것이다.

몇 번 시도를 해봤지만 안타깝게도 결과는 좋지 않았다. Vue.js라는 도구는 프론트엔드 개발자만 사용하는 도구가 되었다. '퍼블리셔가 자바스크립트를 안한다'라는 것이 원인은 아닌 것 같다. 자바스크립트를 배워서 영역을 확장하고 싶다는 자세였기 때문이다.

오히려 프론트엔드 개발자가 '자바스크립트 코딩만 하고 HTML/CSS는 안한다'는 분위기가 좀 있었다. 각자의 역할과 사용하는 도구가 명확이 달랐고, 팀으로 일하는 방식도 그것에 따라 분리되어 있다보니 발생한 현상인 것 같다.

요즘엔 완전히 다르다. React.js를 사용하고 있긴하지만 이것도 라이브러리의 변화라기 보다는 일하는 방식의 영향인 것 같다. 팀에 퍼블리셔는 없고 프론트엔드 개발자가 자리를 대체했다. 더 이상 자바스크립트 만으로는 컴포넌트, 화면 개발을 할 수 없다. JSX와 Styled Components 라는 라이브러리를 사용하고 있지만 HTML/CSS 개발 지식을 알아야만 한다. 나도 그전까지만 해도 퍼블리셔의 코드를 가져다 쓰거나 CSS 라이브러리만 사용하다보니 관련 지식이 부족했는데 최근에서야 공부하고 있다.

과거에 프론트엔드 개발자의 역할이 자바스크립트만 한다는 분위기가 있었지만 지금은 HTML/CSS 개발까지 하는 것이 프론트엔드 개발자의 몫이 되었다. 시간이 지나면 또 어떻게 달라질지 모르겠다. Node.js 같은 경량 서버나 서버리스가 보편화된다면 프론트엔드 개발자에게 웹서버 구축/운영도 기대하게 될지 모른다. 실제 그렇게 되는 것 같다. 채용공고에 우대사항으로 나오기도 하고 지금 팀에서도 그런 역할을 하고 있다.