2024
이렇게 우연적인 사건들이 모여 하나의 필연으로 이어지리라곤 상상도 할 수 없었다. 각각 시점도, 계기도 달랐고 서로 연관성도 없었던 선택들이 어느 순간 연결되어 새로운 길을 열어주었다. 아무 의미 없이 흩어져 있던 별들이 별자리를 이루어 밤하늘의 나침반으로 빛나게 된 것처럼.
0
엄마가 내 나이일 때 나는 열세 살이었다. 그 시절엔 주위 어른들이 모두 태산처럼 보였다. 웃자란 반항심으로는 가늠할 수 없는 연륜의 무게감이 부러웠다. 이제는 안다. 불안한 현재, 불확실한 미래에 대한 걱정은 나이를 먹어도 언제나 공기처럼 편재하는 것이다. 앞날의 근심을 숨기며 센 척 하는 일에 능숙해질 뿐이다.
그동안 별별 직업들을 거쳐왔다. 건어물 포장, 마트 수산 코너, 국가고시 답안지 배달, 영상 편집 등 이력서에 쓸 수 없는 이력들이 기억 한편에 가득하다. 딱히 모험심이 있어서 이랬던 건 아니다. 이리저리 쌓인 대출금과 최고장을 눈앞에서 치우려면 무엇이든 해야 했다. 이후에 얻은 두 번의 회사원 생활은 일 잘한다며 인정받던 환경을 적성이라 착각했던 시간으로 채워졌다. 회사 일을 내 일처럼 여기며 밤낮없이 몰입했던 세월의 끝엔 폐업 신고와 희망퇴직, 그리고 병원비 영수증만 남았다.
2020년 가을. 코로나로 모든 게 멈춰버린 때였다. 그제야 내가 정말로 하고 싶은 일을 돌아볼 여유가 생겼다. 더 이상 남의 청사진을 대신 그려주는 사람으로 남기 싫었다. 작게나마 내 손으로 가치 있는 무언가를 만들 줄 아는 사람이 되고 싶었다. 모든 경력을 원점으로 돌려서라도.
그때부터 여러 일을 벌이기 시작했다. 하버드의 CS50 원어 강좌를 찾아 듣고, 방송통신대의 컴퓨터과학과에 편입했다. 코드 한 줄도 읽기 버겁던 까막눈 주제에 이런저런 프로젝트에 손을 대기 시작했다. 한 방향으로 묵묵히 나아가다 보면 언젠가 어딘가에 닿겠지 하는 마음으로 견뎠다. 예전에 함께 일해왔던 분들로부터 받았던 복직 제안들은 모두 거절했다. 퇴로를 남기고 싶지 않았다. 원하는 바를 이루려면 때로는 지나온 다리도 불태워야 하는 것이다.
291
우아한테크코스에서 웹 프론트엔드 교육생으로 291일을 보냈다. 귀한 인연, 값진 경험으로 충만했던 시간이었다.
이 나이에 좋아하는 공부로 시간을 보낸다는 것이 얼마나 큰 행운이자 특권인지 안다. 가끔은 염치없단 생각도 들었다. 하지만 어렵게 얻은 기회를 놓치기는 싫었다. 전국에서 모인 소수의 재능들 사이에 나를 끼워 넣고 10개월 동안 지내는 것 자체가 일생에 몇 없는 기회니까.
배움과 돌봄의 병행은 고통스러웠다. 하루 8시간 캠퍼스 생활을 위해 반려인의 큰 희생이 필요했다. 캠퍼스 밖에서의 시간은 대부분 반려견의 보호처 등하원과 밀린 집안일에 소진되었다. 집에서는 도저히 코드를 읽고 쓸 기운이 나지 않았다. 그래서 노트북도 사물함에 두고 다녔다. 야근, 스터디, 회식 등의 모임은 꿈도 꾸지 못했다.
한정된 여력 안에서 공부의 효율을 올리려면 시간의 밀도를 높여야 했다. 나름의 전략을 세웠다. 페어 프로그래밍에서 상대에게 업혀만 다니진 않을 정도로의 성장을 현실적인 목표로 삼았다. 주어진 커리큘럼 안에서 꼭 익혀야 할 키워드들만 골라 실습했다. 알면 좋지만 시급하진 않아 보이는 내용은 레퍼런스만 가볍게 읽고 넘겼다. 사소한 기술 이슈에 토끼굴을 파지 않도록 주의했다.
메타인지니 회고니 하는 것들은 어느 시점부턴 그냥 놓아 버렸다. 매일 강아지 등하원에 산책 두 시간씩 다니면서 집안 치우고 닦느라 죽을 맛인데 이런 고차원적인 활동에까지 에너지를 쓰고 싶지 않았다. 나이 들어 좋은 점 중 하나는 남들 다 하는 거 안 할 때 가책을 덜 느낀다는 것이다. 포기할 건 가뿐히 포기할 줄도 알아야 한다.
모자라는 코딩 경험은 머리에 넣는 정보의 양으로 벌충했다. 콩나물시루에 물을 붓는 심정으로, 매주 마감된 과제에 대한 동기들의 PR과 리뷰어 코멘트를 출퇴근길에 샅샅이 읽었다. 세세한 내용을 외우진 않았다. 다만 문제를 해결하는 접근법과 가독성 좋은 코드에 대한 '감'을 익히려고 노력했다. 얼핏 보면 시루 밑으로 물이 다 빠져버리는 것 같지만, 그럼에도 결국 손톱만큼이나마 콩나물은 자란다는 사실을 위안으로 삼았다.
이러한 방식이 테크코스에서 의도한 올바른 학습법이었는지는 알 길이 없다. 다만 내 여력 안에서는 최선이었다. 어쨌든 React가 뭔지도 몰랐던 사람이 넉 달 만에 장바구니 비슷한 무언가를 SPA로 구현할 줄 알게 되었으니, 이만하면 나름 성과가 있었다고 여기기로 했다.
팀 프로젝트 과정에선 "크루루"라는 이름의 지원자 관리 시스템(ATS; Applicant Tracking System) 개발에 참여했다. 대학생 연합 동아리와 소규모 스타트업의 공고-모집-평가 업무 간편화가 목표였다.
"복잡했던 리크루팅, 하루만에 크루루"라는 캐치프레이즈에 어울리는 성공적인 프로젝트였다. 그동안의 직장 경험을 통틀어 거의 겪어본 적 없었던 상호 협력적인 협업 체계를 감사히 누렸다. 모든 각각의 팀원이 자기 영역에서 빼어난 전문성과 팀워크를 보여주셨기에 가능했다. 내가 주로 한 일은 코드만으로 해결되지 않는 회색지대를 줄이는 것이었다. 현업자 인터뷰를 따고, 서비스 기획 방향을 바로잡고, 배포 자동화 시스템을 만들고, 디자인과 로딩 성능을 개선하면서, 데모데이 때마다 마이크 잡고 팀의 목소리를 대변했다. 나머지 팀원분들이 오로지 제품 기능과 품질에만 집중할 수 있도록.
프로젝트 과정에서 알게 된 것이 있다. '개발'은 결국 문제 해결에 요구되는 다양한 과업들의 총합이라는 사실이다. 주어진 문제를 풀기 위해 함께 고민하는 시간, 제품을 구상하고 기획하는 작업, 그 기획안이 가장 빛날 수 있는 형상과 디자인을 찾아 구체화하는 경험, 그리고 이 모든 과업을 관리하고 매듭짓는 일까지. 이 전부가 '개발'이라는 하나의 큰 그림 안에 포함되는 것이다.
사용자와 코드 사이의 관계에 대해서도 다시 한번 숙고하게 되었다. 대부분의 고객은 코드가 어떻게 쓰였는지 궁금해하지 않는다. 사실 그럴 이유도 없다. 오직 제품이 가져다주는 유용함과 편리함만이 그들에게 닿을 뿐이다. 개발자 경험이나 유지보수성도 중요하지만, 결국 제품이 고객에게 전하는 가치가 우선이다. 이런 생각을 품게 된 이후로는 서비스에 필요한 페이지나 컴포넌트를 만들 때마다 사용자 입장에서의 사용성을 먼저 고민하게 되었다.
소프트웨어 엔지니어의 역할이 더 이상 코드를 쓰고 고치는 좁은 영역의 전문성에 한정되어서는 안 된다고 생각한다. 기술을 바탕으로 사람들에게 이로움을 가져다준다는 본질을 잊지 않고, 이를 실현하기 위해 기술을 더 깊이 이해하여 잘 다룰 수 있도록 정진하는 것. 제품 개발에 필요한 다양한 영역의 전문성을 존중하고, 이들이 서로 조화되는 과정에 기여하는 것. 앞으로 내가 소프트웨어 엔지니어로서 지향하고자 하는 방향이다. 10개월 간의 우아한테크코스 교육 과정이 내게 남긴 교훈이다.
1,555
2020년 9월 21일. 오래전 소그룹 영어 수업에서 만나 뵈었던 선생님께 상담을 받았다. 그때 보냈던 메일의 내용은 이렇다.
제가 최근 이직 과정에서 영어 면접 스킬과 비즈니스 회화 능력의 부족함을 실감하고 있습니다. ... 말이 너무 어렵습니다. 영어로 말을 꺼낼 때마다, 허공에서 영단어들을 하나하나 건져내어 조립해 나가는 느낌을 받곤 합니다. 문장이 완성되기 전에는 말을 꺼내기가 어렵고, 그러다가 하고 싶은 말을 못 하게 됩니다.
면접과 업무 상황을 가정하여 어떤 주제로든 한 번에 3문장 정도는 영어로 매끄럽게 말할 수 있도록 연습하고 싶습니다.
이전까지의 경력을 뒤로 하고 새 일을 시작하려면 운신의 폭을 넓혀야 했다. 영어 능력이 그 과정에 도움이 될 것 같았다. 무작정 외신 읽기와 회화 수업을 시작했다. 주 2회, 하루 30분씩. 구체적인 장래 계획은 없었다. 일단 입이 트여야 취업이든 이주든 알아볼 기회가 생기지 않을까. 아는 건 참 없는데 용감은 했던 시절이었다.
그리고 지난 2024년 12월 24일. 나는 베를린에 위치한 Delivery Hero SE 본사에 Software Engineer로 입사를 확정 지었다. 경력 전환이라는 목표를 해외에서 이루게 되었다. 1,555일 만이었다.
이렇게만 써놓으면 2020년부터 올해까지의 시간이 마치 원대한 꿈을 향한 철저한 계획의 연속처럼 보일 수도 있겠다. 그러나 이는 사실과 아주 거리가 멀다. 지난 1,555일 동안의 내 생활은 뒤죽박죽 갈팡질팡이었다. 장래 희망도 여러 번 바뀌었고, 공부 분야도 그때그때 달라졌다.
중요한 갈림길에서 충동적인 선택도 마구 저질렀다. 방송통신대 편입은 원래 42서울과 다른 전문대학 사이에 끼어든 3옵션이었는데, "그래도 4년제 학위가 있으면 좋지"와 "등록금이 싸잖아"라는 이유로 어느 날 갑자기 홱 질러버린 선택지였다. CKA 자격증은 이전 회사에서 클라우드를 조금 써봤으니 도커랑 쿠버네티스도 금방 배우겠지 하는 황당한 자신감으로 냅다 달려든 것이었다. 우아한테크코스도 본래 4주짜리 프리코스만 자습용으로 써먹으려고 지원했다. 외국으로 이주하는 일은 서너 달 전에만 해도 아예 고려 대상이 아니었다.
그동안 내가 저지른 사건들 중 상당수가 이처럼 운과 우연과 충동에 의해 시작된 것이다. 이렇게 우연적인 사건들이 모여 하나의 필연으로 이어지리라곤 상상도 할 수 없었다.
- 4년 넘게 이어온 영어 수업은 나의 구직 경로를 국경 밖으로 크게 넓혀주었다. 더 이상 이 나라 안에서만 일자리를 찾을 이유가 없어졌다.
- 3년 전에 편입하여 얻은 방송통신대 학위는 내게 EU 국가의 Blue Card 취득 자격을 만들어줬다. 최대 4년의 체류 기간이 보장되고 27개월 후부터는 영주권 신청 자격도 생긴다.
- 반려인의 업무를 도우려고 뚝딱 만들었던 뉴스봇 스크립트는 십수 개의 기업과 공공기관들이 사용하는 프로젝트로 성장했다. 이번 채용 단계의 모든 인터뷰에서 공통의 단골 소재가 되었다.
- 자습용으로 가볍게 지원했다가 올해를 통째로 바치게 된 우아한테크코스는 내가 해외에서 소프트웨어 엔지니어로 다시 시작할 수 있는 역량과 기회를 안겨 주었다.
- 3년 전에 느닷없이 시작했던 CKA 자격증 공부는 우아한테크코스의 팀 프로젝트 과정에서 AWS와 Github Actions가 연계된 CI/CD Pipeline을 RBAC 기반으로 손수 구축하는 배경지식이 되어 주었다. 이 경험은 Delivery Hero의 최종 면접에서 나의 proactive mindset과 versatility를 증명한 핵심 소재가 되었다.
각각 시점도, 계기도 달랐고 서로 연관성도 없었던 선택들이 어느 순간 연결되어 새로운 길을 열어주었다. 아무 의미 없이 흩어져 있던 별들이 별자리를 이루어 밤하늘의 나침반으로 빛나게 된 것처럼.
1
내년부터 다시 1년 차로 돌아간다. 소프트웨어 엔지니어로서, 그리고 해외 이주자로서.
돌고 돌아 1년 차를 반복하는 모습이 누군가에게는 비효율적으로 보일 수도 있겠다. 삶의 모든 순간을 통제할 수 있다고 믿는 분들, 매 순간 자기 이력에 가장 유리한 경로만을 추구하는 분들이라면 더욱 그렇겠지. 하지만 사람 사는 일이 그렇게 단순한 선형일 수는 없다. 굽이진 길, 울퉁불퉁한 길, 지저분한 길도 가리지 않고 구불구불 가야 하는 것이다. 가다 보면 교차로에서 엉뚱한 길로 빠지기도 하고, 막다른 길도 만난다. 왔던 길을 돌아나가야 할 수도 있다. 때로는 지도에 없는 길도 만들어야 한다.
평생 직장, 평생 직업이 사라진 시대다. 안팎으로 어지러운 시대를 기대수명 100세로 살아야 한다. 앞으로 살면서 1년 차를 할 일이 더 많아질 것이다. 지나온 수많은 1년 차의 이력들이, 이제는 단절의 경험이 아니라 격변하는 환경 속에서 어려움을 유연하게 극복할 힘이 되어줄 거라 믿는다.
얼마 후면 그동안 내 일상의 기반을 이루었던 모든 인연, 모든 장소와 멀어진다. 살던 집도 내놓았다. 오랜 시간 언제나 함께였던 반려인과도 처음으로 멀리 떨어진다. 반려견 두부와의 장시간 이별은 아직 받아들일 마음의 준비가 되지 않았다. 하지만 내 전부인 가족과 영영 떨어질 생각은 전혀 없다. 베를린에서의 삶을 먼저 살아보고 결정하기로 했다. 가족과 함께 장기간 살아볼 만한 환경이라고 판단되는 즉시 모두를 데려올 것이다. 아니라면, 다시 새로운 길을 찾으면 된다.
새 시작을 가능하게 만들어 준 사랑하는 반려인과 가족, 그리고 주변의 은인들에게 보은하는 마음을 언제나 우선할 것이다. 내 모든 용기는 이들로부터 얻은 것이므로.