의외로 업계 종사자 중에서도 모르는 사람들이 꽤 많아서 나름대로 정리를 해 봄. 이것은 개인의 경험을 정리한 것이고, 조직에 따라 상황에 따라 다른 기준이 적용될 수 있으므로 딱 정답이라고 제시한 것이 아님. 어느정도 유연한 적용이 가능하고, 사람에 따라서는 이견이 있을 수도 있다는 점 염두에 두시기 바람.
(내가 아주 싫어하는) 택스트로 주절주절 부연설명을 해 보겠음. 이 글의 설명은 '웹 사이트' 개발에 초점을 둔 것이라는 것, 그리고 기술쪽을 잘 모르는 분들을 위한 것임을 주의하시기 바람.
- DB 개발자: 디비 튜너, 디비 분석자 등의 직군이 여기에 속함. 보통 이 직군은 DB쪽이 중요하거나 크거나 한 곳에서만 따로 두는 경향이 있음. 작은 회사에서는 특별한 상황이 아니면 따로 두지 않아도 무방함.
- 백앤드 개발자 (back end): 단순히 '눈에 보이지 않는 쪽을 개발한다'고 생각하면 됨. ASP, JSP, PHP 등 개발자가 여기에 속함. DB 입출력과 연계되어 있으므로 주로 DB 컨트롤도 맡아서 함.
- 프론트 앤드 개발자 (front end): 웹 사이트에서 '눈에 보이는 부분'을 프로그래밍 한다고 보면 됨. 자바스크립트, HTML, CSS 등을 이용해서 메뉴 나오게 하고, 슬라이드 넘어가고 하는 것 등을 담당함.
- 서버 관리자?, 서버 개발자? : 이쪽은 정확한 명칭이 뭔지 알 수 없으나, 대체로 서버 구입부터 IDC에 넣고 관리하는 등의 작업을 함. 하드웨어 쪽 지식도 좀 있어야 하고, 간단한 스크립트 프로그래밍도 하는 사람들이 많음.
- 웹 디자이너: 말 하지 않아도 알아요. 어떤 일을 하는 역할인지. 다만, 알고 있으면서도 무시하고 이것저것 시킬 뿐.
- 웹 퍼블리셔: 때에 따라 디자인 파트에 들아가기도 하고, 프로그래밍 파트에 들어가기도 함. 디자이너가 디자인 한 파일 (주로 psd 파일)을 넘겨받아서 HTML과 CSS를 이용해 코드로 작성하는 작업을 함. psd 파일의 버튼 오려내고, 사진 잘라내고 하는 작업들도 함. 프로그래머와 디자이너의 경계선에 있는 작업들을 처리한다고 보면 됨. 그와 함께 두 파트의 커뮤니케이션까지 담당하는 경우도 있음.
- UI/UX : 유저 인터페이스, 사용자 경험성 등을 테스트하고 설계하고 리포팅하는 등, 웹 사이트 이용을 좀 더 편리하게 만드는 역할을 함. 주로 사이트를 계속 테스트하고 피드백을 받으면서 기획, 디자이너, 프로그래머 등과 협업하는 역할을 하지만, 때로는 직접 고치기도 함.
- 기획자: 말 그대로 기획자. 다 아는 역할이지만 안 쓰면 허전할까봐 써 둠.
- 팀장: 주로 사장, 임원, 고객 호출에 응함. 문서 작업과 프로젝트 총괄을 하는데, 때때로 고객사에 불려가기도 하고, 술상무를 해야 하기도 하고, 팀원들 싸우면 달래주기도 하고, 그지같은 일이 생기면 위 아래 양쪽에서 욕 얻어먹는 역할도 함. (약간은 장난스럽게 적었지만 농담이 아닐 수도 있음)
- PM: 프로젝트 매니저. 프로젝트 전체 일정, 리소스, 인원 관리 등을 하고, 잘 굴러가게 하는 역할. 소규모에서는 대체로 팀장이 PM을 하는 경우가 많음. 중간 규모에서는 PM을 따로 두는데, 이때는 기획자를 겸하는 경우가 많음. 큰 규모에서는 아예 다 따로따로 역할을 분담하는 경우가 있음. '코더'라고 불리기도 함.
대체로 큼직하게 나눠본 게 이 정도. 세부적으로 들어가면 역할별로 또 나눠볼 것들이 나오지만, 여기까지만.
이 모두를 따로따로 두는 것은 대규모 프로젝트나 웹 에이전시 정도. 작은 규모, 특히 스타트업 같은 경우는 한 사람이 여러 역할을 할 수 밖에 없다.
하지만 아무리 인원을 적게 두더라도, 백앤드, 프론트 앤드, DB, 웹 퍼블리셔 역할을 모두 다 훌륭히 수행하는 단 한 사람, '풀 스택 개발자'를 두려고 하는 건 좀 무리가 아닐까 싶다. 가만보니 그런 풀스택 개발자를 구하려고 하면서 개발자가 없다고 막 외치던데, 요즘 풀스택 개발자는 원래 잘 없다. 기술이 발전하면서 이것저것 엄청나게 쏟아지고 있어서 한 사람이 그걸 다 한다는 건 웬만해선 무리라서, 그런 훌륭한 사람은 잘 없다.
따라서 스타트업 같은 작은 규모에서라도 백앤드와 프론트앤드 정도는 따로 채용하는 게 조금 나을 것이라는 말을 하고 싶어서 이런 글을 이렇게 길게 쓰다니 아이고 힘들어. 게다가 한 마디 덧붙이자면, 웹 디자이너에게 코더, UI/UX 역할까지 맡으라며 구인 공고 내는 경우도 아주 많이 봤는데, 구해지면 개별적으로 연락 좀 주시기 바란다. 그런 역할을 모두 훌륭하게 수행하는 사람들은 리스트에 올려놓고 나중에 프로젝트 할 때 나도 좀 땡겨오게.
정 여유가 없다면 퍼블리싱이나, 일부 프론트앤드 그리고 간단한 UI/UX 등은 외주로 돌리기 바람. 개발자 있는데 왜 외주를 주냐 하면 뭐 할 말 없고.
p.s.
풀 스택 개발자를 원한다면 당연히 '백 앤드 + 프론트 앤드' 만큼의 임금을 줘야겠지? 딱 그렇게는 아니더라도 조금 깎더라도 어쨌든 조금 더 많이 줘야 하는 건 당연한 것 아닌가. 풀스택으로 혼자 다 개발하라고 하면서 급여는 백앤드 한 사람, 혹은 프론트앤드 한 사람 급여만큼만 준다면 누가 일을 하겠는가. 라고 생각하는데, 이런 생각이 틀렸다며 구인하는 스타트업들 굉장히 많더라. 이쯤되면 이제 내가 잘못된 것 아닌가 의심스럽다. (나도 모르겠다 이젠)