ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 어쩌다 보니 개발자
    잡설 2022. 12. 28. 23:17
    반응형

    이 이야기는, 천체 물리학에 대한 순수한 애정과 열정으로 한 길만을 고집스럽게 걸어가던 한 과학자가 돌연, 개발자가 된 사연이다.

     

    1. 계기

     

    천체 물리학이나 우조론을 전공하게 되면 마주할 암울한 현실과 미래에 대해 들었던 여러 소문들 중, 가장 기억에 남는 이야기가 하나 있었다. 수개월간 밤샘 노력으로 실험을 끝내고, 논문을 마무리하여 투고를 하려는 그 순간, 지구 반대편의 누군가가 정확히 같은 주제와 내용으로 논문을 발표했다는 것이었다. 연구의 주제와 접근법도 다양한데 그런 우연이 겹치는 게 가능할지, 그저 대학원을 겁주기 위한 과장 아닐지 의심했지만, ‘굶어 죽을 수 있다’ 거나 ‘백수 된다’는 등의 ‘사실’보다는 좀 더 극적인 이야기였기에 뇌리 어는 한켠에 고스란히 자리 잡히게 되었다.

     

    이 이야기가 괴담이나 전설이 아닌 ‘사실’이었다는 것을 알게 되기 까지는 그리 오랜 시간이 걸리지 않았다. 대학원에 입학하고 한 학기가 지나갈 무렵, 이와 유사한 사건이 바로 눈앞에서 벌어진 것이었다. 

     

    당시 교수님은 박사과정 학생의 연구 주제로, 최근 발표된 논문 하나를 소개하며 여기서 제시한 가정과 이론을 기반으로 추가적인 가정과 변수를 추가한 결론을 내어 보자고 제안하였다. 연구실의 학생들은 해당 논문의 배경 이론과 가정, 결론 등의 내용을 면밀히 파악하여 새로운 조건에서의 계산 결과를 얻기 위해 밤새 고군분투 하였다. 3개월 간의 시행착오 끝에 계산 결과와 그에 따른 물리적 해석을 마무리하고 논문 작성을 시작하던 바로 그다음 날, 아카이브에 동일한 주제와 결론을 담은 논문이 올라온 것이었다. 이렇게 3개월간의 공든 탑이 한순간에 무너졌다.

     

    끈이론과 그 파생 이론들의 생태계가 보통 이러했다. 돌파구가 마련되지 않는 상태에서, 새로운 아이디어나 시도가 올라오면 모두가 그곳에 달라붙어 다양한 변주를 시도한다. 그리고 마치 커뮤니티 게시판을 보듯이, 최근의 논문을 이용한 변주 논문, 확장 논문, 오류 지적 논문, 비판 논문 등이 줄을 잇고 그것이 계속 반복된다.

     

    이 광경을 지켜보며 이런 생각을 했다. 나는 이 경쟁에서 과연 살아남을 수 있을까? 이 만큼의 속도를 내기 위해서 필요한 공부의 양은 어느 정도여야 할까? 

     

    수 많은 만류와 회유, 설득에도 이론물리학의 길을 걷겠다던 그 고집이 한 풀 꺾이기 시작했다.

     

     

    2. 만남

     

    본인이 하고 싶어 하는 일과 잘하는 일이 서로 일치하는 경우는 흔치 않다. 나 역시 마찬가지였다. 첨단의 이론물리학을 공부하고 싶었는데, 막상 그것을 공부하고 있는 자신의 모습이 즐겁지 않았다. 더 정확히 이야기하면 하고 싶어 했기 때문에 따라가고 있을 뿐, 잘하기는 결코 쉽지 않았다. 공든 탑이 무너지는 광경은 나에게 일상이 될게 뻔해 보였다.

     

    현실적인 타협이 필요했고, 나는 조금의 욕심을 담아 ‘하고 싶은 것보단 잘하는 것, 잘하는 것보단 재밌는 것을 선택하되, 꿈은 져버리지 않는 것’을 타협의 조건으로 삼았다. 

     

    첫번째 고려 대상은 양자장론과 일반상대성이론을 대하는 나의 태도였다. 전자는 분명 흥미로웠지만 끈이론과 그 파생 학문들을 위해 공부해야 하기 때문에 따라간다는 느낌이 강했다면, 후자는 재미를 느끼며 위상 기하와 미분 기하, 집합론, 군론, 해석학 등을 찾아가며 공부하고 있었던 것이다. 그리고 나는, 킵손이 그의 책에서 한 말처럼, 상대성이론의 마지막 퍼즐 조작이 맞춰진 순간을 떠올리며 단 하나의 타협점을 찾게 되었다.

     

    이렇게 나는 중력파 천문학과 만나게 되었다.

     

     

    3. 선택

     

    지도 교수님을 찾아가 나의 이런 고민을 털어 놓고, 중력파 천문학 분야에 도전해 보고 싶다는 말을 꺼냈다. 교수님은 당혹스럽거나 난처한 기색 하나 없이 나의 이야기를 들어주시고는, 곧바로 나를 한국중력파연구그룹 소속의 연구자분들에게 연결해 주셨다.

     

    전국의 도시를 돌아다니며 각 분야의 연구자분들을 만나 뵈어 대화를 나누고, 맛있는 밥도 얻어 먹으며, 중력파를 주제로 한 다양한 연구 분야들을 자세히 소개받았다. 나는 이론 물리학을 기반으로 하고 있었기 때문에, 실험과 관계된 주제는 제외하면, 당시에 내가 선택할 수 있는 연구 주제는 크게 세 가지로 나뉠 수 있었다.

     

    하나는 일반상대성이론 그 자체에 관한 연구이다. 이 부분 상대성이론이 예측하는 우주현상이나 우주론을 다루고, 블랙홀 쌍성이나 중성자성 쌍성이 만드는 중력파를 계산 하거나, 중성자성의 상태함수를 연구하는 등의 주제가 여기에 포함된다. 다른 하나는 신호 탐색 분야로, 관측된 중력파 신호가 우주 공간 어디에서 왔는지, 거리와 질량, 반지름, 스핀 등을 추정하는 것이 주된 내용이고, 시뮬레이션 기법이나 다른 통계 기법등에 대한 연구도 여기에 포함된다. 마지막은 검출기 특성화 연구로 검출기에서 발생하는 모든 데이터에 관한 분석을 다룬다.

     

    첫 번째 선택지가 가장 나의 관심을 끌었지만, 식빵 한쪽으로 하루를 겨우 버티며 연명하고 있던 상황과 전설로만 생각하고 있던 연구 경쟁을 떠올리며 후순위로 밀리게 되었다. 두 번째와 세 번째는 넓은 범위에서 데이터 분석 분야라 볼 수 있지만, 전자는 복잡한 수치 계산과 시뮬레이션, 모수추정 등의 통계 분석이 주가 되고, 후자는 머신러닝을 포함한 온갖 분석 기법들이 총망라되어 현실 상의 난제를 해결하는 것이 주된 목표라는 점이 다르다. 

     

    평소 컴퓨터 만지기 좋아하고 혹시 모를 미래를 대비한다고 했을 때, 시뮬레이션 보다는 머신러닝을 해 볼 수 있는 후자를 선택하는 것이 가장 현실적인 타협이라 생각했다. 이렇게 길지 않은 고민의 시간을 거친 뒤에 나는 중력파 검출기 특성화 연구를 시작해 보겠다고 전했다.

     

    돌이켜 보면 이 선택이 개발자의 길을 걷게 만든 첫 단추였던 샘이다.

     

     

    4. 균열

     

    이 선택은 꽤나 나의 적성에 맞았다. 장론과 상대론의 배경 지식은 의외로 머신러닝을 기본 개념과 원리를 이해하는데 도움이 되었고, 상대성이론과 함께 공부했던 해석학과 군론은 정보이론을 활용한 데이터 분석에, 위상 수학은 위상 데이터 분석 연구에 토대가 되기도 했다. 이렇게 모든 것이 순탄하지만은 않았지만 늘 새로운 것을 시도하며 나오는 작은 결과물에서 소소한 즐거움을 느끼며 그렇게 연구자의 삶을 살 고 있었다.

     

    그러던 어느날 이 모든 것을 뒤집어 놓은 한 사건이 발생하였다. 일본 중력파 그룹에 소속되어 연구 성과를 논문으로 출판하려고 할 때, 일본 그룹이 트집을 잡은 것이다. 이것은 일본 내부에 잠재된 불만을 한국 그룹에게 화풀이 한 상황에 가까웠고, 그 대상이 바로 나였기에 받은 충격은 이루어 말로 설명할 수 없었다. 자세한 내용은 <KAGRA로 바라본 일본 거대과학연구의 현주소>  에 정리되어 있다.

     

    이 사건 이후로 한국 중력파 그룹의 많은 연구자들이 일본 그룹과의 관계를 끊기 시작했다. 그룹과의 기본적인 신뢰가 무너진 상태에서 계속해서 공동 연구를 한다는 것은 사실상 불가능에 가까웠고, 보다 안정적이고 체계가 갖춰져 있는 LIGO나 VIRGO와 함께 하기를 원하며, 하나둘 빠져나갔다.

     

    나 역시 LIGO로 그룹을 옮겨 일본과의 협업은 하지 않을 생각이었지만, 오랜 기간 동안 일본의 중력파 검출기의 특성과 데이터에 익숙해져 있는 관성을 극복해야 하는 상황과, 앞으로의 거처가 걱정되었다. 당시의 이런 상황을 친구에게 이야기하며 여러 푸념을 늘어놓고 있는 와중에 갑자기, ‘너, 그러면 사람인이나 잡코리아에 이력서 한번 올려봐라. 아마 회사에서 바로 연락 올 거다’라는 말을 꺼냈다. 나는 내 이력서 따위 아무도 보지 않을 것이라며 손사례를 쳤지만, 거듭되는 말에 그냥 속는 샘 치고 이력서를 업로드했다.

     

    이력서를 올린 지 30여분이 지났을 무렵, 이메일 한 통과 함께 전화가 걸려 왔다. 

     

     

    5. 연옥

     

    연락을 한 곳은 한 스타트업이었다. 전화를 건 사람은 이 분야에서 이름을 대면 누구나 알만한 세계적 권위자였고, 심지어 한국 중력파 그룹과도 연이 있는 분이었다. 요는, 자신이 개발한 기술을 기반으로 투자를 받아 스타트업을 시작했고 거기에 적합한 사람인 것 같으니 만나 보자는 것이었다. 나는 점심시간에 이 분이 소속된 곳에서 학위를 받은 분에게 말을 걸어, 혹시 이분을 잘 아시냐고 물었더니 깜짝 놀라며 자기 지도 교수님이었다는 대답을 들었다.

     

    같이 점심 식사를 하며 자세한 이야기를 들으니, 최근에 스타트업을 시작했고 같이 대학원을 다녔던 선배가 거기 들어가서 같이 일하고 있다는 말도 들었다. 어떤 기술을 기반으로, 무엇을 하고, 무엇을 하려고 하는지, 그곳의 사람들은 어떤지 등을 쉬지 않고 물었다.

     

    그날 저녁에 그분을 만나 2시간 반이 넘는 시간 동안 대화를 나누었다. 중간에 그 선배라는 분도 만나 이야기를 나누기도 했다. 기술적 가능성과 전망, 그리고 내가 가지고 있는 지식과 경험으로 이곳에서 할 수 있고 기여할 수 있는 일이 많을 것이라 생각했다. 그리고 며칠 뒤 이직을 결심하고 처음으로 사기업으로 출근을 시작했다.

     

    업무 내용만을 생각한다면 새로울 것은 많지 않았다. 데이터의 원천에 대한 새로운 배경 지식을 습득해야 한다는 것을 제외하면, 중력파 검출기의 기기적 특성을 이해하고, 데이터의 계측하고, 보간하고, 보정하여, 저장/관리/전송 시스템의 흐름을 파악하여, 최종적으로 얻은 데이터를 분석하는 것이 나의 지금까지의 연구 내용이었으니, 데이터의 구조를 설계하고 그것을 다룰 라이브러리를 만들고, 분석 툴과 알고리즘을 만들고 머신러닝을 적용하는 일은 대상만 바뀌었을 뿐 크게 다르진 않았기 때문이었다.

     

    그런데 연구실에서 개발된 기술들이 대체로 그렇듯이, 관련 자료는 논문 몇 편이 전부였고 가지고 있는 소프트웨어라고는 랩뷰뿐이었다. 나는 여기서 가장 먼저 랩뷰 코드를 분석하라는 업무를 받았는데, 요구 조건이 조금 이상했다. 그 선배라는 사람이 팀장 있었는데, AI 개발을 하라고 말하면서 사용언어는 C#을 사용해야 한다는 것이었다.

     

    이 화사에서 일을 시작한 주된 이유는, 기술적인 비전과 가능성, 그리고 이 기술을 개발한 분과 그 선배라는 분에 대한 평판을 믿었기 때문이었는데, 이 중 사람에 대한 믿음이 조금씩 깨지기 시작했다.

     

    그 선배라는 분은 이 기술을 전공으로 학위를 마친 사람이었지만, 기술에 대해 아는 것이 아무것도 없었다. 대학원 과정 중에 데이터 분석을 위해 ICA를 써 본 적이 있었는지, ICA를 앵무새처럼 외기만 할 뿐, 그 외의 지식은 아무것도 찾을 수 없었다. 워크숍을 할 때면, 로드맵을 그려 보이며 앞으로의 방향성에 대해 이야기하지만, 핵심은 없고, 키워드의 장황한 나열만 있는 데다, 무엇보다 자신을 무엇을 한다거나 하겠다는 말을 결코 하지 않았다. 이것은 누구의 담당이고, 이것을 하청을 맡기고, 어떤 전문가에게 자문을 구하고, 연구 과제를 주어 공동 연구를 해야 한다고 늘 말하지만, 그중 하나도 실천에 옮기지 않았다. AI를 개발하라며 그 언어로 C# 이야기한 것에서 유추할 수 있듯이, 컴맹이기까지 했다. 다룰 줄 아는 프로그램은 아래한글과 오피스, 랩뷰가 전부다.

     

    AI/알고리즘 분야에 일손이 부족해서 한 명을 채용했는데, 학원에서 코드 짜본 것으로 포트폴리오를 만들어 왔는지, 제대로 된 코드를 한 줄도 짜지 못하는 컴맹이었다. 파일 읽는 법을 몰라 1주일 넘게 헤매는 것은 기본이고, 한 가지 일을 시키면 열 가지 문제를 일으키고, 시킨 일은 자의적으로 이상하게 해석하여 엉뚱한 일 세 개를 만들어 결과라고 들고 오는데, 그 기간이 몇 주에서 몇 달이 걸린다. 회의록은 기억에 남은 단어만 5줄 적고, 보고서는 그림일기 수준의 필력으로 작성해 온다. 

     

    회사의 낡은 구조와 조직 문화, 운영방식, 위아래의 컴맹이 펼치는 대환장쇼에, 스트레스장애 진단을 받아 항우울제와 신경안정제를 복용하며 회사를 다니는 상황에 이르게 되었다. 오래전에 이론물리학을 하겠다며 고집을 부렸던 나의 모습처럼, 기술의 가능성 만을 바라보고, 그것을 내 손으로 이루어 보겠다는 열망에 여전히 사로잡혀 있었던 것이다.

     

    이런 생각은 진심이기도 했지만, 이후엔 가스라이팅의 영향이 지배적이었다. 무능한 컴맹 팀장이 주기적으로 나에게 없어서는 안 될 꼭 필요한 사람, 필수 인재 등을 말을 수시로 하기도 했고, 기술적 비전과 이 기술이 상용화되었을 때의 장밋빛 청사진에 대해 귀가 아플 정도로 들어온 까닭이다. 가스라이팅에 깊게 취해 있었는지, 다른 회사에서의 제안도 거절하고, 면접까지 보고 긍정적인 답변과 조건을 제시한 회사도 모두 거절하기까지 했다. 가스라이팅은 이렇게 스스로 인지하지도 못한 상태에서 조금씩 스며든다.

     

    그러던 어느 날 가스라이팅에서 깨어나는 한 사건이 있었다. 그동안 기술적인 가능성을 믿고 그 속에서의 성취를 목적으로 삼았었는데, 그 가성능이 무너지는 작은 조각을 보게 된 것이다. 그리고 나는 곧바로 사직 의사를 전달했다.

     

    사직 의사를 전달할 뒤부터 직장 내 괴롭힘이라 볼 수 있는 일들을, 팀장으로부터 받았다. 작게는 하루종일 인상을 쓰며 화를 낸다거나, 휴가 결제를 안 해준다거나, 협박을 한다거나, 사직으로 시비를 거는 등, 근로기준법을 지키지 않거나 월권을 하는 등의 기행을 보였다.

     

     

    6. 시작

     

    첫 회사 생활에서 많은 것을 배웠다. 그동안은 모두 갖춰진 틀 안에서 연구를 해 왔지만, 그 틀을 직접 만드는 경험을 얻을 수 있어서다. 그리고 무엇보다 큰 배움은, 인생의 반면교사를 무척이나 많이 만들고, 사람을 보는 눈이 향상 되었다는 점이다.

     

    그리고 이제는 진짜 개발자의 길을 걷기 시작했다. 진짜라는 말은 학문적인 연구가 아닌, 제품화를 위한 개발이 주가 되는 일을 하기 시작했다는 의미이다.

     

    그래서 앞으로 이 블로그에 과학 이야기 말고도, 개발과 관련된 이야기나 푸념을 늘어놓게 될지도 모르겠다.

    반응형

    '잡설' 카테고리의 다른 글

    나는 오늘도 서점에서...  (0) 2022.04.30
    M1 Max MacBook Pro 한 달 쓰면서 느낀 장단점  (0) 2022.02.12
    글쓰기 연습  (2) 2022.01.14
    블로그와 글쓰기 (2)  (0) 2021.12.31

    댓글

Designed by Tistory x Aptunus