만만한 풀스택 개발자

어느 순간 나는 오래 전부터 꿈꿔오던 개발자가 되어있었다.

풀스택 개발자. 모든 영역을 아우르는 능력있는 개발자. 백엔드도 하고 프론트엔드도 하고, 스타일링도 잘하고, 서버는 물론이며 DB까지도 잘 다룰 수 있는 그런 개발자가 내게 풀스택 개발자였다.

생각지도 못한 순간에 그 풀스택 개발자가 되어있었다. 그런데 조금은 기이하다. 똑같이 전반적인 분야에 걸쳐 할 줄 아는데, 할 줄은 모른다. 그래서 이렇게 이름을 붙여본다. 만만한 풀스택 개발자

아이디어가 생각나면 스케치를 한다. 그리고 빠르게 노트에 그 아이디어를 시각화 시켜본다. 이 지점이 분기 포인트이다. 재미있는가? 재미없는가? 이 테스트를 마치고 난 결과값에 따라서 개발을 해본다. 때로는 굉장히 가벼운 어플리케이션이 나올 때도 있고, 생각의 생각을 거쳐 부담스러운 어플리케이션이 나오기도 한다. 부담스러운 어플리케이션은 곧장 흥미를 잃고 접히기 일쑤이다.

한 동안 나는 이러한 놀이에 심취해있었다. 회사에서도 분야를 막론하고 개발을 하고 있기에 자랑스러웠다. 그리고 집에 돌아와서는 토이프로젝트로 회사에서 해보지 못한 것에 대한 시도를 하면서 또 자랑스러웠다. 분야를 넘나드는 개발을 하고 있다보니 풀스택 개발을 하고 있었다. 하지만 너무나도 만만한 개발을 지속하고 있었다.

어느 것 하나도 뚜렷하게 자랑할만하지 못했다. 개발을 하고 결과물을 도출하는 그 행동에는 자랑스러웠지만, 기술에 대한 이해도에 대해서는 너무나도 부끄러웠다. 그 부끄러움은 자연스럽게 내 손으로 만들어낸 결과물과도 연결되었다. 그래서 자신감이 있다가도 금새 수그러들어 자존감까지 해치기 마련이었다.

밤새 개발을 하면서 고군분투 하는 것에 흥미가 있었지만, 그것에 대해서 자랑할만한 거리가 되지 않음을 알고 있었다. 이미 오래전부터 뭔가 잘못된 것 같다는 생각을 하게 된 것 같다.


모각코(모두 각자 코딩) 스터디를 이번 주 부터 하게 되었다. 4명이 왔는데, 모두 개발자다. 무슨 개발을 하냐는 물음에 그냥 이것 저것... 이라고 대답하면서 수그러들었다. 또 금새 수그러들고 말았다. 누구는 프론트엔드 개발자이고, 4년 전부터 블로그를 하긴 했다. 나는 VueJS를 쓰는데 ReactJS에 흥미가 있어 공부하는 중이다. 라고 말한다. 그에겐 나와같은 수그러든 표정이 없었다. 그다지 당당하지도 않았다. 하지만 그냥 무덤덤한 그 자체가 왠지 모르게 수그러든 내게는 커다랗게 보였다.

4명 중 2명은 서둘러 집에 갔고 앞에 계신 개발자 분과 대화를 하게 되었다. 그는 15-20년째 개발을 했으며, 10년 정도 C++, 그리고 이어서 웹 개발을 하면서 쿠팡 에 재직 중인 개발자였다.

무심코 나는 또 그런 짓을 해버렸다. 내가 살아온 얘기, 그리고 개발자로서 지금의 고민. 왜 그랬는지는 모르겠는데 술술 다 털어놓았다. 위로라도 받고 싶었는지 그냥 다 말했다. 그는 그렇게 말했다.

  1. 나이가 깡패다. 젊으니까 힘내라.
  2. 영어 잘하면 나중에 먹고 사는데 크게 도움될거다.
  3. 풀스택 개발자만큼 애매한 단어가 없다.
  4. 나처럼 되지 말고 지금부터 해라.

풀스택 개발자 만큼 ‘애매한’ 단어가 없다.

늘 내가 불안했던 이유는 바로 그 애매함에 있었다. 무엇을 잘하는지 어필하기 어려웠다. 조금씩 다 할 줄 안다고 말하기엔 요즘같이 인터넷으로 모든 것을 배우고 소통하는 시대에는 먹히지 않는다. 그 애매한 포지션에서 약 1년하고도 절반 이상을 해메이고 있다. 처음에는 그 애매함이 주는 매력이 좋았다. 나는 프론트엔드 개발자가 아님에도 조금만 배우면 마치 프론트엔드 개발자와 같이 결과물을 어느정도 도출했기 때문이다. 마찬가지로 Firebasefunctionsfirestore가 주는 편리함을 제공받으면서 난 이미 백엔드를 정복한 것과 같이 착각을 했던 것 같다.

애매한 위치에서 여러 달 지내다보니 누군가에게 나도 애매한 경력의 사람이 되었을지도 모른다.

그 동안 나는 무슨 생각을 했었지?

스터디를 마치고 한 시간 반이 걸려 돌아온 집에서 잠시 쉬다가, 샤워를 하고 나와 이 챕터를 쓴다.

매일 따듯한 물로 씻는 동안 나는 오만가지 생각을 한다. 대부분은 쓸데없는 생각이 주를 이루지만 가끔은 의미있는 생각이 들기도 한다.

문득 이런 생각이 들었다. 공공기관의 외주 업체로 1년 간 근무 했을 때, 나는 무슨 생각을 했었는가. 그토록 탈출하길 원하고 노력하면서 나는 무슨 생각을 했는가?

그 때의 나는 눈 앞에 떨어진 요구사항을 닥치는대로 만들어내고, 몇 번의 테스트 후 문제가 없으면 커밋하기 바쁜 개발자였다. 성능이나, 리팩토링 혹은 확장성에 대한 생각은 하지 않았다. 실력은 낮은데 시간은 없었기 때문에 하드코딩, 수기로 데이터를 입력하는 등의 꼼수가 비일비재했다. 그렇게 개발을 1년 해 냈는데도 여전히 나는 처음부터 끝까지 서비스를 개발할 수 있는 사람이 아니었다. 나는 쿼리를 짜고, 컨트롤러를 짜고, 그걸 어느정도 완성된 JSP에 넘겨서 랜더링이 잘 되는지까지만 확인할 줄만 알았지 전반적인 흐름을 이해하진 못했다. 하던 것만 이해했다.

이 곳을 탈출한다면 나는 혼자서도 뚝딱 웹서비스를 만들 수 있는 사람이 되야지를 몇 번이고 되뇌었던 것 같다. 이직을 하고나서 동료 개발자가 혼자서 모든 서비스를 개발하고 배포하는 것을 보고 그런 생각이 더 크게 들었던 것 같다.


혼자서도 왠만한 서비스를 만들 수 있다. 그 거만함에 빠지지 않도록 주의해야겠다. 이미 지나버린 것들에 대해서 후회가 되는 게 많다. 하지만 그 때에는 난 시야가 매우 좁은 사람이었다. 지금의 후회는 과거의 나보다 더 성장한 나를 의미한다. 잘못 생각했던 것들, 그렇게 행동해왔던 것들이 있다면 지체말고 고치면 된다. 그거면 충분하다.

한국 땅에서 올바르게, 그리고 모범적으로 개발 커리어를 쌓아나가는 개발자들도 많지만 실수하고, 후회하고, 걱정 많은 개발자들이 그와는 비교가 되지 않을정도로 많을 것이다. 물론 나도 그 중 하나다. 하나 하나 고쳐나가면서 훗날에 내가 누군가에게 모범이 되는 궤도에 오른다면, 같은 고민을 내게 털어놓는다면 꼭 마음을 다해 공감해주자. 그리고 그 사람이 올바르게 시간을 보낼 수 있도록 진심으로 도와주자.

초면이지만 진심으로 제 고민에 귀 기울여 주신 김OO 개발자님께 정말 감사드립니다.

공유하기