예전에 어떤 개발자분과 대화 도중 프레임워크 얘기를 하게 되었다. 우리 회사에서 사용하는 프레임워크 얘기를 했더니 좋은 프레임워크이지만 다 해줘서 재미가 없고 그래서 좋아하지 않는다고 했다. 다음에는 프레임워크 안 쓰고 쌩으로 만들 계획이라고.
똑똑한 분이었고 창업을 준비중이셨다. 자신감 넘치던 그 한 마디에 신선한 충격을 받았다. 대화 이후 프레임워크를 쓰는게 맞는 걸까? 나도 다른걸로 바꿔볼까? 제법 오랜시간 고민을 해 왔는데 지금은 결론을 내렸다.
프레임워크를 쓰는게 맞고, 쉽고 다 해주는 프레임워크라면 더더욱 쓰는게 맞다.
1.
회사는 지적 호기심을 충족시키는 곳이 아니다. 비즈니스를 하는 곳이다. 개발자의 지적 호기심 때문에 비즈니스가 발목 잡히면 안 된다. 비즈니스 퍼스트, 개발자의 성장은 그 다음이어야 한다. 프레임워크를 써서 빠르고 쉽게 비즈니스가 구현 된다면 무조건 써야 한다.
프레임워크 안 쓰면 자유도가 높아지니 재미있을 수도 있다. 그러나 편한걸 포기하면 리소스가 낭비된다. 재미때문에 리소스를 낭비하면 안 된다. 회사를 위해 개발자가 존재하는 것이지 개발자를 위해 회사가 존재하는게 아니다.
물론 개발자의 성장도 필요하다. 개발자가 재미있으면 시키지 않아도 더 좋은 결과물을 만들어 낼 수 있다. 비즈니스와 개발자의 성장간에 타협을 해야 한다. 7:3 최대한 양보해서 6:4 정도의 비중으로 회사의 비즈니스를 먼저 생각하고 그 다음에 개발자의 재미도 찾아가야 한다.
다시 한번 강조 하고픈 건 개발자는 비즈니스를 구현하는 사람이지 지적 유희를 즐기는 사람이 아니라는 것. 지적 호기심만 탐구하는 개발자는 회사에 소속되어 존재할 이유가 없다.
2.
프레임워크를 안 쓰고 개발한다고 해 보자. 편리한 기능들을 포기하는 것이다. 나는 높은 자유도를 가지고 개발하는게 좋을지 모르겠지만 다른 개발자도 그 부분에 동의할까? 새롭게 입사하는 개발자들도 좋아할까?
나의 지적 호기심 때문에 다른 사람이 괴로울 수 있다. 프레임워크를 안 쓰는 결정은 높은 직급의 사람이 원했을텐데 개발팀내에 합의를 보고 결정했더라도 결정자의 권위때문에 다른 의견이 침묵한건 아닐까? 내가 좋아보인다고 남도 그럴 것이라고 생각하면 안 된다. 많은 개발자들이 기술에 집착하는 경향이 있지만 모두가 그런 것은 아니다.
3.
가장 중요한 문제인데 프레임워크를 안 쓰면 개발자 구인이 어렵다. 일반적으로 프레임워크로 언어를 시작한다. 쌩코딩으로 접근하는 경우는 흔치 않다. 회사에서 프레임워크 사용 안 한다고 하면 이상한 시선으로 바라볼 것이고 고생문이 열리는 것 아닐까 추측할 것이다. 구인 공고에는 뭐라고 쓸 것인가? 처음부터 쌩코딩 할 수 있는 사람 뽑음이라고 쓸건가? 개발자 채용시에도 프레임워크는 중요한 요소이다.
4.
결론: 프레임워크는 사용하자. 회사를 위해서, 앞으로를 위해서.