brunch

You can make anything
by writing

C.S.Lewis

by 봉봉 Apr 05. 2016

대기업 개발팀에서 개발자로 남기

    대기업 개발팀, 정확히는 내가 속해 있던 팀에서 내게 필요한 능력, 그리고 키워 나갔던 능력은 영어, 메일을 잘 쓰는 능력 등이었다. 물론, 업무 영역에는 디버깅도 어느 정도 포함되어 있었기 때문에 '남이 만들어 둔' 소프트웨어를 분석하는 능력도 키울 수 있었다. 하지만 어디까지나 업무의 일부분일 뿐이었기 때문에 나만의 무언가를 만들면서 배우고 고쳐나가는 경험은 할 수 없었다.


  내가 해야 할 업무가 실제 내가 생각했던 개발자가 해야 하는 일과 큰 괴리가 있다는 것을 깨달은 후, 어떻게 나의 정체성을 유지해야 할까 하는 고민을 하기 시작했다. 여기서 내가 말하는 정체성이란 개발자로서의 정체성인데 앞서 말했던 새로운 기술을 배우고 지속적으로 발전하여 성장하는 개발자가 되는 것이었다.


  그런 갈증 때문에 나 스스로 무언가를 만들어봐야겠다는 생각을 계속하게 됐고, 이를 해결하기 위해 실행했던 게 업무를 좀 더 편하게 할 수 있도록 만들어줄 툴을 개발하는 것이었다. 그때 당시 내가 진행하고 있던 과제는 굉장히 비효율적인 테스트 방법을 가지고 있었다. 나는 이를 해결하고 싶었고 테스트를 더 효율적으로 바꾸기 위한 툴을 만들기 시작했다. 물론, 이 툴의 개발은 나의 정식 업무가 아니라 나 스스로의 필요로 만드는 것이었기 때문에 내 업무와 병행하여 개발하기 시작했다. 툴은 그래도 꽤 쓸만하게 만들어졌고 내가 속해 있던 HQ뿐만 아니라 같이 일하던 외부 개발팀에게 까지 전해지게 되었다. 툴은 꽤 호평받았고 이런저런 기능 추가에 대한 요구 또한 받게 되었다. 사실 학생 때 만들었던 것들은 대부분 공부를 위한 것이었고 남들에게 내가 만든 결과물을 배포하는 것은 처음이었기 때문에 신나서 여러 기능 추가를 해주었던 기억이 난다. 하지만 앞서 말했듯 툴의 개발은 어디까지나 부가적인 업무였고 나의 어떤 성과로 잡히는 일이 아니었다. 때문에 원래 하던 일은 하던 대로 하게 되고 이 툴의 유지보수는 유지보수대로 또 하게 되었다. 결과적으로 나는 나에게 어떠한 보상도 없는 일을 스스로 만들어낸 꼴이 되었다. 결국 점차적으로 나는 그 툴의 유지보수를 등한시하게 되었고 여기서 나의 업무 외에 뭔가 새로운 것을 만들어내는 것은 그다지 도움이 되는 일이 아니라는 것을 깨닫게 되었다. 공부를 목적으로 무엇인가를 만든다면 차라리 퇴근 뒤에 내가 더 재밌어하고 흥미로워하는 주제로 만드는 것이 몇 배는 더 낫겠다란 생각을 하게 되었다.


  이후에 한 일은 업무로써 하는 개발에 좀 더 적극적으로 참여하는 것이었다. 앞서 말했듯이 대부분의 개발은 외부 개발팀에 의해서 이루어졌지만 어디까지나 HQ(Headquarter)는 내가 속해 있던 개발팀이었기 때문에 소스코드의 반영 등의 권한은 나에게 있었다. 따라서 마음만 먹으면 프로젝트에 나의 소스를 얼마든지 넣을 수 있었다.(물론 리뷰 등의 절차가 필요하다.) 그때 마침 나와 함께 일을 하던 리더 격의 책임급 개발자는 일부분이라도 개발의 내재화를 하고 싶어 했고 나 또한 개발의 욕구가 있었기 때문에 작은 부분을 내가 맡아서 개발하기로 했다. 개발하는 부분이 IDE에서 '새 프로젝트'를 눌러서 만드는, 아예 새로운 프로젝트가 아니라 프레임워크를 분석하고 덧붙이는 일이었기 때문에 작은 부분의 개발이었지만 시간은 꽤 걸렸던 것으로 기억한다. 소스가 어떻게 동작하는지 확인하고 분석하기 위해서 이 코드 저 코드 넣으면서 진행(설상가상으로 빌드 타임이 굉장히 길었다.)했기 때문에 고생을 꽤나 했지만 요구사항대로 완성했고 내 소스코드를 반영할 수 있었다. 이때 나는 내가 만든 코드가 제품으로 출시될 것이라는 생각에 뿌듯해했었다.

  하지만 얼마 후 개발을 도맡아 하던 외부 개발팀 측에서 나의 코드 대신 자신들이 만들어온 코드를 내놨고 HQ에서는 내부 회의 후 그들의 코드를 반영하기로 결정했다. 사실 앞으로도 계속 그들이 개발을 주로 진행할 것이었고, 해외 인력의 특성 상 나와 지속적으로 의사소통을 해나가며 개발하는 것은 힘든 일이었기 때문에 그들의 코드가 반영되는 것이 맞다는 것은 알고 있었다. 그들이 모든 소스를 개발하는 것이 비행기를 타고 한참을 날아가야 만날 수 있는 나와 함께 개발하는 것보다는 훨씬 낫다는 것은 자명한 사실이다. 하지만 적당한 이유가 있었다 하더라도 개인적인 충격은 분명 존재했다. 다른 사람들이 만들어놨던 코드를 하나하나 뜯어보며 열심히 분석했고 최대한 그에 맞게 개발했지만 결국 내 코드는 형상관리 서버 내에서 간단하게 delete 되어 버렸다. 이때 이후, 나는 HQ의 역할(적어도 내가 있던 개발팀에서 하던 역할)에만 충실하기로 마음먹고 더 이상 어떤 일부분을 내 스스로 개발하려는 노력을 포기했다.(물론 디버깅에 필요한 코딩은 했다.)

매거진의 이전글 대기업 개발자의 업무
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari