지난 포스트에 이어 워드프레스 개발시 고려할 타협점을 마지막으로 짚어 본다.
타협 지점 3: 워드프레스로 개발하기 어렵다.
지난 번과 마찬가지로 ‘어렵다’는 표현은 생각해 보면 매우 애매모호하다. 어떤 것이 어렵다는 것일까? 그동안 실무를 행하며 이리저리 들어본 워드프레스로 어렵다는 것은 대략 같은 다음과 뜻을 가졌던 것 같다.
- 워드프레스는 최신 기술을 도입하기 어렵다.
- 워드프레스는 원하는 기능들을 구현하기 위한 API가 부족하거나, 구조적으로 가능하지 않다.
- 워드프레스는 기존의 개발자들이 편리하게 웹사이트를 개발하기 어렵다. 기존의 개발 인력 포지셔닝을 적용하기 어렵다.
1번은 얼토당토 않은 오해다. 워드프레스는 꾸준히 최신 기술과 웹 개발의 트렌드를 읽어 차근차근 도입하고 있다. 그와 동시에 기존에 이룬 것들을 무너뜨리지 않도록 최대한 호환성을 유지하고 있다. 워드프레스가 가진 플랫폼 상에서 최신 기술을 배제하거나 특정 기술을 강제하는 사항은 전혀 없다.
2번 또한 사실이 아니다. 워드프레스는 워드프레스 나름대로 풍부한 API를 가지고 있고 열린 구조를 가지고 있다. 다만 기존의 웹프레임워크와 약간의 다른 면이 있을 수 있는데, 그건 워드프레스가 그 근본이 CMS여서 일 수 있다. 워드프레스는 열려 있다. 다양한 기능을 매우 유연하게 가져다 쓸 수 있다.
우선 룩앤필을 위한 테마 생태계는 그 어떤 CMS보다 넓고 다양하다. 테마에서 다하지 못하는 기능적인 부분은 플러그인이 많이 채워주고 있다. 테마와 플러그인이 너무 덕지덕지 붙는 것이 싫어 완전 커스텀 개발 위주로 가고 싶다? 일반적인 PHP가 가진 다양한 오픈 소스 생태계에 의지하면 된다. Packagist에서 프로젝트를 찾아 보자.
워드프레스 개발이 어렵다고? 코웃음칠 노릇이다. 물론 쉽지는 않지만, 일반적인 웹프레임워크보다 더 어렵다고? 워드프레스가 라라벨, 자바의 스프링, 파이썬의 장고 같은 풀스택 웹 프레임워크보다 어려울까? 그에 비해 워드프레스는 되려 쉬운 편이지 않나?
이따금씩 개발하는 측에서 “말씀하신 XXX 기능은 워드프레스라 구현하기 어려워요”라는 말을 할 때가 있다는 소리를 듣는다. 기가 막힐 노릇이다. 대개 그건 자기네들이 테마/플러그인 범벅의 짜여진 구조에서 시야갸 좁아 그런 거고, 또 조금만 생각하면 그런 구조에서 확장할 방법을 논의해 볼 수 도 있다. 왜 자기네들이 못하는 걸 워드프레스의 무능으로 돌리는지 모르겠다. 아, 아마도 개발하려는 기능과 예산의 문제일 수도. “(그 예산으로는) 워드프레스로 만드는 건 어렵다”고 돌려 말하는 거겠지…
3번은 개발 방법의 어려움을 이야기한다. 내 개인적으로는 이 부분이 워드프레스 개발에 있어 상당히 어려운 부분 중 하나라고 생각한다. 아마 여러 사람이 같이 웹사이트를 만들 때 가장 타협을 많이 고려해야 할 부분일 것이다.
보통 웹사이트를 만들 때, 대강 기존에 했던 방식은 이렇다.
- 프로젝트를 담당하는 매니저가 있다.
- 기획을 담당하는 기획자가 있다.
- 웹사이트의 디자인을 담당하는 디자이너가 있다.
- 프론트엔드 담당 코더(a.k.a. 퍼블리셔)가 있다.
- 백엔드 담당 코더(a.k.a. PHP 프로그래머)가 있다.
그런데 이렇게 웹사이트를 만드는 건 이제 예산이 많은 대형 프로젝트나 가능하고, 워드프레스로 주로 만드는 스케일의 사이트에서는 더이상 가능하지 않다. 예산에 비해 인건비가 너무 많이 들어간다. 워드프레스는 웹 저작을 쉽게 만듦과 동시에, 단가 또한 낮아지게 만들었다. 즉 부가가치가 급격히 낮아졌다.
개발 인력 면에서의 어려움.
웹사이트 제작 산업은 이제는 기존의 포지션을 한 사람이 여러 가지 동시에 해내거나, 아니면 저 포지션을 유지하면서 가능한 동시에 많은 웹사이트를 찍어 내야 가능하게 된 것이다.
워드프레스는 생태계는 더더욱 적은 인력을 웹사이트를 쉽게 제작할 수 있도록 발전할 것이고, 그렇게 편해지는 만큼 부가가치도 낮아지게 될 것이다. 여기서 1차적인 어려움(다역의 어려움)이 발생한다.
또한 기존의 인력 편성을 어떻게든 가지고 워드프레스 기반의 웹사이트를 제작할 때, 그 기존의 인력을 어떻게 운용해야 하는지에 대한 어려움. 2차적인 어려움(인력 운용의 어려움)이 발생한다. 기획자는 워드프레스의 어디서 어디를 만져야 할까? 어디까지를 알아야 할까? 디자이너는? 프론트는? 백엔드는?
테마가 디자인과 프론트의 절반 이상은 구현해 놓는다. 기능적인 것도 플러그인에서 반쯤 구현되어 온다. 나머지 기능을 구현해야 할 때, 디자이너와 프론트엔드와 백엔드 코더는 무얼 해야 할까? 그들이 해오던 대로 코딩을 하는 것이 아니라, 관리자 패널에서 몇 번의 클릭으로 그들이 며칠분 해야 하는 일이 수십분만에 구현된다는데? 그럼 코더들은 뭘 해야 하는 건가? 아니 코더들이 필요하긴 한건가? 되게 할 일이 없어진 것 같은데, 또 막상 없으면 일을 어떻게 할 것인지?
그래서 타협은 무엇?
결국 최선의 타햡은? 개인이 적절히 다양한 기술을 겸비하는 것. 워드프레스 웹 개발은 더이상 집단에 의해 일어나지 않는다. 또한 워드프레스는 이렇게 기존의 포지션끼리 가지는 경계를 과감히 허물어버린다. 그래서 몇몇이 뭉쳐 일을 진행하는 웹 에이전시보다는 1인 다역의 위주의 프리랜서가 더욱 두드러진 시장이 형성되는 것 같다.
결국 자연스럽게 워드프레스 개발은 소수의 인원, 거의 1~2인이 자신이 강한 부분을 중점적으로 개발하고, 약한 부분은 워드프레스의 생태계에 의존하는 식으로 발달한다. 내가 부족한 부분은 남이 잘 만든 것들에 의존하는 것(그러면서 배우는 것)이다. 하나를 엄청나게 잘 하는 전문가도 필요하겠지만, 여기는 조금씩 다 잘하는 올라운더형이 더 유용하고, 적절한 가성비가 최선이다.