주니어인데 물어볼 ○○가 없는 환경에서 일해보신 분 계세요?
저 궁금한 게 있는데요, 주니어인데 물어볼 사수가 없는 환경에서 일해보신 분 계세요? 막히거나 어려운 거 어떻게 해결하셨어요? 그런 환경으로 들어서게 된 사람에게 해주실 얘기 있으세요? (출처)
몇 달 전에 타임라인에서 이 질문을 보고 한참이나 오래 전 일을 생각해보다가 언제 글을 남겨놔야겠다고 생각했는데 어느새 몇 달이 지났습니다. 그러는 사이에 같은 주제를 여러 번 다시 생각해 볼 일이 있었지만 생각을 반복함에 따라 과정이나 결과가 크게 달라지지는 않았습니다.
사수가 없는 환경에서 일을 처음 시작했다는 것은 보통 두 가지를 예상할 수 있습니다. 먼저 사수가 없는 환경에 신입을 채용해 도움을 받을 사람이 없는 환경이라는 것은 내 고용주가 신입인 내 성장에 아무 관심이 없다는 것입니다. 당장 눈앞에 닥친 문제를 어떤 방식으로든 해결해낼 수 있으면 그걸로 목적을 달성한 겁니다. 그 과정에 어떤 방법을 사용하든, 그 방법이 장기적으로 옳든 옳지 않든 별로 상관 없습니다.
그리고 신입인 나의 고용주는 이 업이 장기적으로 이어진다는 생각을 하고 있지 않을 겁니다. 만약 이 업을 장기적으로 이어 가고 싶다면 사수가 없는 상황에 신입을 고용하지는 않을 것입니다. 고용주 자기 자신이 사수 역할을 할 수 있지 않다면 신입에게 기대하는 수준은 그리 높지 않습니다. 이런 고용주들은 주로 지금 당장 눈앞에 닥친 문제를 해결하는데 관심이 있으며 그 문제를 어떻게 해결했는지에 대해서는 별 관심이 없을 겁니다. 어떻게든 단기적인 목표를 달성하면 이 과정에서 나쁜 방법을 사용해 나중에 문제가 일어나거나 장기적으로 유지보수가 불가능하게 되더라도 별로 중요하지 않습니다. 이런 상황은 미래에 고용한 다른 신입이 또 나름의 방법으로 어떻게든 해결할 테니까요.
이런 상황이라면 도망치는 것이 좋은 선택이지만 도망을 그리 쉽게 결정하기 어려울 수도 있습니다. 신입인 나의 고용주가 단기적인 목표에 관심을 가지고 있듯 나 역시 중장기적인 성장 보다는 단기적인 급여에 더 관심을 가지고 있을 수 있고 이런 상황에서 도망은 단기적인 급여를 없애는 결과를 가져올 뿐입니다.
오래 전, 아직 게임 일을 시작하기 전에 지방에서 서울에 올라와서 한동안 고객이 준 정보에 기반해 개인화된 실제 물건을 제작해 배송하는 일을 하는 회사에서 웹 프로그램을 만든 적이 있습니다. 고객의 정보에 기반해 개인화된 제품을 생산한다는 아이디어는 제법 괜찮았지만 그 생산 과정은 템플릿에 기반한 수동이었습니다. 고객이 정보를 전달하면 이를 템플릿에 수동으로 배치하고 사람이 결과를 확인해 시간을 들여 개선한 다음 생산해야 했기 때문에 생산 속도는 상당히 느린 편이었고요. 고용주는 이런 과정을 개선하고 싶어 했지만 신입 웹 프로그래머는 고객이 준 이미지를 처리하는데 아무런 지식도 없었고 그 신입 프로그래머가 할 수 있는 일이라곤 주문, 결제, 배송조회 등의 웹 프론트엔드와 이에 대응하는 백엔드를 개발하는 것 뿐이었습니다.
다행히 주문 시스템은 그리 복잡하지 않았고 고객이 대량으로 정보를 줄 때 사용할 대용량 업로드 시스템은 당시 유행하던 누가 만들었는지 모를 플래시 기반 업로드 도구를 주워다가 얼기설기 붙여서 간신히 동작하게 만들었는데 보안 상 문제가 있었지만 다행히 돌아는 갔습니다. 의문이 생길 때 물어볼 사람은 아무도 없었고 작은 회사를 전전했던 것으로 예상되는 다른 초급 웹 디자이너 한 명과 하루하루 간신히 개발, 생산, 배송을 하고 있었습니다.
하루는 고용주가 어느 어딘가에 영업을 성사 시켜 제품을 대량으로 주문 받기로 했는데 이 주문을 위해서는 이 카페의 요구사항에 맞춘 주문 시스템이 필요했습니다. 당시 우리는 오직 무통장 입금으로만 결제할 수 있었는데 이유는 신용카드 결제를 붙이려면 뭘 어떻게 해야 하는지, 어느 회사와 이야기해야 하는지에 대해 완전히, 전혀, 완벽하게 몰랐기 때문입니다. 일단 그 카페의 나머지 요구사항에 대응한 주문 시스템을 만들었지만 요구사항에 포함된 신용카드 결제만은 어떻게 할 수가 없었습니다. 웃기게도 이 시점의 저는 신용카드가 없어 온오프라인에서 신용카드를 써 본 적이 없었고 온라인에서 신용카드 결제가 어떻게 진행되는지 조차 전혀 몰랐습니다. 제한시간 안에 어떻게 해 보려고 바둥거리다가 도저히 답이 안 나와서 고용주에게 포기 선언을 했고 고용주는 또 카페와 협의해서 신용카드 결제 없이 대량 주문을 받기로 했습니다.
주문이 제법 들어왔고 결제를 제법 받았고 고객들도 그럭저럭 만족한 모양이었지만 신용카드 결제가 가능했다면 더 좋았을 거라는 피드백을 받으며 배드엔딩은 아닌 수준으로 일이 마무리 됩니다. 한편 이 시점으로부터 그리 멀지 않은 미래에 급여가 밀리기 시작하며 급여가 밀린 채로 탈출했고 그 돈은 오랜 시간이 지난 지금도 받지 못했습니다.
시간이 흘러 웹 프로그램을 그만 두고 게임 만드는 일을 하기로 합니다. 그래서 어떻게 해서 첫 회사에 취직을 했는데 이 곳은 이전보다는 훨씬 많은 사람들이 일하고 있었지만 제가 속한 팀의 상사는 지금 생각해 보면 대리 초년차 정도였던 것 같습니다. 처음에는 그 상사가 엄청 높은 사람이라고 생각했는데 지금 생각해 보면 이전 프로젝트에서 실무를 담당했지만 팀을 이끌기에는 노하우나 관리에 대한 준비가 잘 되어 있지 않았던 것 같습니다.
제가 완전히 이상한 모양으로 일을 했을 때는 이를 지적하곤 했지만 그 외에는 업무 체계, 효율적인 진행, 팀에 목표를 일치시키거나 팀이 겪는 문제를 해결하는 등 팀의 시너지를 내는 일에는 거의 관여하지 않았고 팀에 닥쳐 온 요구사항을 해결하는 요령에 대해서도 거의 도움을 받지 못했습니다. 이전에 주문 시스템을 만들 때는 그나마 남이 만든 코드를 검색할 수라도 있었지만 이번에는 남이 쓴 기획서나 남이 설계한 데이터구조, 엑셀 파일 따위를 얻을 방법이 전혀 없었습니다. 이 문제로 연 단위로 스트레스를 심하게 받았는데 결국 요구사항을 잘 읽고 내가 옳다고 생각하는 방법으로 일하기 시작합니다.
이 때는 운이 정말 좋았는데 내가 옳다고 생각하고 설계한 방법에 협업 부서에서 딱히 의문을 가지지 않고 실행해 주셨고 시간이 흐른 다음 우연히 다른 회사의 다른 프로젝트의 산출물을 볼 수 있게 됐을 때 내가 옳다고 생각한 방법과 그들의 방법이 아주 다르지는 않았음을 알게 되었습니다. 이 때 아무 것도 모르는 상태에서 스스로 옳다고 생각한 방법으로 진행한 일에는 로직을 데이터 모양으로 표현한 간단한 스킬 시스템에 소개한 적이 있는 스킬 시스템이나 루아스크립트 모양으로 만든 게임 로직을 테이블 모양으로 바꾸는 일 따위가 있었는데 나중에 알고 보니 이런 일은 다른 회사에서도 똑같이 일어나는 일이었고 내 접근 방법이 다행히 완전히 틀리지는 않았습니다.
시작할 때 인용한 질문으로 돌아가 사수가 없다고 생각한 환경에 두 번 있었는데 한 번은 어떻게든 검색으로 버텼지만 잘 되지 않았고 다른 한 번은 요구사항을 듣고 그냥 내가 옳다고 생각한 방법으로 진행 시켰고 운이 좋았던 덕분에 그 방법이 완전히 틀리지는 않았습니다. 하지만 그 댓가로 커리어 초기에 사수의 도움을 받아 더 안정적으로, 더 빨리, 더 올바르게 성장할 수 있을 기회를 놓쳤습니다. 그래서 커리어 초기에 더 많이 삽질하고 더 많이 방황하며 좀 더 길게 이야기하면 더 좋은 기회를 얻어 생애소득을 더 올릴 수 있을 기회를 많이 놓쳤다고 생각합니다.
사수가 없는 환경에서 일하며 살아 남을 수는 있는 것 같습니다. 하지만 인용한 스레드에 있는 누군가의 답변처럼 도망칠 수 있다면 도망치는 것이 좋습니다. 단기적으로는 도망자 신세가 되겠지만 중장기적으로는 올바른 방법으로 적절한 속도로 성장할 수 있는 다른 기회를 찾을 수 있을 겁니다. 하지만 도망치는 것은 새로운 기회를 발견할 여지를 주지만 한편으로는 그 기회를 발견할 때 까지 살아 남을 돈을 없애버릴 수도 있습니다. 그래서 도망치라고만 이야기하기는 어렵습니다.
사수가 없는 환경에서 일하며 살아 남을 수는 있는 것 같습니다. 하지만 그 상황이 신입에게 적절한 상황은 아니며 앞으로 상대적으로 더 느린 성장과 더 어려운 과정을 거치게 되리라는 점을 감안해야 합니다.
추신. 이 글의 제목은 선정적 ○○ 만들기의 실험에 의한 것입니다.