#1. 지원하기 전, 나의 이야기
•
나는 다양한 이야기를 간접적으로 느낄 수 있는 문학과 드라마, 영화를 좋아하는 문과생이다.
•
학과도 IT와는 전혀 상관없는 '신문방송학과', '영어영문학과'를 나왔다.
•
대학을 졸업하고나서 1년은 글을 더 공부하기 위해 '영어 영상번역'을 공부했다.
: 집에만 가만히 앉아 익숙해진 작업만 하는 영상번역 일을 평생할 수 없을 것 같아 공부를 중단했다.
그렇게 혼자 지내는 시간만 1년이 넘어갈 무렵에 난 삶의 목표를 정했다.
1.
내가 주도적으로 할 수 있는 일을 하고 싶다.
2.
일을 하면서 뿌듯함, 성장을 느끼고 싶다.
3.
내가 하고 싶은 일을 하고 싶다.
→ 자기가 원하는 걸 직접 개발할 수 있고, 최신 트렌드를 지속적으로 공부할 수밖에 없는 '개발자'가 눈에 들어왔다. 그 즉시 나는 인터넷에 나한테 맞는 공부법을 가진 강의를 찾고 공부를 시작했다.
#2. 지원할 때, 나의 생각
•
내가 잘 아는 분야, 내가 관심있는 분야에 대해 사업을 하는 기업을 찾았다.
•
직접 개발을 하면서 성장할 수 있는 곳을 원했다.
그러던 와중에 '제2의봄' 채용 공고가 눈에 들어왔다.
1.
주니어도 개발에 직접 참여할 수 있는 기업(스타트업)
2.
내가 관심있던 분야였던 '메타버스' 사업을 하는 곳
→ 평소에 인터넷 개인 방송을 즐겨보기 때문에, '메타버스'라는 개념 자체를 비교적 빠르게 접하게 됐다. 그리고 스타트업에서 인턴을 뽑아, 직접 필요로 하는 라이브러리를 공부하는 시간까지 투자해준다는 것에 마음이 확 끌렸다.
→ 그렇게 코딩테스트도 통과하고, 면접도 자유로운 복장으로 편하게 내가 생각했던 사업을 하는 기업이 맞는지 나도 물어볼 건 물어보면서 서로를 알아가는 시간으로 잘 보냈다.
#3. 입사한 후, 나의 생활
1주차는 회사와 나를 제외한 인턴 1명이 서로를 알아가는 시간을 가졌다.
→ 대표님은 사업을 시작하게 된 계기, 이 사업의 장래성 등 '메타버스' 산업 전반에 대한 설명을 했다.
→ IT회사 같지 않은, 대학 과제 같은 '영화로 자기 소개하기'를 진행했다.
2주차는 threeJS를 본격적으로 공부하는 시간을 가졌다.
→ Udemy를 통해 강의를 듣고, 기초를 뗐다.
→ 들은 수업 내용을 바탕으로 각자만의 토이 프로젝트를 진행해, 어느 정도 이해를 했는지 확인하는 시간을 가졌다.
→ 한 날에 모여서 다같이 세미나를 진행해, 지금까지 공부한 내용을 정리하고, 대표님이 내준 깜짝 과제도 진행하면서 한층 더 threeJS에 대한 이해를 높여가는 기간이었다.
3주차는 threeJS를 활용한 팀 프로젝트를 진행했다.
→ 같이 입사한 인턴과 협업을 처음으로 진행했다. 나도 @김지형 님도 처음이었다.
→ 서로 모르는 것을 공유하는 시간, 서로 더 친해지는 시간, 협업을 어떻게 해야 하는지 알아가는 시간을 가졌다.
4주차부터는 지금까지 공부한 threeJS를 바탕으로 실질적인 업무 시작을 하게 됐다.
→ 협업 업체인 '4DViews'에서 받은 Volumetric Video Player 코드를 가지고, 우리만의 Player로 만드는 업무를 시작했다.
→ 처음 보는 코드 수백 줄을 마주하니, 많이 당황스러웠다. 게다가 아직 우리가 공부하면서도 몰랐던 threeJS의 더 심화된 코드를 마주하게 됐고, 이 코드를 작성한 작성자한테 매번 물어볼 수도 없는 상황이라 많이 어려운 시간을 가졌다.
→ 몇 주를 그 코드만 들여다보니, 익숙해졌다. 어찌저찌해서 우리만의 Player 개발도 완료했다.
→ 그렇게 이해한 코드를 바탕으로 아직 이해하지 못한 코드를 이해하기 위해서 '4DViews'와 화상 회의를 진행하기도 했다. 이때 '내가 회사에 입사하긴 했구나'를 느꼈다. 지금까지는 그냥 공부하는 느낌으로 계속 진행됐기 때문이다.
→ 몰랐던 코드에 대한 궁금증도 풀리고, 완성된 Player 모듈을 외주 업체에 넘기기 위해 리팩토링하는 과정도 겪었다. 이때 누가 봐도 이해할 수 있는 코드, 즉 클린 코드를 쓰기 위해 생각도 많이 하고 최대한 중복되는 코드도 없게 하기 위한 시간을 가졌다.
→ 이후에도 계속 Player 모듈을 이용한 다양한 프로젝트를 진행하면서 threeJS와 Volumetric Video에 대한 코드를 계속해서 공부했다.
#4. 인턴십 이후, 나의 느낀점과 배운점
좁지만 깊게 공부하자
한 우물만 파면 전문가가 되어 잘 살아갈 수 있는 시대가 도래했다고 생각이 들었다. 여러 지식을 대강 이해만 하는 수준으로 넘어가는 건, 정보가 흘러넘치는 지금 시대에는 흐름에 맞지 않는 것 같다. 한 분야의 전문가가 되는 것이 맞는 방법이라고 생각을 한다.
3달 동안 threeJS를 공부하면서도 제대로 이해하지 못한 것이 수두룩하다. 써보지 못한 내장 함수들도 빽빽하다. 비록 짧은 기간이라 그럴 수도 있겠지만, threeJS가 감싸고 있는 OpenGL, WebGL을 공부하지 않고서는 깊은 이해를 할 수 없었다. 그래서 Player 개발을 끝낸 후, 최적화를 하면서 GL에 대한 공부도 진행했다. 앞으로 나올 또다른 컴퓨터 그래픽스에 관한 정보도 이해하기 쉽게 말이다.
협업과 분업
협업을 하면서 분업을 진행한 결과, 너무 좋았다. 분업을 끝내고 협업을 하면서, 각자가 쓴 코드가 같은 한 곳에서 정상적으로 작동한다는 느낌을 처음 느껴서 그런지는 모르겠으나 짜릿했다.
게다가 각자가 쓴 코드를 타인이 이해할 수 있도록 하기 위해 주석도 달고, 최대한 간결하고 클린하게 코드를 쓰려고 했던 과정이 모두 좋았다. 성장하고 있다는 느낌을 가장 많이 받은 부분이다.
상대가 모르는 부분이 있으면 내가 곧바로 설명을 해줄 수 있어야 하기 때문이다. 내가 쓴 코드에 내가 모르는 코드나 왜 존재하는지 모르는 코드가 없도록 신경을 많이 쏟는 그때가 가장 성취감이 높았다.
기본기의 중요성
CS지식이 부족한 나는 같이 공부했던 @김지형 님의 도움을 많이 받았다. 따로 CS 공부를 진행하면서 듣고 외우기만 했던 MVC모델이 내가 대강 만들었던 토이 프로젝트에 녹아있었다는 얘기를 듣고 충격을 받았다.
내가 짠 코드를 정확히 어떻게 돌아가는지 설명을 제대로 하지 못하는 것이야 말로 정말 요즘 소위 말하는 '코더'로 커리어가 끝나는 것이라고 생각한다. 그래서 CS이론을 책으로 보고 외우기만 할 것이 아니라, 내가 짜는 코드를 기준으로 공부를 해야겠다는 생각이 든다. 그래야 내가 하고 있는 분야에 대해 전문가가 될 수 있고, 이론도 내가 실제로 사용하기 때문에 이해도 쉽고 재밌게 공부할 수 있기 때문이다.
운동을 좋아하는 사람인 내가 그렇게 기본기를 중요시하면서 기본기 운동을 철저히 하는데, 인생이 걸린 일에 있어서는 그렇게 하지 않았던 게 마음에 걸렸다. 이제라도 깨달았으니 다행이라고 생각한다.