뭐가 다를까
내가 개발을 재미있게 느꼈던 첫 순간은, 움직이는 무언가를 구현했을 때였다.
학교 과제였는데, 너무 재미있어 밤새 코딩했던 기억이 난다.
대부분 개발에 매력을 느끼는 이유는, 스스로 무언가를 창조했고, 그걸 창조해가는 과정에서 시간이 가는지도 모르게 빠져든다는 점일 것이다.
그래서 개발자라는 직업이 나에게 잘 맞을 것이란 기대로 본격적으로 개발자 되는 준비를 시작한다.
나는 많은 시간을 직업으로서 개발을 했고, 이제야 취미로 개발을 하고 있다.
명확한 차이는 직업으로서 개발은 스트레스를 엄청 받고, 취미로 개발은 끈기를 가지기가 힘들다는 결론을 내렸다(물론 나의 경험이니 나 같은 사람에 한한 결론)
왜 그런지 곰곰이 고민해 본 결과, 결과물에 대한 압박 차이 정도인 듯하다.
예를 들면, 동일하게 구현해야 할 기능이 있다고 치자.
직업이라면, 나는 지금 주어진 기능을 주어진 시간 안에 무조건 해야 한다.
그게 구글링이건, 사람의 도움을 받건, 내가 밤을 새우건 말이다.
물론 결국 못해서 선임의 도움을 받을 수 있는 주니어라면 좋겠지만, 중급 이상의 개발자가 되면, 나와 비슷한 기능을 구현하는 개발자는 거의 없다. 다들 별개의 독립적인 업무를 가지고 있어서, 일단 해결방법을 알아내기 위해 커뮤니케이션 하는 게 더 오래 걸리는 경우가 많다.
반면 이게 취미라면, 해보다 그만두면 된다. 이건 아직 내가 못하는 것이라고 생각하고 포기해도 뭐라고 할 사람이 없다.
이게 결국 개발자로서 능력에 대한 의문을 가지게 하고 점점 더 고민될 것이고 자신감 하락으로 이어질 수 있다.
직업으로서 개발자는 어떻게든 해내고 다음 단계로 또 진입하여야 하기 때문에 어찌 됐건 결과물을 냈고, 그 과정에서 스스로 할 수 있다는 자신감이 조금씩 쌓이기 시작한다.
그런데 이건 뭐 다 뻔히 아는 내용이라고 치고, 결국 IT에서 연구개발 분야도 잦은 성공으로 이어지지 못하는 이유가 비슷하다고 본다.
직업으로서 개발자는 고객이건, 상사 건 결국 기한 내 산출물의 제출을 압박하는 존재가 있다."고객"말이다.
근데 연구개발은 말 그대로 연구이기 때문에, 산출물이 개발 산출물이 아닌 문서로 대체되는 경우도 많다.
그 말은, 돌아가지 않는 시스템 이어도 상관이 없을 경우가 종종 있다는 얘기다.
그 이유야 여러 가지가 있을 수 있지만, 결국 연구개발의 목표가 연구에 더 목표를 두어서이기 때문일 것이다.
이건 좋고 나쁘고의 문제는 아니다. 많은 연구의 실패가 있어야 더욱 새로운 기술들도 많이 나오니 연구개발의 실패 자체는 나쁘지는 않다고 생각한다.
결국 개발자라면 산출물에 대한 압박감이나 책임감을 가지고 끈질기게 도전하는 자들이 성공할 수 있는 분야인 것 같다. 취미라도 명확한 목표 및 최종 산출물에 대한 정의를 먼저 하고 시작한다면 개발 끝에 오는 짜릿함과 성취감을 많이 느낄 수 있지 않을까 싶다.
취미로 개발하여 즐거움을 느껴서, 본업을 개발로 삼고자 하는 학생들을 많이 만난다. 나조차도 그랬으니 말이다. 그러나 막상 개발자라는 직업을 가지면, 체력적이나 정신적으로 스트레스를 많이 받게 되고, 이건 끝도 없는 것 같다. 다른 직업도 그렇겠지만, 특히 새로운 기술이 끊임없이 나오고, 프로젝트 환경마다 특수한 상황이 많기 때문에 정신적 여유가 특히 없는 직업같다. 그러니 잘 고민해보고 진로를 결정했으면 좋겠다.