다사다난했던 2018년 되돌아보기

21/09/27 Update 카이스트 소프트웨어대학원을 검색하시면서 이 글을 보고 저에게 연락주시는 분들이 계신 것 같습니다. 먼저 관심 가져주셔서 감사드리며, 연락을 원하실 경우 페이지 하단에 걸려있는 이메일 주소로 부탁드립니다.

(제 개인 SNS 메시지로 연락을 주시면 SNS 서비스들 특성 상 연고가 없는 사람의 연락은 필터링되어 곧 바로 알림이 오지 않아 확인이 늦어지고, 트위터를 제외한 SNS를 잘 하지 않기 때문에 빠르게 회신드리기 어렵습니다.)

돌아온 회고 시즌

2018년 올 한 해는 다사다난했다. 특히 하반기에는 많은 일들이 일어나는 바람에 감정 기복이 바닥을 치는 날의 연속으로 많이 힘들었다. (평소에 엄살이 심한 편이지만, 내 식대로 표현하자면) 하루하루 내 체력과 정신이 깍여나가는 느낌이었다. 거기다 매일 최선을 다하려고 해도 주변 상황이 나아지기는 커녕 오히려 악화되는 느낌이 들어서 많이 힘들기도 했고. 그러나 친구가 나에게 말했던 것처럼, 하반기 내내 안풀리다가 연말이 되니 거짓말처럼 걱정했던 것들이 해결되어서 지금은 여유있게 보내고 있다.

원래 인생은 멀리 보는 레이스 어떨때는 호루라기마냥 풀리는 일이 없다가도 어느새 정신차려보면 선물이 하나 와있지

작년에 썼던 회고를 확인해보니, 감기에 심하게 걸려 근 이틀은 집에서 꼼짝없이 앓아누웠다 는 이유로 회고를 해야한다고 느꼈다는 무슨 말도 안 되는 이유를 댔지만, 올해는 날 힘들게 했던 것들을 통해 복기를 해야한다는 생각이 뼈저리게 들어서 다시 돌아보게 되었다. 어쩌면 하나의 글로 끝나진 않겠지만 그래도 한 번 시도해보려고 한다.

6개월 간의 인턴 생활

작년에 학교에서 열렸던 디매치 행사 덕분에 운좋게 스타트업에서 인턴 생활을 할 수 있게 되었다. 일전에 집 안의 심한 반대로 한 게임 스타트업(지금은 상황이 어떤지 모르겠지만)의 초기 팀에 들어가지 못한 것이 한이 맺혀 스타트업에서 일해보는 것에 대한 갈망이 더 컸다. 행사의 1:1 인터뷰를 신청해 5개의 회사들에 면접을 보고, 그 결과 더블에이치라는 회사에서 일하게 되었다.1

사실 회사의 주력 분야가 하드웨어라서 소프트웨어쪽 역량은 다른 회사들에 비해 조금 부족했지만, 역으로 회사에 제품들과 관련해 웹 프론트엔드부터 백엔드까지 모두 접해볼 수 있는 기회가 되었다.2 주로 어플리케이션 서버(PHP)의 개편 작업에 참여했고, 이후엔 백오피스3 개편 작업이라는 큰 일을 벌려놨다.4 여기다 iOS와 안드로이드 앱의 자잘한 버그들을 담당하면서, 기본적으로 웹 서비스를 운영하는데 필요한 기본적인 지식들을 전체적으로 맛 볼 수 있었다.

사실 나는 풍문으로만 듣던 신기술들을 좇는 경향이 강했다. (어떻게 가지게 된 편견인진 모르겠지만) 신기술들을 쓰지 않는 회사는 변화에 둔감하여 그리 좋지 못한 회사라는 편견을 가지고 있었다. 그러나 직접 회사에서 다른 분들과 일하면서 무조건 새로운 기술들이 내가 가지고 있는 모든 문제들을 해결해주는 것은 아니다 라는 점을 깨달으면서, 오버 엔지니어링을 피하고, 녹록치 않은 현실적인 상황을 고려해5 적절한 기술을 선택하는 것이 필요하다는 점을 깨달았다. 이 점은 2학기에 졸업작품을 진행하면서 마구잡이로 여러 기술들을 가져다가 쓰지 않고, 팀원들끼리 공통적으로 가지고 있는 기술과, 팀원들이 빠르게 적응할 수 있는 기술을 정해 프로젝트를 진행할 수 있도록 해줘서, 나에게는 큰 깨달음이었다.

다만 아쉬웠던 것은, 내가 내 자신을 제대로 조절하지 못했다는 것이다. (이건 사실 올해 내내 반복된 실수들 중 하나이다) 팀장님께서 일정에 대해서 큰 압박을 주시지 않았기 때문에 오로지 내 페이스대로 개발하면서 프로젝트를 진행했는데, 그럴수록 나 혼자만의 세계에 빠지게되어서 일부 기능은 미완성의 상태로 남아있게 되었다. 그래도 나오기 전에 필요할 것 같은 인수인계 자료들은 만들어놨으니 누군가는 잘 이어가주기를 원한다. (아 물론 처음에 코드 보자마자 욕하시겠지만)

커뮤니티 운영진으로서의 삶

작년 12월부터 GDG Campus Korea(이하 Campus 챕터)의 운영진을 맡고 있다. 2학년 때부터 개발자 커뮤니티의 존재를 알았는데, GDG라는 커뮤니티가 그 출발점6이어서 그런지 의미가 남달랐다. 특히 Campus 챕터는 나와 같은 대학생들이 개발자로서 성장할 수 있는 장을 만들어준다는 점에서 운영진 제의를 기꺼이 받아들였던 것 같다.

상반기7에는 예정보다 많은 행사들을 열었고, 그 끝이 (대부분) 좋아서 뿌듯했지만, 하반기에는 우리 챕터 행사는 거의 못했다 싶을 정도로 챕터를 챙기지 못했다. 내년에는 좀 더 균형있게 행사를 열어보고, (초심으로 돌아가) 더 많은 학생들에게 의미있는 메세지를 전달할 수 있는 행사들을 열어보고 싶다. 특히 단순히 강연만 듣고 가는 것이 아니라, 실제로 참가자들과 함께하는 행사들을 열어보고 싶다. (우리 운영진들 힘을 내요 슈퍼파월)

사실 이러한 깨달음들은 상해에서 열렸던 Northeast Asia Community Summit과 얼마 전 열렸던 Korea Community Summit에서 각 나라에서, 그리고 한국 곳곳에서 활동하고 계시는 다른 운영진 분들과의 교류를 통해 얻을 수 있있다. 이런 기회를 만들어준 구글러분들께, 그리고 이러한 깨달음을 얻을 수 있게 해 준 다른 운영진분들께도 감사를 전하고 싶다.8

대학원 입시… 그 끝은…

여기까진 그래도 훈훈했지만, 이제부턴 내용들이 암울해진다. 3학년 끝자락 정도에 지인들에게 대학원 석사를 할 생각이다라고 이야기하고 다닌게 있다. 실제로 이번 학기가 마지막 학기9여서 대학원 입시도 같이 준비했다. 부끄러운 이야기지만, 결론적으로 지원했던 ‘일반’ 대학원들은 다 떨어졌다.10 대신 카이스트 소프트웨어대학원이라는 특성화대학원 합격하였고, 3월부터는 공식적으로 석사과정생이다.11 결과는 그래도 좋게 끝났지만, 그 과정은 많이 힘들었다.

여름방학 때 카이스트 본원은 원서를 쓰지 못하는 상황이 되어, 선택지는 서울대와 포스텍만 남게 되었다. 포스텍은 대부분의 교수님들이 Data Science쪽으로 전공하신 분들이 많았고, 나는 좀 더 Low-Level단에서 연구를 하고 싶어 사실 포스텍은 그리 중요하진 않았다. 다행히 서울대에는 내가 원하는 분야를 연구하는 교수님들이 다수 계셨고, 그 중 한 교수님과 미리 연락을 취할 수 있었다.

대신 서울대는 어학요건12이 다른 학교들 보다 까다롭다. 그래서 7월 한 달동안은 토플에 매진하고 , 8월13부터 9월까지는 면접 준비와 원서 작성을 했다. 평소엔 글이랑 담쌓은지라 자기소개서와 수학계획서 쓰는데 애 먹었고, 무엇보다 면접 준비가 걱정이었다. 핑계를 댈 수 있겠지만, 결론적으론 내가 치열하게 준비를 하지 못해서 서울대 대학원 면접에서는 아무말 대잔치를 하고 왔다. 무엇보다 연락을 취했던 교수님과 이야기가 잘 되어서, 면접만 넘기면 대학원 입시는 모두 해결되는 상황이었기에 열심히 준비하지 않았던 내 자신이 정말 원망스러웠다. 동시에 내가 배웠던 내용을 다시 보는 것인데 어떻게 해서 내용이 잘 안 받아들여지는지를 느끼며 한편으론 그동안 공부를 허투루 한 것이라는 것까지 느꼈다.

사실 내가 정말 대학원을 가고 싶었던 이유, 그리고 내가 연구하고 싶었던 분야를 고집한다면 대학원 입시를 재수했겠지만, 소프트웨어 대학원 프로그램 자체가 ‘산학협력’에 근간을 두고 있어 좀 더 실무에 가까운 교육과정을 가지고 있다는 것에 눈길이 갔다.14 여기에 마지막 학기에 대학원 안 가고 취업도 해보고 싶다는 생각을 한 것이 작용한 거랑, 대학원 과정과 함께 LG전자 CTO 부문을 알아보면서 내 능력을 키우고 한단계 도약을 할 수 있는 기회가 될 것이라는 생각을 하게 되어 카이스트 소프트웨어대학원에 진학하기로 결정했다.

대신 운 좋게 합격을 했지만 한 가지 확실한 건, 지금 제대로 공부하지 못했던 것들은 나중에 다시 시간을 내어 공부를 해야한다는 전제가 있다는 것?15

실력적인 면에서의 성장?

워낙에 인생을 날림으로 살아와서 그랬던 것이 뭔가 이번에 다 뽀록(?)난 듯한 느낌들이었다. 이건 2가지로 나눠서 이야기하려고 한다.

졸업작품 : 팀 리더와 개발자라는 투잡

마지막 학기이기 때문에 나는 캡스톤디자인을 수강하면서 졸업프로젝트를 했어야했다. 이번에는 내가 주도해서 같이 해보고 싶었던 팀원들을 모았다. 그리고 내가 팀의 주동자(?!)였기에 자연스레 팀장 (혹은 조장) 이 되었다.

우선 팀장이기 전에는 프론트엔드를 담당했다. 처음엔 맘 같아선 팀에서 백엔드 부분을 맡고 싶었지만, 프론트엔드와 백엔드 인원의 균형을 맞추기 위해서 내가 프론트엔드를 맡는 모험을 감행했다. 사실 그 때 즈음해서 Vue.js를 해보고 싶다는 욕구가 다시 올라오던 찰나여서 빠르게 배우고 적용을 했다. 처음에는 걱정이 태산이었는데, 그래도 빨리 배우고 적응해서 그나마 빨리 개발할 수 있었다. 근데 역시 날림으로 배운거라서 중간에 많이 막혔고, 내가 원하던 만큼의 퀄리티는 나오지 못했다. 그래도 한 편으론 프론트엔드 울렁증을 극복할 수 있는 기회가 되어, 그동안 한없이 어려울 것만 같았던 React도 배워보고 싶고, Progressive Web App까지 배워보고 싶은 욕심이 생겼다.

아이디어도 나름 괜찮은 것으로 선정했고, 기술스택도 부담이 덜 가는 방향으로 정하면서 16 그 이후엔 큰 난관이 없을 것 같았지만, 문제는 개발 후반부에 접어들었을 때가 문제였다. 웹 서비스의 화면 구성을 잡아갈 때 상세하게 잡지 않아서 문제였다. 아무래도 빠르게 개발하기 위해서 어느정도는 “좋게좋게 가자"라는 식으로 운영을 했는데, 이게 되려 독이 된 것이다. 그러다보니 개발이 계속 되면서 요구사항이 지속적으로 추가되었고, 이를 따라잡지 못해서 문제였다. 그리고 팀장으로서 이러한 이슈들을 제대로 조율하지 못한 것이 많이 아쉬웠다. 운 좋게도 졸업전시회에서 수상을 하고 성적도 잘 나와줬지만, 전체적으로 내가 원했던 만큼의 완성도가 나와주지 않아 많은 아쉬움이 남았다.

캠퍼스 핵데이

매번 공지가 올라와도 현실은 과제의 바다에서 헤엄치고 있었기 때문에 지원해보지 못했던 캠퍼스 핵데이를 이번 학기에 신청하게 되었다. 역시 지원서 쓸 때부터 자신감이 쪼그라들었는데, 어찌된게 운좋게 선발이 되었다.

결과는 안 좋았다. 팀에서 스프링 부트를 이용해 백엔드 구성하는 역할을 맡았는데, 근거없는 자신감이 솟아나 약간 자만을 해서 그런지 제대로 공부를 안 했다. 그저 내 감을 따라가면서 어떻게든 우선 돌아가게 짜보려고 했는데, 코드는 정직하다고 핵데이 당일에 밑천과 문제점 다 드러내고 말았다. 다시 말해 멘토님이 눈 여겨보시겠다던 새로운 기술을 대하는 자세가 심하게 부족했던 것이다. 지금 생각해보면 마치 최근 켠김에 왕까지 에피소드에서 허준에게 참교육을 받은 인트마스터의 느낌이랄까.

이 문제점에 대해선 멘토님이 많은 해답을 주셨고, 남은 것은 내가 이것들을 실천하는 것이다. 많은 가르침들을 주셨지만 지금 이 상황에서 가장 기억에 남는 것을 꼽자면, 좀 더 겸손함을 가져서(이건 내 개인적인 주관) 나만 생각하지 말고, 남이 예측 가능하게 코드를 짜는 것, 그리고 코딩을 하지말고, 책을 보면서 원칙을 배우려고 노력하는 것이 있었다. (사실 책을 많이 안 읽은 나는 이 대목에서 뜨끔했다.)

그렇게 2019년

카이스트 발표가 난 11월 말부터 조금 마음에 여유가 생겼고, 그 이후 졸업작품전시회(Greative SW Concert)를 치르고, 종강까지 하니 마음이 많이 놓였다. 아, 졸업보고서를 제출하는 것이 있었긴 했지만, 지금이야 다 끝났으니까. 일이 많았는데 막상 쓰다보니 투자한 시간에 비해 짧은 것 같고…17 그그래도 이렇게 쓰다보니 내가 한 것들의 의미를 다시 한 번 정확하게 새길 수 있었다.

마지막으로 이러한 과정들에 함께 해주셨던 모든 분들께 감사하다. 여기서 모두 이름을 언급하긴 힘들겠지만, 모두의 도움이 아니었으면 이뤄내기 힘들었을 것이다. 내년에는 좀 더 성숙한 성장을 해야겠다.

올 한 해 모두 감사하고, 고생 많이하셨습니다. 내년에도 잘 부탁드려요! (마무리는 훈훈하게)

P.S. 당분간은 미뤄왔던 배움을 실천하기, 체력 기르는 것, 그리고 글 빚을 갚는 시간을 가질 겁니다.


  1. 총 2개의 회사에서 연락이 왔었는데, 아쉽게 다른 회사는 연락이 늦게 왔다. ↩︎

  2. + iOS와 안드로이드 QA 깔짝… 거기다 나는 원래 미적감각이 아주 꽝이기 때문에 이 당시엔 프론트엔드 쪽에서는 큰 역할은 하지 못했다. ↩︎

  3. 다른 프레임워크나 라이브러리 사용 안 하고 순수한 Javascript를 사용했다 (…) ↩︎

  4. 사실 원래 새로 구축 중이던 백오피스가 있었지만, 너무 순수한 HTML 홈페이지 (하얀 바탕에 검은 글씨들의 향연)였던 탓에, 디자인 테마를 구해와서 새로운 백오피스로 작업하게 되었다. ↩︎

  5. 나의 경우엔 팀원이 가지고 있는 스킬셋, 그리고 (DAU 등이 보여주는) 서비스 규모들이 포함되었다. ↩︎

  6. 출발은 인천 챕터지만 ↩︎

  7. 2월 Meetup, 3월 Tea Time, 5월 Google I/O Viewing Party, 6월 Meetup ↩︎

  8. 개인적으로 DevFest 준비했던 이야기도 쓰고 싶은데, 쓰다보니 너무 길어져서 지웠다…ㅠㅠ ↩︎

  9. 4학년 1학기이지만, 운좋게 조기졸업 요건이 맞아떨어졌다. ↩︎

  10. 서울대는 확실한 낙방이었고, 포스택은 서류 통과했지만, 면접 떨어질 각이 이미 나왔기에 굳이 힘들게 내려가서 면접을 볼 이유가 없다고 생각해서 거절했다. ↩︎

  11. 그리고 중간에 큰 변화가 없는 한, LG전자 CTO 부문으로 입사해서 4년동안 다니게 된다. (석사동안 학비와 생활비 받은 것을 갚아 나가야… 읍읍) ↩︎

  12. 우선 토익은 안 받는다. 오로지 토플 혹은 텝스. (참고로 토플은 82점이 넘어야한다.) ↩︎

  13. 사실 토플을 응시하고 나선 근 한 달동안 번아웃 상태가 와서 아무것도 못했다. ↩︎

  14. 그래서 그런지 이 과정은 특이하게 LG전자에서 코딩테스트와 인적성검사를 보고, 카이스트 교수님들 앞에서 본 면접도 학과 지식보다는 개발에 대한 열정을 더 봤던 것 같다. ↩︎

  15. 이는 캠퍼스 핵데이에서 멘토님이 해주셨던 조언과 일맥상통하기 때문에 개인적으로 필요하다고 생각했다. ↩︎

  16. 위에서 얘기한 것처럼 기술적인 것에 욕심을 부리지 않았다. 중요한 것은 완성도를 높이는 것이 오히려 더 이득이라고 생각했기 때문이다. ↩︎

  17. 글 좀 열심히 써봐야겠다. ↩︎