나는 멋있게 추락하고 있는거야 : 2023년 회고

주싱·2024년 1월 4일
27

생각

목록 보기
1/12

2023년 한 해를 상징하는 단어를 떠올려 보라고 한다면 나는 ‘고통’이라는 단어를 꼽고 싶다. 그리고 몇 장의 단어를 더 뽑을 수 있다면 ‘부끄러움’이라는 단어도 뽑고 싶고 ‘실패’ 같은 단어도 기어이 한 장 더 뽑고 싶다. 빼곡히 회고를 작성하고 보니 올해라는 단편만 잘라 보아서는 영 부끄러워 남에게 공개하기 힘든 일들로 삶이 가득하다. 1~2년은 더 지나야 숙성되어 어디 꺼내어 볼 수 있는 문맥있는 이야기가 될 것 같다. 그래서 올해의 일들이 잘 숙성되길 바라며 이 순간을 부끄럽지만 잘 기록해 둔다.

1. 추락하는 나

"이건 나는 게 아니라 멋있게 추락하는 거야" (This is falling with style)
(토이스토리 첫 번째 이야기)

이 사진은 영화 토이 스토리 첫 번째 이야기의 클라이막스에 해당하는 장면이다. 자기가 장난감인 걸 알지 못하고 망상증세를 보이던 버즈(사진 속 위)는 우연히 괴팍한 옆 집 아이 손에 들어가 진탕 고생을 한다. 그리고 그 곳에서 티비 광고 속 자신의 모습을 마주하게 된다. 티비 속에 비친 자신은 하늘을 나는 특별한 우주 전사가 아니었고, 그저 마트에 진열된 흔한 장난감에 지나지 않는다는 사실을 알고 크게 상심하게 된다. 그리고 자기를 아끼던 원래 주인 앤디에게 돌아가기 위한 필사적인 노력을 하게 되는데… 하늘을 날아 주인의 품에 돌아가기 직전에 버즈는 이런 대사를 남긴다. “이건 나는 게 아니라 멋있게 추락하는 거야” 자신이 하늘을 날 수 있는 우주 전사가 아니라 장난감에 지나지 않음을 받아들이고, 장난감 날개를 사용해 주인의 품으로 온전히 떨어지려는 버즈. 자신의 진짜 캐릭터를 제대로 사용하는 버즈의 모습이 감동적이었다. 버즈가 던지는 이 대사와 장면은 올 한 해의 나를 잘 표현해 주는 것만 같다.

2. 절벽에서

단단하고 거친 하드웨어 회사

올해 2월 나의 세 번째 회사를 퇴사했다. 지난 커리어를 돌아보면 하드웨어 의존성이 높은 제품 개발을 위해 임베디드 시스템이나 네트워크 프로그래밍을 주로 했다. 내가 다닌 회사들은 대부분 하드웨어 엔지니어들이 중심이 되었는데 회사의 문화 역시 다소 단단하고 거칠었다. 이것을 하드웨어 중심적인 회사의 특징으로 치부하려는 내 과거의 생각은 올바른지 아닌지 사실 잘 모르겠다. 어쨋거나 그때 나는 그런 문화 속에 있는 사람들이 대게 딱딱하고 협력적이지 않다고 생각했다. 그리고 고객이 필요로하는 것을 찾으며 유연하게 문제를 해결하기 보다는 자기 생각대로 무언가를 만들고 보려는 성향을 가졌다고 생각했다. 그래서 내 안에는 더 유연하면서 협력적으로 사용자의 가치를 추구해 가는 회사에 가고 싶다는 열망이 지속적으로 일어났다. 그러나 현실적으로 내가 가진 기술과 경험을 필요로 하는 회사들은 대부분 그렇지 못했다. 그래서 세 번째 회사를 나오며 순수하게 소프트웨어로 데이터를 다루는 일(조금 더 구체적으로는 데이터베이스를 다루는 일)을 더 늦기 전에 해봐야 겠다는 생각을 했다. 그래야 내가 원하는 문화를 가진 회사에 갈 수 있을 것 같았다. 물론 퇴사 이유에는 다른 이유도 있었다. 여러 이유로 나와 잘 맞지 않는 떼어낼 수 없는 동료 몇몇이 있었고 그들로부터 나는 자유로워지고 싶었다. 어쩌면 이것이 더 큰 이유였을지도 모르겠다.

3. 하늘을 향해

구직 과정

회사를 나와 기존에 일하면서 아쉬움이 남았던 기술적인 부분들을 더 공부하기도 하고, 네트워크 프로그래밍이라는 내 강점을 강조하기 위해 오픈소스 프로젝트 하나를 시작해 일정 궤도에 올려 놓을 수 있었다. 그리고 Spring Data JPA와 오래전 대학 수업에서 들었던 SQL도 조금씩 살펴보며 구직 활동을 시작했다. 결과만 먼저 말하자면 구직 성적표는 좋지 못했다. 10년차 이상의 개발자가 기존에 경험하지 못한 분야에서, 지금껏 사용해 오지 않은 새로운 기술을 사용하는 포지션에 지원했을 때 나를 달갑게 받아주는 회사는 거의 없었다. 몇몇 회사는 그럼에도 불구하고 나에게 관심을 가져주기도 했는데 나도 아주 마음에 들었던 한 회사는 과제 테스트를 엉망으로 보는 바람에 떨어졌다. 기존에 해보지 못한 데이터베이스를 다루어 동적으로 데이터를 조작하는 과제였는데 나는 단기간에 그 문제를 풀 수 없었다. 코딩테스트만 취약하다고 생각했는데 처음 해보는 이런 분야의 일도 내게 쉬운 일이 아니었다. 그때 처음으로 현업에서 이런 문제를 만난다면 큰 곤욕을 치루었겠다는 생각이 들었다. 마지막으로 한 회사는 세 번의 면접을 거쳐 최종 합격을 했는데 그들은 기술스택이 일치하지 않는 나를 계속 확신할 수 없어 한다는 인상을 주었다. 연봉 협상을 하면서 의견 차이가 있었는데 내 기술스택의 불일치 여부를 제안 연봉의 이유로 꼽아서 당황스러웠다. 결국 이 회사는 입사를 고사하게 되었다.

네 번째 회사

그리고 나의 네 번째 회사가 나타났다. 이 회사는 내가 지원한 웹 백엔드 개발자 포지션 대신 C/C++ 경력을 필요로하는 빅데이터 처리 시스템 포지션을 역으로 제안해 주었고 면접을 보며 이 회사에 입사하게 되었다. 정확히 원했던 포지션은 아니었지만 어쨋든 순수한 소프트웨어 회사에서 데이터를 다루는 일을 해 볼 수 있게 되었다. 그러나 이 회사 입사를 결정하기 까지 고민이 많았다. 이 회사의 면접 경험은 사실 내 커리어에서 손에 꼽을 만큼 나빴는데 그럼에도 불구하고 나를 간절히 필요로 하는 것 같았고 괜찮은 연봉을 제안해 주었고 무엇보다 다른 더 나은 길이 내게 보이지 않아 입사를 결정하게 되었다. 이때는 첫 인상은 나쁘지만 직접 가서 좋은 관계를 만들어 보고 또 실제로는 그런 사람이 아닐 수 있으니 직접 가서 보고 판단하자는 마음으로 입사했다. 그러나 면접에서의 경험은 그대로 회사 업무로 이어졌고 3개월여 만에 퇴사를 결정하게 되었다. 돌아보면 면접에서의 나의 불안한 직감은 정확히 들어 맞았다. 그러나 사실 다른 길이 없었다. 나는 이 곳에 들어가 고생을 하고 배우고 교정되어야 할 부분이 분명히 있었던 것 같다. 아프지만 인정하지 않을 수 없다.

4. 첫 번째 추락

더욱 거친 정통 소프트웨어 회사

나의 네 번째 회사의 몇 개월의 시간을 간단히 요약해 본다. 이 회사에 입사해 보니 내가 담당할 제품 파트의 기존 개발자들이 모두 퇴사한 상태였고 내 면접관이었던 리더(큰 부서 전체 리더)는 놀랍게도 혼자 이 파트의 개발과 유지보수를 직접 해오고 있었다. 팀에는 신입 인턴으로 입사해 일한지 1~2년된 개발자 7명이 부서 리더의 관리 아래 있는 특이한 팀 구성을 가지고 있었고 그들이 일하는 동안 경력직 채용은 내가 처음이라고 했다. 어쨌든 이 제품의 백엔드 시스템은 4개의 서비스로 구성된 꽤 규모가 있는 프로젝트였고 내가 사용하게 될 기술도 처음 접하는 것들이라 기존 개발자들의 많은 도움이 필요했다. 그러나 별도의 온보딩 과정 없이 즉시 이슈를 할당 받아 업무를 시작했는데, 시스템이 어떻게 구성되어 어떻게 상호작용하고, 프로그램의 시작점이 되는 API에 대한 스펙이나(또는 문서), 테스트를 위한 환경 구성 등에 대한 아무런 문서도 설명도 없었다. 리더는 다만 코드 저장소 URL을 던져주었고 코드를 보고 찾아내기에는 너무 비효율적이라 생각되는 것들을 질문하면 양파껍질 까듯 하나씩 부분적으로 설명을 해주었다. 그는 내 유일한 Co-Worker 였는데 그냥 나와 일하는 스타일이 잘 맞지 않았다 정도로 기록해 둔다. 그리고 혼자 방을 쓰는 본부 전체의 리더이기에 쉽게 대화를 나눌 시간도 여건도 마련되지 않았다. 이 회사는 수습기간이라는 제도가 없었지만 나는 이 회사에 들어가면서 스스로의 수습기간을 정해두었고 회사에 대해 탐색해 보기로 했었다. 내가 정한 수습기간이 만료되어 갈 때 즈음 짧은 시간이었지만 여러모로 내가 잘 적응해서 성과를 낼 수 없는 환경이라는 것을 확신할 수 있었다. 어찌된 일인지 거칠었던 하드웨어 중심의 회사에서의 시간과는 비교할 수 없을 정도로 더욱 거친 정통 소프트웨어 회사의 온보딩 과정이었다.

유연함을 구현하는데 드는 비용

이 회사를 퇴사하기 직전에 빅데이터 처리 시스템에서 주로 사용되는 Apache Parquet 파일의 복합 컬럼을 다루는 일을 했다. 복합 컬럼을 1차원적으로 펼쳤다가 나중에는 다시 복원하는 과정이 필요했다. 복합 컬럼은 크게 구조체 타입과 리스트 타입으로 나눌 수 있는데 구조체의 요소로 리스트가 있을 수 있고, 리스트의 요소로 다시 구조체가 있을 수 있었다. 이런 구조가 개념상 무한이 반복되고 확장될 수 있는 형태였다. 또한 이 복합 컬럼의 구조가 미리 결정된 형태로 제공되지 않아 런타임에 입력된 데이터에서 동적으로 구조를 해석해야 했다. 이 문제를 풀다가 유연함이라는 것을 구현하는데는 큰 복잡성과 비용(개발, 성능 등)이 든다는 사실을 직시하게 되었다. 사실 현실에서는 이렇게 무한히 복잡한 케이스를 다루지 않을 수 있는데 이것들을 완전히 유연하게 구현하려 하다 지나친 개발 자원을 투입하는게 될 수 있겠다는 생각이 들었다. 또한 빅데이터 처리에는 성능이 무척 중요한 요소가 되는데 이 복잡한 구조를 다루느라 성능에 큰 영향을 줄 수 있었다. 내가 의사결정권자였다면 조금은 딱딱하지만(유연하지 않지만) 간단한 요구를 만족하도록 빠르게 구현하고 고객의 피드백을 받아보며 적정한 유연함을 찾아갔을 것 같다. 어쨋든 이 문제는 내게 꽤 어려웠다. 이 문제를 어렵게 만든데는 여러 복합적인 요소들이 함께 작용했지만 만약에 이외 모든 조건이 완벽하고 오직 내 개발 실력만이 도마위에 있었다고 하더라도 나는 이 문제를 쉽게 풀지 못했을 거라 생각한다.

나를 믿어주고 지지해 주던 사람들

사실 나는 세 번째 직장까지 늘 좋은 성과를 냈고 주변 사람들에게 인정을 받았다. 그래서 일에 대해서 만큼 항상 자신감이 있었던 것 같다. 새로운 분야에 도전하며 내가 노력하면 못할 일이 없다고 내 마음을 붇돋아 주었다. 그러나 이러저리 뒹굴고 깨지고 하다보니 알게 된다. 내가 슈퍼 개발자여서 그 동안 좋은 성과를 낼 수 있었던 것이 아니었다. 그렇게 힘들어 하던 과거의 직장 속에 나를 도와주고 나를 지지하며 나를 믿고 기다려주는 사람들이 있었음을 기억하게 된다. 그리고 내가 잘 할 수 있도록 특별한 일이 내게 주어졌고 그래서 나는 좋은 성과를 낼 수 있었던 것일 뿐이었다. 나는 아무 일이나 다 잘 할 수 있는 사람이 아니며 누군가의 도움과 지지와 믿음 없이 혼자 날아다닐 수 있는 사람도 아니었다. 이 회사의 경험을 통해 어떤 이유에서든 내가 풀 수 없는 문제가 존재한다는 사실을 뼈저리게 인정하게 되었다. 건강한 깨어짐이라고 생각한다.

동적으로 변화되는 상황

이때 나는 내가 동적으로 변화되는 상황을 다루는 코드를 다루어본 경험이 많지 않다는 것 역시 깨닫게 되었다. 그 동안 하드웨어를 많이 다루다 보니 코드를 작성하기 전에 스펙을 확정하고 구현하는 일이 잦았기 때문일 것이다.

5. 두 번째 추락

꿈 같은 회사의 연락

이 회사의 퇴사를 마음에 생각했을 때 즈음 메이저 게임 회사에서 관심을 가지고 연락이 왔다. 이런 회사에서 직접적으로 연락을 받는 일은 처음이었다. 채용공고의 직무 요구사항을 읽어보니 하드스킬 측면에서는 나와 공통점이 거의 0에 가까웠다. 그러나 일 자체는 게임 개발이 아니라 내가 좋아하는 제품의 트러블슈팅을 돕는 서비스를 개발하는 것이라 무척 관심이 갔다. 이 사람들이 하드스킬 측면에서 전혀 공통점이 없는 나를 왜 보자고 했을지, 큰 기업이니까 충분한 적응 시간을 주면서 나를 키워보려는 것인지, 온갖 생각이 다 들었다. 면접 프로세스를 읽어보니 손코딩 테스트가 있는데 걱정이 되었다. 코딩테스트 연습을 꾸준히 하는 것이 올 한 해 목표이기도 했는데 꾸준히 지속하지 못했기 때문이다. 그래서 여전히 코딩테스트를 앞두면 떨리고 자신이 없다. 그리고 이번에는 라이브 손코딩 테스트라니. 불안함은 더 컸다. 그때 문득 이런 생각이 들었다. 코딩으로 돈 버는 프로 개발자인데 코딩으로 테스트를 보는 일이 이렇게 떨리는 내가 정상인가? 아무리 코딩테스트에 나오는 종류의 문제를 현업에서 다루지 않는다 하더라도 뭔가 내게 이상이 있다는 생각이 들었다.

면접, 퇴사 고백해야 할까?

이 회사에 지원을 하고 면접을 앞둔 2주 정도의 사이 시간에 네 번째 회사를 그만두고 나오게 되었다. 그 사이 리더와 중요한 트러블이 있었고 도무지 업무를 지속해 갈 수 없었다. 다니던 회사를 3개월 만에 퇴사한 이력은 분명 이직에 마이너스 요인으로 작용하지만 어쩔 수 없었다. 이력서를 제출했을 때에는 재직중이었는데 면접을 볼 시점에는 퇴사 상태가 된 기이한 상황이었기에 면접에서 이 사실을 말해야 할지 말아야 할지 무척 고민이 되었다. 말하면 분명 나에게 마이너스 요인이 될게 뻔했다. 구구절절 나의 상황을 설명할 수도 없고 온전히 내 상황이 전달되기도 어려울 터였다. 그래도 내가 늘 소중하게 생각하는 신뢰에 대해 생각하며 나에게 손해가 되더라도 상대방의 결정에 영향을 주는 사실을 숨겨서는 안된다는 결정을 했다. 다만 면접 시작부터 이 얘기를 하면 선입견이 작용할 것 같아 면접 끝에 말하는 전략을 세웠다. 면접 당일. 이 회사의 면접은 내가 지금까지 경험한 면접들과는 수준이 달랐다. 그야말로 고급 질문들이 계속 들어왔고 대충 기술을 사용만 해서는 대답할 수 없는 질문들이 날아왔다. 내가 답변을 잘했는지 어땠는지 피드백을 받지 못해 잘 모르겠다. 결과적으로 탈락한 것으로 보아 아주 마음에 드는 답변을 주지는 못한 것 같다. 면접 마지막에는 손코딩 테스트가 있었는데 화이트보드에 문제를 해결하는 과정을 대화를 하며 풀어가는 것이었다. 떨렸고 결과적으로 잘하지 못했다고 생각하지만 나에게 무척 좋은 경험이었다고 생각한다. 나도 다음에 사람을 채용할 일이 있다면 잘 활용해 봐야겠다는 생각이 들었다. 손코딩 테스트는 전혀 생각지도 못한 어려운 문제가 하나 나왔고 제대로 문제를 풀어가지 못한 것 같다. 다른 문제 하나는 아주 쉬운 기본적인 것이었는데 미리 생각해 본 문제라 쭉 풀 수 있었다. 그러나 이 또한 피드백을 받지 못해 어땠는지 나는 모르겠다. 마지막에 이런 손코딩 테스트는 처음이라 너무 어렵네요, 라고 말했더니 면접관이 나름 잘하셨어요 라는 말을 해주었지만 의례적인 답변인지 진짜인지 모르겠다. 그리고 마지막에 이전 회사의 퇴사 사실을 알렸다. 그들의 얼굴 빛에 당황해 하는 기운이 살짝 비쳤고 이 사실이 내 탈락에 영향을 미친 것인지 기술적인 능력이 부족해 보여서 탈락한 것인지 알 수 없다. 대게 회사 면접에서 탈락할 때 기분이 좋지 않은데 이 회사는 면접 과정을 통해 내가 한 단계 성장한 것 같다는 좋은 느낌이 들었다. 그리고 조금 더 자세히 공부하고 사람들과 나누고 싶은 어떤 주제도 만나게 되어 내 인생에 좋은 디딤돌 역할을 해준 면접이라고 생각한다. 물론 이 회사의 탈락으로 나는 아무데도 갈 곳이 없는 낙동강 오리알 신세가 되었다. 먼저 연락을 주셨기에 은근슬쩍 합격을 가능성을 높게 봤는데 떨어지니 좌절의 마음은 사실 더 컸다. 다만 배움이 있었고 새로운 기회의 창을 만나게 되어 기뻤다는 뜻일 뿐이다.

6. 세 번째 추락

돌아가는 쉬운 길, 무리수

다시 구직활동을 하지 않으면 안되었다. 우리 집 통장 잔고가 바닥을 드러내고 있었다. 그러나 나는 사실 너무 지쳐있었다. 3개월여 만의 퇴사를 겪기 까지의 스트레스가 컸고 내 통장 잔고 만큼이나 구직활동을 할 내 힘은 바닥을 치고 있었다. 그래서 나도 모르게 쉬운 길을 생각하게 되었다. 쉬운 길이란 건 바로 직전 회사로 다시 돌아가는 것이다. 직전 회사의 팀 리더가 언제든 돌아오라는 말을 하곤 했었고 종종 연락도 하고 지내고 있었기에 자존심은 상하지만 그 길을 내 머리 속에 떠올렸다. 그 말을 꺼내기까지 큰 내적 갈등을 겪었지만 자존심을 앞세울 상황은 아니었다. 그래서 문자 메시지를 남겼다. 거두절미하게 퇴사 소식을 전했다. 그때 까지는 내가 돌아가고 싶다는 직접적인 의사는 전달하지는 않았는데 내 퇴사 소식을 전해들은 그의 반응은 예상 밖이었다. 예전 처럼 당장 다시 오라는 말 대신, 왜 그랬냐며 힘내라고 눈물 이모티콘을 보내왔다. 나는 사실 이 리액션을 보고 내가 다시 돌아가지 못할 수도 있겠다는 직감이 들었다. 직감은 직감이니 다시 그를 만나 내 의사를 전했다. 그는 눈치 빠르게 이미 다시 돌아갈 수 있겠냐는 내 질문에 대한 답변을 가지고 왔는데 나를 불편해 하는 팀원이 있다고 했다. 내가 불편해 했던 그들이 있었기에 그들도 나를 불편해 할 수 있다는 생각을 못했었다. 나도 참 이기적이다. 그는 내게 미안해 했지만 지금 안에 있는 동료들을 챙기는게 우선인 걸 이해한다. 그 순간 무척 자존심이 상하고 얼굴이 화끈거릴 정도로 부끄러웠지만 괜찮은 척 하고 자리를 일어 났다. 이제 내가 지쳤냐 힘이 남았냐 등을 생각할 겨를도 없다. 다음날 바로 구직활동을 다시 시작했다. 다음날 오히려 감사한 생각이 들었다. 이전 직장으로 다시 돌아가고자 했던 내 생각은 합리적인 판단에서 나온 것이 아니었다. 잠시 너무 힘들어 정신을 잃었던 것 같다. 다시 정신을 차렸다.

7. 안전한 착지를 향해

다시 잘하는 일

마흔을 바라보며 새로운 분야에 도전했지만 결과는 참담했다. 이례적으로 입사한 회사에서 3개월 만에 퇴사까지 하게 되었고, 생존을 위한 자금도 이제 바닥을 드러내고 있어 안정적인 방향으로 내 커리어를 드라이브하지 않으면 안되었다. 이제 기술적인 측면에서 내가 가장 잘 할 수 있는 임베디드 시스템이나 네트워크 프로그래밍 일을 찾아야 겠다고 생각했고, 업무 분야도 우주나 방산 분야도 불사해야겠다고 생각했다. 그럼에도 불구하고 동시에 보다 유연하고 문제 해결을 지향하는 문화를 가진 회사를 찾아봐야 겠다는 작은 희망은 놓치 않았다.

유연한 것에 대한 정의

새로운 회사를 찾고, 새 회사의 면접을 다시 준비하면서 내가 유연한 회사를 간절히 원하고 있다는 것을 느낄 수 있었다. 그래서 내가 원하는 유연함이란 무엇인가에 대해 정리해 보는 시간을 가졌다. 먼저 이 유연함이란게 어디에서 오는건지 궁금해졌다. 내가 생각한 것을 정리해 보면, 유연함이란 건 ‘과거에 옳았던 결정이 현재의 사람들과 상황 안에서는 틀릴 수 있다’ 또는 ‘내가 현재 옳다고 여기는 것이 실제로는 틀릴 수 있다’는 겸손한 자세에서 오는게 아닐까 생각하게 되었다. 그래서 유연함은 현재를 함께 하는 사람들의 상태가 어떠한지, 그리고 현재의 시장의 상황, 고객이 필요한 것 등이 무엇인지 늘 귀를 기울여 배우려 하는 태도를 가지고 있다고 생각한다. 조직의 매니저라면 팀원들이 어떤 상태이고 어떤 생각을 하는지 이해하기 위해 지속적으로 대화를 한다거나, 제품 개발팀이라면 고객을 만나서 어떤 형태(프로토타이핑, 인터뷰 등)로든 질문을 하고 피드백을 받으며 제품을 고객의 정답 가까이 조정해 나갈 것이다. 소프트웨어의 코드 역시 이런 기조에 발맞추어 가려면 유연해야 한다. 그러나 앞서 경험을 통해 느꼈던 것 처럼, 유연함에는 큰 비용이 든다는 사실을 유념해야 한다. 그래서 무한한 유연함이 아니라 실세계에서 필요로 하는 적정한 유연함을 찾고 추구해야 하는 것 같다. 그러고 보니 이 적정한 유연함을 찾는데도 겸손히 듣는 자세가 요구되는 걸 봐서 이건 정말 중요한 덕목인 것 같다. 이쯤에서 나에게 질문을 하게 된다. 나는 정말 유연한 사람인가?

아내의 눈물

네 번째 회사를 퇴사하고 메이저 게임 회사 면접에서 탈락하면서 아내는 큰 불안을 느낀 것 같다. 하루 종일 웃는 일이 없어졌고 죽은 사람 마냥 멍하니 우리 상황을 관망하고 있었다. 늘 도전하는 나를 지지해 주는 아내였지만 이번에는 아내 역시 그럴 힘이 없어 보였다. 구직 활동을 하던 어느 날 신혼 때의 아내의 사진을 열어 보게 되었다. 눈물이 핑 돌았다. 아내를 너무 고생시킨 것 같아 마음이 아팠다. 요즘 부쩍 눈물을 자주 보이는 아내 앞에서 나도 함께 울고 싶었지만 그래서는 안된다는 생각이 들어 마음을 억눌러 꾹꾹 참는다. 개인적으로 물직적인 풍요를 내 기도 제목에 넣어본 적이 없는데 유난히 이번 겨울을 지나며 아내에게 물질적인 풍요로움을 주고 싶다는 간절함이 생긴다. 직장이 안정되고 아내에게 큰 사랑과 풍요로운 생활을 선물할 수 있으면 좋겠다. 이 시기의 아내는 다른 어떤 말로도 위로해 줄 수가 없어 보였다. 그가 느끼는 극도의 불안감은 다정한 말 같은 종류의 것으로 해결할 수 있는 것이 아닌 것 같았고, 오직 새로운 회사 취직 소식을 필요로 하는 듯 했다. 이 시기 우리는 싸우지 않았음에도 서로 마주 앉아 아무말 없이 있는 시간이 늘었고 서로를 어떻게 위로해야 할지 알지 못했다.

막노동이라도 해야할까?

다시 시작한 구직 활동은 역시 쉽지 않았다. 최악의 경우에 개발자 일을 잠시 멈추고 막노동이라도 해야할지 고민이 들었다. 아내는 당근마켓의 알바자리를 알람해 두고 일자리를 들여다 보기 시작했다. 아 모든 것이 막막하고, 내 마음은 자주 무너져 내렸다.

8. 착지 포인트 찾기

한 우주 스타트업

눈에 보이는 대로 내가 일할 만한 여러 기업에 이력서를 넣었다. 그 중에 처음 들어보는 우주 분야 스타트업이 있었다. 이전 회사에서 일하면서 국내의 왠만한 우주 기업들은 들어보았는데 이 회사는 처음이었다. 이 회사에 이력서를 낸 날 저녁 예전 회사 선배에게 전화가 왔다. 그는 내가 직장 생활 중에 만난 가장 내적 친밀감이 높은 사람이었다. 그에게는 사실 부끄러워 내 퇴사 소식과 구직 소식을 알리지 않았다. 늘 돌아오라고도 하고, 다른 좋은 회사 좋은 포지션을 소개해 주려 하지만 번번히 방산회사라는 이유로 거절했고 여러 가지로 미안한 것들이 있어 그에게 연락을 할 수가 없었다. 그는 단번에 내 상황을 꽤뚫고 있었는데 어떻게 내 소식을 알았는지 물었더니 다른 회사에서 전화가 왔단다. 오늘 지원한 회사였다. 알고보니 그 회사에 이사로 계신분이 국방과학연구소 출신이셨고 예전에 내가 했던 프로젝트를 옆에서 지켜보셨던 분이셨다. 그래서 그 당시 함께 일을 했던 하드웨어 팀 부장님께 나에 대해 물었고 그 부장님이 나의 친한 선배에게 다시 물어본 것이었다. 이런 일은 이직을 하면서 처음 겪는 일이다. 어쨌든 나를 좋게 본 우주스타트업에 나는 최종 합격하게 되었다.

마음의 걸림 두 가지

이 회사의 입사가 결정되고 지금까지 받은 연봉 중에 가장 높은 연봉을 제안 받았다. 심지어 대전에 있는 회사인데 서울에 있는 네 번째 회사보다 더 높은 연봉을 제안해 주셨다. 확실히 기존에 경험한 도메인, 경험한 기술을 가지고 면접을 보니 분위기가 많이 달랐다. 그런데 이 회사 면접을 보며 걸림이되는 두 가지가 있었다. 하나는 내가 입사하자 마자 2주 안에 개발을 완료해야 하는 프로젝트가 하나 있다고 하는 것이다. 테스트를 하고 릴리즈하는 거냐 물으니 새로운 하드웨어가 이제 나오고 그것 위에서 소프트웨어가 동작하도록 개발을 완료해야 한다고 한다. 다른 하나는 면접 중에 받은 하드웨어를 같이 하실 수 있겠냐는 질문이다. 당황스러운 질문이었다. 최근에 스태프 엔지니어란 개념에 대해 들으며 하드웨어팀과 소프트웨어팀을 아우르는 리더 역할을 잘할 수 있겠다는 생각을 한 적이 있지만 하드웨어 엔지니어가 하는 일 자체를 내가 할 수 있다는 뜻은 아니었다. 그분이 내게 요구하신 수준은 하드웨어 회로를 설계하는 수준은 아니었지만 대게 하드웨어 엔지니어들이 수행하는 요구사항을 만족하기 위한 시스템을 설계해서 적절한 서브 시스템들을 구매하여 통합하는 일 등의 작업을 요구하는 듯 했다. 어쨋든 내가 잘 할 수 있다는 대답은 선뜻 나오지 않았다. 이 두 가지 걸림을 생각하며 나 자신에 대해 돌아보게 된다.

장거리 러너

나는 장거리 러너에 가까운 성향을 가지고 있는 것 같다. 새로운 일을 처음 시작할 때 천천히 달리며 몸을 일정 궤도에 올려 놓는 시간이 필요하다. 왜 이 일을 하는건지 공감하고 싶고, 배경이 되는 기술도 탐색해 보고 익숙해 지는 시간이 필요하다. 일에 어떤 배경이 존재하는지 찾아보려고 하고 가까운 미래에 중요한 일이 무엇인지 전략적인 계획도 세워 본다. 이렇게 일정 궤도에 오르는데 시간이 걸리지만 그 후부터는 누구보다 놀라운 속도로 일을 해내기도 하기에 어떤 경우에 빠르게 일을 하는 것 처럼 보이기도 한다. 예를 들면 누군가는 1년 내내 하나의 프로젝트로 만들던 시뮬레이터 같은 것을 1주일 만에 간단히 만들어 더 나은 성능을 낸적이 있다. 그건 갑자기 그 일을 내가 잘 할 수 있었던 것이 아니라 그때 까지 잘 예열되어 다듬어져 있었기에 가능한 일이었다. 입사하자 마자 2주만에, 계약서에 잉크도 마르기 전에 어떤 개발을 마무리 해야한다는 사실은 나를 많이 고민하게 만든다. 일을 어떻게 관리했기에 이렇게 급박하게 일을 하는 상황까지 이르렀는지도 궁금하다. 일정에 쪼이며 예열할 틈도 없이 급히 일하기를 선호하지 않는 내가 이 일을 잘 할 수 있을지 의문이 든다. 그러나 여기까지는 모두 과거에 내가 알던 나로 투영해 본 걱정일 뿐이다. 사실 내가 처음 만나보는 이 상황에서 나는 전혀 예상하지 못한 방향으로 일하게 될 수도 있다. 물론 그 반대일 수도 있다. 고민이 된다. 그래서 오늘 입사전 짧은 미팅을 하며 회사에 대해 더 알아보기로 했다.

하드웨어를 같이 하실 수 있겠어요?

사실 하드웨어와 엮인 일은 과거 10년 동안 내게 큰 스트레스를 안겨주었다. 대게 회사에서 역할과 책임을 잘 나누고, 나누어진 일을 위임하고, 또 나누어진 것들을 다시 통합하려는 노력 없이 누군가 하겠지 버려둠으로 인해 말단에 있는 소프트웨어 엔지니어가 그 구멍을 땜질하는 일이 잦았다. 이것은 회색지대라기 보다 조직의 무관심과 누군가의 무책임이 만들어낸 구멍이었다. 뿐만아니라 하드웨어와 관련된 소프트웨어의 트러블슈팅은 언젠가 글로도 쓴 적이 있지만 재활용이 되지 않는 경험이 많았다. 굉장히 하드웨어 제조사에 특화된 문제를 겪고 다른 회사 제품을 사용하면 별 도움이 되지 않는 스페셜한 경험이 되기 때문이다. 아, 내가 이 일에 다시 뛰어 들어도 되겠는가?

프로그래밍을 하는 일

입사 예정인 나의 다섯 번째 회사와 사전 미팅을 가지며 내가 무슨 일을 하는지 자세히 알게 되었다. 일종의 오리엔테이션을 입사 전에 미리 한 셈인데 이 시간 이후 내 마음속에 입사에 대한 강한 거부감이 일어났다. 나는 안정된 하드웨어 위에서 프로그래밍 하는 일에 집중하고 싶다. 불안정한 하드웨어를 땜질하는 듯한 소프트웨어 개발은 하고 싶지 않다. 우리가 CPU, 운영체제, 컴파일러, JVM 등을 믿고 그 위에서 개발을 하는 것 처럼 하드웨어도 내게 그런 존재이면 좋겠다. 나는 프로그래밍으로 문제를 해결하는 일 자체에 집중하고 싶다는 생각이 간절히 들었다.

막노동꾼, 소프트웨어 엔지니어

이 회사의 입사를 고사할지 말지 깊은 고뇌에 잠겼다. 당장 갈 수 있는 회사는 없는데 다음 월급 날이면 우리 집 생활비가 바닥난다. 입사를 고사한다면 막노동이라도 하면서 계속 해서 도전을 이어가지 않으면 안된다. 순간 그간의 내 전문 분야와 관련이 없는 막노동을 하는 것 보다는 이 회사에서의 일이 막노동이라 생각하고, 내 전문 분야와 조금이라도 더 관계가 있는 일을 하며, (아내를 위해) 더 나은 보수를 받으며 일하는게 낫지 않은가 하는 생각에 이른다. 막노동이라는 메타포가 내게 강렬하게 와 닿는다. 고등학교 2학년 방학 때 잠시 잠깐 하던 막노동의 기억을 더듬어 본다. 매일 새벽 찬 바람 속에서 내가 오늘 무슨 일을 하게 될지가 결정된다. 봉고차가 나를 내려다 주는 곳에 도착하면 나는 오늘 무엇을 해야하는지 촉을 곤두세워 인지한다. 그리고 내 팔과 다리, 내 몸을 움직여 내가 할 수 있는 일을 하루 동안 한다. 일하는데 필요한 것이 있으면 필요하다 말하고, 내가 할 수 없는 일이 있다면 할 수 없다고 말한다. 누군가 기다려 달라고 하면 기다린다. 일터에 구조적으로 부족한 것이 있거나, 모난 사람이 있다고 불평하지 않는다. 나는 그들을 바꿀 수 없기 때문이다. 나는 그들에게 작은 영향을 줄 수 있지만 그 영향에 반응해 변화되는 것은 그들의 몫이다. 나는 그저 내가 할 수 있는 일을 최선을 다해서 한다. 나는 내가 할 수 있는 일을 제한하지 않는다. 나를 필요로 하는 일이 있고 그것이 불법이 아니라면 무슨 일이든 할 수 있다. 막노동을 하면서 거창한 가치 목표에 매몰되지 않는다. 유명한 성당 짓는 벽돌공의 예화는 아름다운 이야기지만 성당을 짓고 있다는 가치 목표는 현실에서 종종 보이지 않고 내가 아무리 최선을 다해도 성당은 지어지지 않거나 때때로 허물어 지기도 한다. 가치 목표에 지나치게 매몰되기 보다는 열심히 벽돌을 쌓고, 오늘 하루 일당을 받기 위해 일하는데 먼저 집중한다. 그러나 성당을 상상할 수 있다면 상상하며 벽돌을 쌓으면 일하는데 도움이 된다. 옆에 있는 사람을 돕고 나도 도움을 받기도 하지만 어떤 사람을 책임지려 하지는 않는다. 내가 만들고 있는 건물 역시 내가 책임지려고 생각하지 않는다. 무책임하게 일한다는 것이 아니라 내가 책임 질 수 없는 영역을 내 것 처럼 생각하지 않는다에 가까운 말이다. 나는 오직 벽돌을 제대로 쌓는데 집중하고 그것을 책임진다. 일을 하면서 나는 종종 몸을 신경쓴다. 나는 내일도 일을 해야하기 때문이다. 막노동이란 나에게 그런 것이었다.

9. 착지 직전

두려움에 대한 내면의 목소리

새해 첫 출근을 앞두고 새 회사의 삶이 여전히 걱정되고 두렵다. 순간 내 내면에 목소리가 들린다. 왜 이렇게 소심하게 구는 거야. 뭐가 그렇게 두려운거야. 담대한 마음을 가지란 말이야. 나는 과거의 내 삶이 내게 보여준 고통스러운 순간들과 실패의 순간들이 나를 두렵게 한다고 대답했다. 그래 나도 나를 이해한다. 미래는 충분히 과거와 다를 수 있을거라고 내 내면의 목소리가 다시 들린다. 한 마디로 내 미래의 삶은 과거의 어떤 것으로도 단정할 수 없는 성질의 것이라고 말을 건내온다. 내가 이 사실을 믿든, 믿지 않든 이 사실은 정말 참이며 내가 두렵다고 어떻게 할 수 있는 다른 길도 없는 것도 참이다. 나는 어떤 기분이든 이 길로 나아가지 않으면 안된다.

다시 회복되는 우리

다시 회사 합격 소식을 아내에게 전하고 급속도로 아내의 모습이 회복되는 것을 느낀다. 아내는 잘 모르겠지만 옆에서 보는 나는 그 차이를 극명하게 느낀다. 요즘 맞벌이가 많지만 혼자 생계를 책임지는 남편으로서 안정된 수입을 벌어오는 일은 부부 관계에서 정말 기본적이고 중요한 것 같다. 어떤 다정한 말도 중요하지만 우리는 먹고 마시지 않고 그런 다정한 말을 나눌 수 없는 듯하다. 아이러니하게도 내 합격 소식을 듣고 회복되는 아내의 모습을 보며 마음이 조금 심란해진다. 이 감정을 무어라 표현해야 할 지 지금의 나로서는 잘 모르겠다. 2024년 1월 2일 입사를 앞두고 3일간의 연휴다. 이틀은 기분이 몹시 다운된다. 내 몸에 기대오는 어여쁜 딸 아이들의 작은 부하에도 내 몸이 거부감을 드러낸다. 편하게 있고 싶다. 내 몸에 아무것도 올려 놓고 싶지 않다는 생각이 나를 지배한다. 아이들과 놀고 싶지도 않고 아내와 어떤 대화를 나누고 싶지도 않다. 이래서 회사에서 무슨 일을 할 수 있을려나. 내가 걱정이 된다. 마지막 날 가까스로 몸도 마음도 조금 회복된다. 그리고 운명처럼 다가온 새 회사의 출근을 마음으로 준비한다. 부디 좋은 사람들과 즐거이 일할 수 있었으면 좋겠다. 어떤 어려움이 있어도 거뜬히 이겨낼 수 있으면 좋겠다.

내 안에서 시작된 꿈

이직의 여정이 아름답게 마무리되고 이런 글을 발행하면 좋겠다. 그러나 나의 여정은 아직 진행 중이다. 새로 입사하는 회사가 안전한 종착지가 될지, 아니면 새로운 절벽이 되어 다시 날아야 할지 알 수 없다. 그러나 여기까지 일단락하며 2023년을 어쨋든 마무리한다. 거친 한 해를 보내고 끝자락에 서서 내년에 하고 싶은 일들을 생각한다. 내년에는 내 안에서 시작된 꿈을 조금 더 구체적으로 쫓아야겠다고 계획한다. 사람들에게 도움이 되는 두 가지 주제에 대해 연구하고 지식을 나누는 일을 해보고 싶다. 그리고 내 몸에 약간의 고통을 주는 운동을 꾸준히 하려한다. 내가 고통을 이겨내는 일에 취약해졌다는 생각이 들었기 때문이다. 달리기는 그 중 좋은 운동인 것 같다. 코딩테스트에 대한 두려움도 날려 버리고 싶다. 프로 개발자로서 코드로 문제를 해결하는 연습을 꾸준히 다시 시작할 것이다. 마지막으로 무엇보다 중요하고 큰 목표는 새로 입사하는 회사에 유연하게 잘 적응해고 매일 꾸준히 벽돌을 쌓고 월급을 받는 일이다. 벽돌을 열심히 쌓다가 성당 같은 멋진 목표도 만나면 좋겠고 함께 벽돌을 쌓는 좋은 동료들 역시 만나면 좋겠다.

10. 착지

입사 첫 날

입사 첫 날이다. 데이터베이스를 다루는 웹 서버 프로그래머가 되려 했는데 임베디드 시스템 프로그래머로 돌아왔다. 이번에는 그 어떤 때 보다 더 저수준의 하드웨어 제어를 요구하는 인공위성 탑재체 분야이다. 잠시 우주 분야에 다시 일한다고 생각하니 가슴이 뛴다. 우주는 먼가 거대한 느낌이 든다. 그 만큼 나도 거대한 우주적인 일을 한다는 착각을 불러 일으키기 때문이다. 입사 후 몇 가지 필요한 사항을 메일로 보냈더니 슬랙으로 대화를 하자고 답이 왔다. 어느 회사에서 메신저로 업무 요청을 했다가 메일로 다시 보내라고 짧은 답신이 왔던 것과 사뭇 다르다. 나는 이런 군더더기 없고 적절한 속도의 대화가 좋다. 주간 회의에 들어가니 Jira, Confluence, BitBucket으로 업무를 관리하는 것 같았고 나름 태스크 관리를 잘하고 있었다. 소프트웨어 분야는 아직 미약해 보였지만 우주 분야에 전문가들이 모여있는 것 같았다. 첫 날의 짧은 감상이다. 하루로 사람에 대해 알 수는 결코 없다. 그들도 나에 대해, 나도 그들에 대해 그럴 것이다. 내일도 오늘 처럼 잘 해보자. 오늘 잘하고, 내일 잘하고, 그래서 쭉 하면 N일이 되어도 잘하는 거란 요상한 생각이 잠깐 든다.

옛 직장 동료

지난 번 재입사를 위해 만났던 세 번째 직장 팀 리더가 이 회사 첫 입사 날, 퇴근 길에 연락이 왔다. Awaitility 라는 비동기 테스트 프레임워크에 대한 글을 찾아보다가 내 블로그 글에 많은 도움을 받았다고 고맙다고 했다. 그에게 웹 개발 환경에 대해 많이 배웠고 기술적으로 서로 많은 교감을 나누었었다. 그가 겪는 리더로서의 고통을 나는 알고 그도 내가 느꼈던 어려움을 공감하는 그런 사이라고 나는 그를 생각한다. 그와 이제 동종업계의 다른 회사에 일하는 사이가 되었다. 내 입사일을 그에게 알려주지 않았는데 우연인지 이렇게 연락이 온 그에게 새해 인사를 나누고 다시 한 번 감사함을 전한다.

11. 나의 날개

글을 쓸 때 시작과 끝을 연결하는 것은 좋은 습관이라고 생각한다. 나는 어쩌면 토이스토리의 등장인물 버즈처럼 나와 세상에 대한 망상을 가지고 살아왔는지도 모르겠다. 나는 두 발을 땅에서 때어 하늘을 향해 나를 던져보았다. 세상은 나에게 즉각 너는 날 수 없다는 피드백을 주었고, 그때 나는 날 수 없는 장난감에 불과하다는 사실을 직시하게 되었다. 그러나 다행히 나는 내 멋진 장난감 날개로 멋있게 떨어지고 있다. 누군가는 말한다. 꿈을 꾸되 두 발을 현실이라는 땅에 대고 살아야 한다고. 동의하는 부분이다. 그러나 한 편으로는 땅에서 두 발을 때어 보지 않으면 내가 날 수 없음을 알 수 없다. 그리고 내게 멋있게 착륙할 수 있는 장난감 날개가 있다는 것도 알 수 없다. 천천히 떨어져 보자. 나의 멋진 주인에게 다시 닿을 수 있으면 좋겠다.

profile
소프트웨어 엔지니어, 일상

12개의 댓글

comment-user-thumbnail
2024년 1월 11일

정말 멋진 글입니다... 완독하고 가요!

1개의 답글
comment-user-thumbnail
2024년 1월 11일

읽으면서 프로그래머의 삶이란 어떤것인지, 차분하게 생각해볼수 있었습니다. 좋은 글 감사합니다. 😄

1개의 답글
comment-user-thumbnail
2024년 1월 11일

너무 멋진 글이네요. 막막해질 때마다 다시 읽고 싶어질 그런 글 같습니다. 좋은 글 올려주셔서 감사합니다.

1개의 답글
comment-user-thumbnail
2024년 1월 12일

소름이 돋을 만큼 멋진 글이었습니다.
올 한 해 복 많이 받길 바라겠습니다.

1개의 답글
comment-user-thumbnail
2024년 1월 12일

안전한 착지를 준비하는 순간 그것은 '추락'이 아니라 '착륙'이 됩니다. 그리고 이륙은 착륙이 있어야 가능하죠. 멋지게 착륙하신 주싱님이 2024년 더 높게 이륙하셔서 비상하시길 기도합니다.

1개의 답글
comment-user-thumbnail
2024년 1월 18일

정말 멋진 글 잘 읽고 갑니다..
현재 제가 처한 상황도 비슷한 상황인데 글을 읽는것만으로도 큰위로를 받고 갑니다.
앞으로 하시는 모든 일에 하나님과 함께 동행하는 길이 되길 기도드리겠습니다..

1개의 답글