엔지니어로써의 방향

어제부로 학교의 정규 교과목이 끝이났다. 비즈니스 프리젠테이션은 처음이었는데, 생각보다 잘 치뤘던 것 같다. 그래서 이번주부터 거의 학교 수업이 끝나서 발표만 하면 될 것 같아서 개인적으로 미뤄뒀던 것들 중, 중요하다 생각했던 것들을 시작하고 있다. 물론 코딩공부는 상당히 재밌고, 이에 대해서 조만간 예전처럼(?) 포스팅을 해보려고 하지만 어쨌든 일단 개인 홈페이지를 만드는 것으로 스스로의 커리어를 좀 정리해보려는 것을 시작하려고 하고 있다.

matthewlab.com 이 업데이트 된지도 벌써 오래되었다. 미국에 오기 전에 Matthew라는 이름으로써 내 정체성을 만들었었는데, 그 의미가 사실 미진했다. ‘메튜장’으로써 웹 전문가로 활동하고자 하는 나의 마음은 잃어버린 5년으로 인해 의미가 완전히 희석되었다고나 할까. 브랜딩을 하는 것은 좋은데, 너무 설계만 하다가, 즉 거창한 꿈만 만들다가 현실과는 다르게 그저 이상만 추구하게 되는 것이다. 결국, 뭔가 해보고 생각을 해야하는데 무턱대고 그저 겉모습만 번지르르 해서 이에 대해서 달려드는 것은, 결국 충동밖에 안된다. 충동적으로 무언가를 하다가 내가 손해를 본 것이 얼마나 많던가? 그래서 정말, 지금처럼 조금의 생각할 수 있는 여유가 생겼을 때 fine-grained된 앞으로의 미래를 생각해보는 것이 중요하다고 느낀다.

어쩌면 마지막으로 이 학교를 다니며 (잠시 쉬어가며) 커리어에 대해 전환까지는 아니지만 계속해서 내가 나아갈 방향을 굳건하게 만들고 있다. 최근에 파트타임 교수분 중 한분과 이야기하면서, 내년에 졸업 전까지 계속해서 AI관련 프로젝트를 진행할 것 같은데 덕분에 스스로 머신러닝 등에 대해 부족한 부분을 보충할 수 있는 좋은 기회라고 생각한다. 내년에 학교에 Introduction to Machine Learning을 청강할 것 같은데, 이것과 더불어 데이터 마이닝과 확통, 선대, 해석학 정도를 더 공부한다면 개인적인 ‘지적’요소 충족에는 만족할 만한 수준이 될 것 같다.

회사를 구하면서 나 스스로에 대한 ‘엔지니어’로써의 미래를 생각해봤다. 사실 마음속에는 계속해서 유라임을 하고싶은 생각이 한가득이지만, 벌써 유라임 코딩 안한지도 반년이 넘었다. 애정은 가득하지만, 제대로 시작하려면 설계부터 뜯어고쳐야 하는 상황인지라 이걸 다시 투자하기에는 지금은 상당히 risky하다는 결론에 이르렀다. 4년을 풀타임으로 투자했으면 됬다. 사실 뭐 100% 투자한 것은 아니지만 모든 상황에서 나는 어떠한 소속이 존재하지 않는 한, 아직 혼자서 사업을 진행하기에는 무리라는 결론에 이르렀다. 특히나 학교에서 비즈니스를 배우면서 이에 대해서 확고하게 느꼈던 것 같다.

다시 엔지니어로 가기 위해서 노력하고 있다. 코딩 인터뷰는 2018년에 마지막으로 하고 거의 하지 못했지만 최근에 공부를 하면서 단순히 ‘코딩’공부라기 보다는 그 속에 숨어있는 의미를 점차 알아가고 있다. 예컨데 최근에 알게된 Reservoir Sampling에 대해서, 이게 결국엔 데이터 마이닝 기술에서 사용되는 것을 알게 되었고, 전체적인 데이터마이닝 과정을 보니 내가 그간 배우고 싶었던 것에 대한 집약체였다.

근본적인 고민은 그렇다. 과연 나는 평생을 개발만 하면서 살 수 있을까? 답은 yes and no이다. 점차 이 ‘개발’이라는 자체에 대해서 느끼는 것은, 혼자서 개발은 절대적으로 힘들다. 그래서 협업이 그렇게나 중요한 것 같다. 사실 혼자서 만들 수 있으면 이미 그런 서비스는 이리저리 나와있다. 왜 머신러닝이나 그런 것이 들어간 제품의 개발이 더디는가? 그건 ‘조직화’된 개발 프로세스가 정확히 확립이 되지 않아서라고 본다. 한사람이 개발하는 것처럼의 유연함, 그만큼의 정말 슈퍼개발자의 모임이 만들어지지 않고서는, 앞으로의 개발은 더 힘들어질 것이다.

그래서 지금 배우는 Management는 정말 좋다. 하지만 사람과 부딪쳐보면서, 학교 프로젝트와는 다르게 업무에서는 정말 명확한 방향성을 가지고 조직을 관리할 필요가 있다는 것이다. 쓴소리를 할 줄 알아야 하고, 내 이익을 챙길 수 있는 사람, 그리고 멘탈이 강하고, 부숴지지 않는 사람. 그런 리더십과 위기관리, 조직관리 등 복합적인 관리 능력이 아무리 내가 개발자로 나아가겠다고 하더라도 필요한 것이다.

다시 개발적인 부분에 들어와서, 학부에서 전공과목을 그렇게나 많이 들었었는데 결국 기억에 남는 것은 SE, AI, Data Structure밖에 없다. 부전공 한다고 오버했던 Interactive Brand Communication이 그나마 재밌었다. 4~5과목밖에 기억이 안나는게 아쉽지만 학부니깐 그렇다고 해야할까. 아니면 나의 시행착오라 해야할까. 어쨌든 그래도 ‘기본’은 채웠다고 생각하고, 더 후회는 하지 않지만, 더 반복되지 않았으면 좋겠다는 생각이다. 그저 ‘재미’로써 시간을 버리기에는 더 없이 아까운 하루하루들이다.

개발의 전체적으로 보면 난 두 가지에서 흥을 느낀다. 프론트앤드와 백엔드. 하지만 프론트앤드는 개발하면 할수록 이건 짜임새 있는 개발이라기보다는 개인 취미에 가깝다는 생각이 더 들고, 너무 기술발전도 빨라서 트랜디 하지만 근간 기술을 파해치는데에는 한계가 있다고 생각한다. 그래서 백엔드, 특히 데이터를 다루는 것에 흥미를 느꼈다. 데이터파이프라인을 사용해서 새로운 서비스를 만드는 과정에 참여하는 것, 그리고 이를 통해 기술적인 것을 익히고 나아가 데이터와 AI/ML을 사용하는 서비스를 실제로 만드는 것. 커리어적으로 보면, SWE -> Data Engineer (or scientist) -> AI TPM -> CTO 의 길을 타고싶다.

물론 CTO도 해보고 파운더도 해봤지만, ‘혼자’ 라는게 문제였고 모조리 다 할 수 있다는게 문제였다. 위에도 언급을 했지만, 앞으로 아무리 AI/ML 및 데이터 기술이 쉬워진다 하더라도 앞으로 만들어지는 제품은 더 복잡해질 것이다. 한편, SWE는 점차 AI의 도움을 받을 것이고 언어 자체도 점차 쉬워진다. 프로그래밍 언어는 정말로 일종의 ‘툴’로써 작용한다. 결국 모든 방면에서 경험에서 오는 그것이 있지 않는 이상, 개발자로써 더 이상 나가는 것은 힘들수도 있다고 생각한다.

그리고 지금은 스타트업을 한번 해보고, 파운딩 맴버로 참여도 해보니깐 일단 이 불확실한 세상에서 온전히 스타트업만 하기에는 리스크가 너무나도 많다. ‘생계형 창업자’가 되기에는 내 유리멘탈도 문제지만 사업을 제대로 공부해본적도 없는것도 문제다. 결국, 그저 스타트업이라는 fancy한 틀에 갇혀서 그간을 허우적댄 것이다. 돌이켜보면 남은것은 긴 시간동안의 시행착오밖에 없다. 또 다시 신중한 선택을 하지 못해서 수 많은 시간을 날려보낸 셈이다.

그래서인지 더 후회할 선택은 하고싶지 않다. 그래서 향후 생각하는 방향은 트랜디한 서비스의 데이터 파이프라인을 구축하는데에 참여하고 싶다. 사실 유라임에서도 Microservice, REST, SSR등 많은 프론트/백엔드 기술을 접했지만 데이터를 다루는 것은 그다지 많이 접하지 않았다. 되려 이는 작년 회사에서 더 접했다고 해야할까.. ETLs구축하고, 비즈니스 단계까지 이어서 만드는 자체가 좋다. 데이터와 AI/ML모델을 적용하는 프로덕을 두세개 정도 진행하고 나서, 실제로 AI TPM (혹은 PM?) 이후 C레벨로 가고싶다. 이게 전체적인 내가 나아고자 하는 흐름이다.

개인적인 것을 떠나서, 나는 앞으로 기업의 중요한 성공 포인트가 AI/ML이라고 생각했다. 국가던 기업이던 너도나도 데이터를 외치는 이유는 빠르게 변화하는 산업 및 경제 생태계와 테라, 페타 단위로 쌓이는 데이터가 있고 그속에서 새로운 산업을 모색하거나, 새로운 인사이트를 찾기 위함일 것이다. 그래서 기본적으로 수 많은 데이터를 어떻게 처리하는지가 중요하고, 이에 대한 기술을 잘 축약해서 비즈니스에서 얻고자 하는 인사이트를 얻는다면, 보다 구체적으로는 데이터 과학자들의 모델 적용이나, 비즈니스 애널리스트들에게 적용될 수 있는, 끊김없이 실시간으로 레포트를 제공한다면, 그것이 새로운 인사이트를 찾는데에 중추적인 역할을 할 것이다.

이런 트랜드가 여러 산업에서 당연히 아마 적용되고 있을 것이다. 이미 빅데이터가 이슈회된 것도 5년이상이 되었으며, 데이터를 다루는 데에 당연히 머신러닝의 중요성을 깨우칠 수 밖에 없다. 사람의 힘이 점차 적어지니깐. 새로운 인사이트는 결국 돈이다. 머신러닝이란 것도 결국 수학적 모델링이고, 어딘가에서 컴퓨팅 파워를 줄이고 최적화해나가는 과정이다. 사실 프로그래밍도 마찬가지이긴 한데, 이걸 산업적으로, 지금처럼 트랜디하게 풀어나가면 그게 머신러닝 엔지니어링이라는 것 같다.

사실 내가 머신러닝에 흥미를 느끼는 것도 그렇다. 나처럼 혼자 내지는 소규모로 무언가 진행하기 좋아하는 엔지니어한테는 누군가 무언가를 줘서, 이를 빠르게 구현해 나가는 것이 어쩌면 중요할 수도 있다는 판단에서이다. 아니, 적어도 내가 즐거워서 만들어낼 수는 있겟지. 그리고 거기서 난 흥을 느끼고, 그래서 프로그래밍이 더없이 즐거워지고 있는 요즘이라는 것이다.

그래서 공부가 더 중요한 것 같다. 수학적, 엔지니어링적인 것도 중요하지만 경영과 경제도 더없이 중요하다. 햐.. 결국 생각해보면 내가 좋아하는 모든 것들이다. ㅎㅎ 삶이 갈수록 이렇게 변해가는구나 싶다. 내가 좋아하는 것이 있으면, 그쪽으로 몰리는 것이다. 하지만 신중하게 생각은 해야한다. 정말로 내가 머신러닝 쪽으로 미래를 잡을 것인가? 정말 평생 공부하고 살 수 있을까? 답은 yes. 어차피 공부야 평생 하는것이고, 나는 머리를 계속해서 쓰면서 죽이고 싶지는 않으니깐. 그리고 코딩을 하면서도 배워가는 느낌으로 해야지, 그저 예전 기술이나 써서 하는 그런거 하자고 지금까지 그 긴 시간을 돌아온 것도 아니다.

이정도면 엔지니어로써의 방향성은 충분하다. 이제 달리는 일만 남았다. 생각은 최대한 적게, 그리고 공부는 많이. 방학때 공부할께 참으로 많다. 개인 홈페이지를 빠르게 개발하고, 포폴을 정리하고 나서 또 다시 열심히 달려보련다. Cheers,