Rev. 2.73

프론트-엔드 업무에 대해 논란이 되고 있는 듯하여 제가 경험한 것에 빗대어 노가리나 풀어보려고 합니다.

우리 회사에는 프론트-엔드라는 명확한 포지션이 있습니다. 처음부터 있던건 아니었지만 모던 웹을 개발함에 있어서 매우 중요한 개발 과정이라는 사실을 알리기 위해 제가하는 일을 사람들에게 이해시켰습니다. 간단하게 설명하면 주력 언어를 자바스크립트로한 HTML, CSS 코더 정도가 되겠네요. 추가적으로 웹표준, 접근성, 사용성에 대한 기반지식을 필요로하며, HTTP 통신 및 보안 개념 등을 숙지해야 합니다. 때문에 시스템 설계나 서버-사이드 프로그래밍의 유경험이 이 일을 함에 있어서 유용하게 작용하는 경우가 자주 발생합니다.

주된 업무는 디스플레이 로직 설계 및 구현, 테스팅, 프로토타이핑, UI 컴포넌트 작성, 통신 API 작성 등입니다. 그래서 OpenAPI를 이용한 매시업 서비스를 구축해 본 경험이나, 최근 트렌드가 되는 웹 통신 방식이라던지, 최적화된 데스크탑 애플리케이션 개발 디자인 패턴까지도 운운하게 됩니다. 물론, 웹표준 마크업이나 크로스-브라우징 업무도 무시할 수 없지만 저 같은 경우 우선순위를 그리 높게 잡지 않는 편입니다. 자문하자면, 첫 번째로 우선시하는 것은 창의성(여기에서의 창의성은 수행능력에 가깝습니다.)입니다. 기업에서 자신만의 웹 서비스를 구축해 본 경험이나 프로젝트 수행 경험, 오픈소스 프로젝트 참여, 라이브러리를 배포 경험을 요구하는 이유는 바로 여기에 있습니다. 두 번째로는 디자인 감각입니다. '쉽다'라는 느낌은 논리적 사고 보다는 무의식에서 오는 시각적/감각적 상호작용(관습)에 의해 전달되는 경우가 대부분이기 때문이죠. 세 번째로는 기반기술 숙지 정도네요.

웹 개발 프로세스에 프론트-엔드 포지션을 처음 도입한 것은 야후입니다.(제가 알기론) 그들은 오랜 경험을 통해 프론트-엔드 파트에서 하는 일을 명확히 구분하고 제시해 왔습니다. 사실, 이 일을 하다보면 명확하게 무슨일을 하는지 설명하기가 어려운 상황이 있습니다. 성능향상을 위해 아파치의 설정파일을 건드리거나, 통신로직을 개선하기 위해 디비 구조를 변경하고 URL을 매핑하고 데이터 파서를 제작하기도 합니다. 그렇죠. 이런것까지 스스로 해결할 필요는 없지만 분명히 필요한 것들이기 때문에 회사에서는 요구사항이 꽤나 복잡 다양한 편이에요. 그래서 요즘은 마음맞는 백-엔드 개발자를 만나는 것이 프론트-엔드 개발자의 최대 과제라며 떠들어대고 있습니다. 그들은 당신에게 날개를 달아 줄 수 있으니까요.

덧. 다시 읽어보니 참 싸가지 없는 글을 썼군요. 기분 나쁘셨다면 죄송합니다.

Comments