Framework을 사용해야 하는 이유
대학원 졸업을 앞두고 며칠간 석사 논문 테마때문에 식음을 전폐하였습니다. 세상을 놀라게할 정도는 아니지만, 나름대로 새로운 것을 써보고 싶은 욕심 때문이었습니다. 그러나 문제는 아는 것이 그다지 없기 때문에 괜찮은 테마를 고를 안목도 없었고, 또한 괜찮은 테마를 고른다고 해서 논문으로 완성되리라는 보장도 없었습니다. 이런 제 모습을 옆에서 지켜 보고 있던 선배는 (평소에 말을 많이 아끼셨던 분이였습니다..) 안타까웠던지 충고를 해 주었습니다.
“Hani야~ 지금 우리가 서 있는 이 기계공학이라는 산은 한 사람이 만든 산이 아니라는 사실을 알지? 너와 나같은 평범한 사람이 산을 오르면서 쌓아 놓은 작은 돌들이 모여서 지금의 산이 된거야. 그러니까 산을 쌓기 보다는 자그마한 돌을 산위에 두고 온다는 심정으로 논문 테마를 찾아 보는게 어떨까?”
평소에 들으면 그냥 그런 이야기로 들릴 수 있지만, 며칠을 답도 없는 문제에 골머리를 싸매고 고생하던 저에게는 큰 깨달음을 주는 충고였습니다. 그 덕분에 개인적으로 어느정도 만족하는 선에서 논문을 끝낼 수 있었습니다.
실무에 있어서도 마찬가지입니다. 간혹 개발자들은 자신이 할 수 있는 전부를 보여주고 싶어 합니다. 물론 열정이라는 측면에서 본다면 바람직한 현상입니다. 그러나 실무는 일의 과정보다는 결과에 많은 의미를 부여합니다. 따라서 중간 과정이 아무리 값지다 하더라도 최종적인 결과를 얻지 못한다면 값진 중간 과정의 의미가 퇴색됩니다. 그렇기 때문에 개발자는 효율성의 측면에서 개발 업무를 바라 보는 것이 중요합니다.
“거인의 어깨 위에 있는 난쟁이”라는 표현이 있습니다. 평범한 개발자가 가지고 있는 지식에는 한계가 있습니다. 즉, 지적인 측면에서 말한다면 대가에 비해서 개발자는 난쟁이라 할 수 있습니다. 그러나 거인의 어깨 위에 선 난쟁이를 생각해 보면 더 멀고 더 많은 것을 볼 수 있음을 짐작할 수 있습니다. 단, 거인의 어깨위에 올라가는 수고는 해야겠죠?
그렇기 때문에 Framework이 중요합니다. 이 Framework은 기술지향적인 면이 많지만, 선택에 신중을 기한다면 많은 도움을 얻을 수 있습니다. 특히 최근에 나오는 Web Framework의 경우 몇 년간의 웹 개발 전문가들의 Know-how가 축적된 것들이어서 일반 개발자가 고민하지 못하는 기능까지도 포함되어 있습니다. 거인의 어깨 위에 올라가는 수고처럼, 여분의 시간으로 Framework을 배워서 업무에 사용할 수 있다면 많은 것을 얻을 수 있을겁니다.
그러나 한가지 잊지 말아야할 것은 Framework을 배우는 목적입니다. 난쟁이가 거인의 어깨 위에 올라가는 이유는 더 멀리, 더 많은 것을 보기 위해서입니다. 난쟁이가 많은 것을 얻을 수 없다면, 당장 거인의 어깨 위에서 내려와야 합니다. 마친가지로 Framework을 배우는 가장 큰 목적은 일을 효율적으로 하기 위함입니다. 그러기 위해서 Framework은 하나의 수단일 뿐이죠. 그렇기 때문에 많은 것을 얻을 수 없다면 과감히 해당 Framework을 버리는 용기도 필요합니다. (올라가기가 힘들기 때문에 한번 오를 때 신중을 기해야겠죠.)

