1월, 2월
새해가 되었다고 해서 특별히 달라진 점은 없었어서 11월부터 시작했던 알고리즘 공부를 계속 하고 있었다. 개발하던 프로젝트도 런칭했고 당장 구현할 기능이 없으니 매일같이 스터디카페에 도장찍는 일상이었다. 그런데 1월 중순에 집에서 스트레칭을 하던 중 목이 삐끗하는 감각과 함께 통증이 찾아왔다. 참고 공부를 해보려 했지만 목을 똑바로 세울 수가 없어 도저히 할 수가 없었다. 정형외과에 가보니 목디스크가 와도 이상하지 않을 수준의 거북목이 있었고 척추도 상태가 그리 좋지 않다는 소견을 받았다. 어쩐지 대학생 시절 학회에서 찍은 사진에서부터 심상치 않다 싶었다. 어릴 때부터 그리 운동을 하는 편도 아니었어서 좋을리는 없다는 예상을 했지만 생각보다 너무 심각한 수준이었다. 즉시 주사치료를 받고 통증이 가라앉으면 도수치료를 진행해야 한다는 의사 선생님의 강요를 받았다. 게다가 1월 말 경에 이사를 하면서 장비 세팅도 되어있지 않았고 이리저리 어수선한 집 분위기에 옳다구나 하고 1-2월 동안 신나게 게임하면서 치료에 집중했다. 덕분에 약 1개월 반을 시원하게 날려먹었다.
집에서 요양하는 동안 새로운 기능추가 이슈가 있었어서 공부보다는 프로젝트 구현에 초점을 맞췄다. 코드를 나름 신경쓰며 작성했다 생각했는데 역시나 변수나 로직 측면에서 많은 지적을 받아 리퀘스트에 달린 리뷰를 수정하는데만 며칠을 소요했던 기억이 있다.

3월
공부를 스터디카페에서 하는데 다소 작은 그램 노트북으로 공부를 해서 그런지 편한 자세가 나오질 않아 공부보다는 프로젝트에 집중했던 것 같다. 치료에도 얼추 차도가 있어 그래도 다시 공부를 조금씩 시작했다. 프로젝트는 REST로 동작하던 API를 GraphQL로 바꾸자는 의견이 있어 AWS AppSync를 써보기도 하다가 결국 Lambda의 Python Graphene 모듈 사용을 채택했다. 전환이유는 AppSync에 몇 가지 문제가 있었는데 Velocity 템플릿 언어가 강제였고 버전 관리가 전혀 이루어지지 않아 동시작업이 불가능했기 때문이다. 아는 동생을 영입해서 같이 둘이서 API Migration 작업을 했는데 이 친구는 병역특례로 이미 개발자로 활동 중이라 역시나 큰 도움이 되었다. 내 구직 활동이 길어짐에 따라 아직 도입되진 않았지만 그래도 무사히 Migration을 수행하고 관련 내용을 문서로 정리했다.

4월
API Migration이 끝나고 코딩테스트를 대비해 알고리즘을 좀 더 견고히 만드는데 집중했다. 알고리즘 문제를 풀면서 막혔던 문제들을 복습하며 블로그에 올리는 시간을 가졌다. 프로젝트에선 커뮤니티 기능을 만들자는 의견이 있어 최대한 빠르게 테스트 앱을 만들어보자는 목표를 스스로 세워봤다. 다만 허술하게 만들면 안되니 체크리스트를 만들어 뭘 구현해야 하는지, 어떤 기능을 지원해야 하는지 정리하면서 테스트 앱을 만드는 시간을 가졌다. 아직도 완성하진 않았지만 실제 서비스되고 있는 커뮤니티 앱인 '아카라이브' 앱의 UI/UX 동작이 어떻게 되는지 구성요소 별로 사용자 액션을 줬을 때 동작하는 방식을 눈으로 보고 코드를 뜯어보면서 어떤 UI 컴포넌트가 들어갔는지 알아보면서 비슷하게 클론코딩을 시도해봤다. 비슷하게 텍스트 위주로 앱 구현을 했으나 작성된 글자를 취합해서 API에 전송하고 조회하는 로직에 문제가 생겨서 그런지 생각보다 잘 동작하진 않았다. 그래도 안드로이드 컴포넌트들 중 액티비티를 슬라이딩하면서 진입한다던지 Dialog를 커스터마이징 한다던지 소득이 없지는 않았다.

5월
약 6개월에 걸쳐 상길북 1회독을 완수했다. 그래도 분명 막히는 문제가 있을 것으로 보여 온전히 책을 정복하기 위해 항상 하던대로 알고리즘 문제를 풀고 막힌 문제는 답을 보고 이해한 뒤 다음 날 다시 풀어보고 종이로 다시 포스트를 작성하는 방식으로 최대한 기억에 남길 수 있도록 노력했다. 그리고 자료구조도 블로깅하겠다고 결심하여 정말 많은 블로그 포스트들을 참고하면서 파이썬으로 구현한 내용을 포스팅했다. 작년에 부모님이 제대로 된 건강검진을 받은 적이 없던 게 생각이 나 돈은 차마 지원하지 못 해드렸지만 강제로 신촌 세브란스 병원에 건강검진을 받으라고 강요했고 생각보다 발견된 게 많아 신촌 세브란스 병원으로 이관되어 치료를 이어가던 중 수술이 필요하다는 소견을 전해들었다. 심적으로 부담이 있긴 했지만 직접 수술받는 환자가 아니니 내색하지 않으려 노력했다. 되려 부모님께는 왜이리 반응이 없냐는 핀잔을 받기는 했다.

6월
수술날짜가 잡히고 내가 간병인으로 들어가기로 했다. 아무래도 동생은 학원일정이 있으니 어느정도 일정이 소화되는 동안 차도를 보면서 판단을 내리기로 했다. 그 사이 진도를 최대한 나가야 한다는 의무감으로 변함없이 자료구조를 블로그에 정리했다. 책으로 문제를 풀면서 알고있긴 했지만 막상 정리해보니 배운 내용에 구멍이 조금 있었다. 나는 학원을 전혀 다니지 않고 오로지 책과 다른 분들의 블로그에 의존해서 공부를 하고 있었으니 병원에 들어가서도 공부를 할 수 있으리라 예상을 했는데 나라는 사람의 의지는 그리 강하지 않았다. 힘들지는 않았지만 어쨋건 환자의 상태를 옆에서 계속 지켜봐야 했어서 결국 자료구조를 정리하는 작업은 포기하고 DFS, BFS, 브루트포스에 속하는 문제를 백준사이트에서 검색해 풀었다. 아무래도 코테에 빈출하는 주제다보니 노는 것보단 낫지 않겠냐는 판단이었다. 간병 자체는 힘든 게 없었지만 간병인은 침대 옆의 간이의자에 누워 자야했어서 허리가 아픈 것이 무엇보다 힘들었다. 그래도 돈을 지원해드리진 못했지만 강요하여 비교적 초기에 발견했으니 공부를 약 1달간 못했어도 크게 아쉽진 않았다.

7월
퇴원절차를 마치고선 부모님은 자취하던 집에 잠시 머무르셨다. 그래도 내가 해야할 일은 환부 드레싱을 가끔 하는 것 말고는 없었으니 다시 공부에 집중할 수 있었다. 역시나 알고리즘을 정리해 포스팅하고 정리한 주제에 속하는 문제를 찾아 푸는 일상의 반복이었다. 7월 말에 가서는 얼추 책에 있는 알고리즘을 모두 정리하여 슬슬 문제를 풀고 백준과 리트코드를 더불어 프로그래머스에도 눈을 돌리기 시작했다. 다만, 백준의 '단계별 문제 풀기' 내용이 꽤 좋아 백준에 몰두했다. 네이버 웹툰 채용 챌린지에 참가했는데 백엔드 직군은 자바로 언어제한이 걸려있어서 다른 직군으로 지원해서 문제만 풀어봤다.

8월
책의 내용은 모두 정리했으나 백준의 '단계별 문제 풀기'의 주제들을 계속 정리했다. 그리고 프로그래머스의 '고득점 Kit'의 문제가 좋다고 하여 역시나 풀면서 정리했다. 당시엔 레벨 2 문제도 막히는 게 많아 블로그에 올리는 빈도가 잦았다. 8월 부턴 채용이 빠른 기업들의 경우 코딩테스트를 슬슬 시작할 때라 하나씩 지원서를 넣기 시작했다. 토스에서 채용 챌린지를 하기에 문제를 풀어봤는데 6문제 중 5문제를 풀었음에도 2차 테스트가 있다는 걸 놓쳐서 불합격하고 말았다.
기술면접을 염두에 두고 CS를 공부해야겠다는 결정을 내렸다. 앞서 2020 하반기 카카오 공채에 합격해 입사하신 학교 선배에게 책을 추천받아 OS를 정리했다. 알고리즘은 리트코드 매일 챌린지를 보면서 이지-미디엄 난이도인 경우 풀어서 블로그에 올리는 루틴을 이어나갔다. 그렙 채용 챌린지에 참가하여 올솔을 했으나 이력서에 백엔드 이력이 없어서 그런지 불합격했다. 이후 레드블랙 트리 등 복잡한 자료구조 포스트를 정리하기도 하고 MOBIS 알고리즘 대회에 참가도 했다. 문제가 정말 어려웠는데 본선에 가려면 만점을 받아야 했다는 말을 듣고 갈길이 멀다는 생각을 했다. 그래도 나름 점수를 확보해서 그런지 몇달 후 서울모터쇼 2인 티켓을 받아 학교 동기에게 전달해줄 수 있었다.

9월
9월의 가장 큰 행사는 2022 KAKAO BLIND 코딩테스트가 있었다. 이를 위해 아껴두었던 카카오 코딩테스트 인턴/공채 기출을 모조리 풀어보기 시작했다. 겁나 어렵긴 했지만 시간을 두고 측정했을 때 합격컷은 적당히 나오길래 나름 자신감이 생기긴 했다. 문제는 코딩테스트 날짜가 나오고서 라인과 카카오가 동일한 날짜에 개최되었다. 라인 코딩테스트를 오전에 응시했다. 6문제 중 5문제를 풀어 얼추 통과하겠다는 생각이 들었다. 투포인터 위주로 나와 생각보다 애를 먹는 지원자가 많았으리라 생각한다. 문제는 카카오 공채였는데 123번까지 약 1시간 동안 풀고 5번의 정확성을 30분에 풀어낸 뒤 남은 3시간 반 동안 한 문제라도 풀면 되겠다는 생각으로 임했는데 무슨 생각이었는지는 모르겠지만 마지막 7번을 가지고 거의 2시간을 삽질하는 등 너무 안일하게 시간을 소비하여 결국 3.5솔로 마무리했다. 분명 5번이 2차원 누적합이라는 생각을 했고 그에 대한 키워드까지 찾아냈어서 검색까지 했는데 누적합에 대해 정리한 적이 없어 보면서도 빠르게 이해되질 않아 못 풀어낸 게 패착이라 생각한다. 나름 카카오만을 생각해 알고리즘을 열심히 약 1년 간 공부했는데 말아먹어 끝나고서 너무 서러운 마음이 들었다.
서러운 건 서러운거고 라인 필기테스트가 있을 예정이니 카카오는 깔끔하게 포기하고 블로깅할 시간은 부족하니 다른 사람들이 신입 개발자를 위한 기술면접 개념 정리 깃헙을 참고하면서 정말 빠르게 벼락치기를 시작했다. 그리고 라인 필기테스트에 응시했는데 풀면서도 이건 벼락치기로 커버될 내용이 아님을 깨달았다. 그래서 합격은 포기하고 최대한 공부를 한다면 어느수준까지 공부를 해야하는지 머리 속에 문제를 저장하고 나왔다. 라인은 CS를 아직 다 정리하지 못했다는 생각이 들어서인지 필기테스트를 망했음에도 크게 아쉬운 마음이 들진 않았다. 다만 당시에 네이버 서류를 통과하지 못할 거란 예상을 했어서 깔끔하게 대기업 공채는 포기하고 프로젝트 보강을 해야한다는 판단을 내렸다. 혼자 프레임워크를 공부해 프로젝트를 만든다면 너무나도 오랜 시간 헤매게 될 거란 결론을 내리고 학원을 찾아본 결과 F-Lab이라는 백엔드 개발교육 전문 학원을 찾아 등록했다. 그리고 거기서 사전 배우고 오기를 추천하는 도서들을 보면서 네트워크 개념을 정리해 포스팅했다. 당시엔 정말 자존감이 많이 낮아져 기준이 다소 낮아진 상태였지만 학원에 등록한 이상 최대한 상향지원을 하되 잘 풀리지 않으면 내년 상반기까지 봐야한다는 생각이 들어 가사휴직 요건을 알아보기도 했다.

10월
네이버 자소서가 통과되어 코딩테스트 응시자격이 주어졌다. 나로서는 굉장히 놀랄만한 소식이었다. 왜냐하면 학교 선배는 애당초 코딩테스트 응시기회조차 주어지지 않았기에 나 또한 힘들 거란 예상을 했기 때문이다. 그러나 자격이 주어졌고 4문제 중 3문제를 해결했다. 당시엔 자소서 + 코딩테스트 결과로 통과시킨다는 의견이 많아 3개를 풀었음에도 합격할 거란 확인이 서지 않았다. 불안감에 떨어봐야 답이 없으니 학원에서 진행하는 자바학습에 집중했다. 그래도 매칭된 멘토님 덕분에 공부를 하는 방법과 공부하다 막힌 개념에 대한 답변을 들으며 블로그에 자바 관련 포스팅을 할 수 있었다. 과거에 언어에 대해 정리하기엔 너무 기본적인 내용이고 방대해 포스팅하지 않기로 결정했지만 기본서가 아니라 조금 찾아봐야 알 수 있는 개념들은 포스팅하기로 했다. 같이 팀으로 매칭된 팀원 분도 의욕이 대단하여 질문의 깊이가 상당했다. 덕분에 파트너가 질문한 내용들도 찾아보면서 더 깊은 공부를 할 수 있었다. 개발자들이 스터디를 꾸준히 참여하는 이유를 알 수 있던 시간이었다.
10월 말에 Dev-Matching 백엔드 포지션이 있어 기업 몇 군데를 골라 지원했다. 문제는 전부 풀어서 제출했으나 이력서를 보고 역시 대다수의 기업에서 탈락했다. 그런데 생각보다 살아남은 기업들이 좋아 의외긴 했다. 그리고 Allganize 코리아에서 첫 번째 기술면접을 봤는데 지금와서 생각해보면 이 면접에서 발생한 대참사 덕분에 이후 면접에서 블로그로 정리하긴 했지만 면접 전에 복습하지 않으면 큰일난다는 정말 소중한 교훈을 얻었다. 이후 응시한 기술면접에서는 적어도 대참사가 발생하진 않았다.
별개로 NHN과 네이버 파이낸셜 등 다른 코딩테스트도 응시했는데 아직 자바에 능숙하지 않아 문제를 잘못 풀거나 과제 테스트가 있어 포기했었다. 카카오 엔터프라이즈 pre 인터뷰를 진행했는데 면접자 3, 면접관 2로 진행되어 하나의 주제에 대해 서로 다른 3개의 질문을 돌아가면서 답변하는 방식이었다. 정말 기본적인 자료구조나 알고리즘, 네트워크 지식을 물어보는 방식이고 할당된 질문이 별로 없어 꽤 유창하게 답변할 수 있었다.

11월
슬슬 자바 7버전에 대해 기본서 학습이 끝나고 있었다. 네이버 코딩테스트에 통과하여 1차 면접을 응시했는데 생각보다 대참사가 발생하진 않았지만 마지막 기술 질문에 말려들어가 불안한 나날을 보냈다. 그리고 백엔드 데브매칭으로 추가 전형을 진행한 카카오 엔터프라이즈도 1차 면접을 봤다. 기술면접 느낌으로 몇 가지 CS 관련 질문을 하면서 계속 꼬리물기를 한다던지 사내에서 겪는 어려움을 제시하면서 어떻게 해결할 것인지 논의하는 면접이었다. 할당된 시간은 1시간이었는데 말하다보니 재미있기도 하고 면접관 분들도 내 이력에 관심이 있었어서 그런가 20분을 초과해 1시간 20분 동안 진행했다.
Dev-Matching 실리콘 밸리도 참가했는데 MOLOCO가 TO에 있어 깜짝 놀랐다. 개인적으로 MOLOCO는 세미구글이라고 밸류를 매긴 기업이었기 때문이다. 결과는 간신히 올솔하여 36등에 랭크되었다. 순위권에 들어온 건 또 처음이라 기분이 좋기도 했다.

12월
슬슬 F-Lab에서 프로젝트에 대한 이야기가 나오기 시작했다. 평소 살면서 불편했던 점들을 하나씩 뽑아서 주제화시키느라 주제를 정하는 데는 큰 어려움이 없었다. 프레임워크와 함께 온전한 서비스 구현 사이클을 배우려고 왔는데 큰 착각을 하고 있었음을 깨달았다. 설계 단계에서부터 기초를 단단하게 만들어야 했는데 이제까지 견고하게 설계해온 줄 알고 있었다. MOLOCO에서 진행한 자체 코딩테스트를 통과하고 면접에 응시했다. 최초의 구글 방식의 알고리즘 라이브코딩 면접이었는데 나름대로 문제를 잘 푼다고 생각했는데 면접에서 푸는 것은 완전히 다른 문제였다. 엄청나게 실수가 잦았고 한국 기업만 우선 준비하느라 DP에 굉장히 취약한 상태였는데 아니나다를까 DP문제에다가 누적합 문제가 출제되었다. 이 놈의 누적합은 카카오부터 계속 나를 괴롭히는 듯하다. 정말 면접관 분이 배려를 많이 해주신 덕에 PTSD로 남진 않았다. 앞으로 PS를 할 때 어떻게 문제를 접근하고 풀이 방법을 설계해나가야 하는 지 감을 잡을 수 있던 시간이었다.
네이버 2차 면접응시 기회가 주어져서 인성면접 준비에 박차를 가했다. 이번에야말로 면까몰이 없게 만들겠다 마음을 먹고 준비를 했으나 역시 시간이 부족해서인지 석사과정 관련한 질문이 들어왔을 때 얼버무리면서 다시 끝나고서 일말의 불안감을 남기고 말았다. 그래도 전체 내용을 온전히 복기해냈기에 다음 면접에 들어갈 때 보강할 수 있도록 조치를 했다. 이후 합격을 하면서 석사과정 질문은 그대로 저편으로 보내게 되었다. 사실 석사과정을 졸업할 생각도 없고 학교 선배가 해외 대학원 CS 석사과정을 굉장히 힘들고 실패비율이 높긴 하지만 온라인으로 취득할 수 있음을 알려주었고 실제로 준비 중인 걸로 안다. 이젠 개발자 직군과 상관이 없는 정보보안 전공을 굳이 졸업할 필요는 없으니 비싼 학비가 굉장히 아깝긴 하나 앞으로 받을 연봉과 직장생활 동안 그리 사치를 부리지 않았으니 적당히 묻기로 했다.
F-Lab 과정은 꽤 만족도가 높아 합격하고 나서도 네이버 개발자 교육과정을 병행을 하며 어떻게든 끌고 나가려 했는데 중간에 파트너가 중도하차를 하여 진도를 나가는 모멘텀이 힘을 잃고 말았다. 허나, 멘토님이 멘토링을 종료하고 나서도 종종 연락을 하라는 조언을 주기도 했고 신입 교육과정이 그리 만만치는 않을 거란 의견을 줘서 환불절차를 진행하기로 했다.

총평
거북목 치료와 이사를 하며 쉬기도 하고 간병을 하며 공부를 놓기도 했지만 나머지 기간동안 나름대로 공부를 꾸준히 이어가서 그런지 3분기에선 꽤 작은 회사들에도 탈락의 고배를 마셨는데 점점 4분기로 가면서 꽤 규모있는 기업들에서도 면접 기회가 주어짐을 볼 수 있었다. 그러면서 자신감을 회복할 수 있는 계기도 되어주었다.
네이버에서 첫 커리어를 시작했지만 여기서 멈출 생각은 없다. 남들보다 2년 정도 늦게 커리어를 시작한만큼 최소 4년 동안은 끊임없이 다른 개발자들보다 더 노력을 해야 따라잡을 수 있을 거란 생각을 한다. 분명 내부에서 잡음이 좀 있을 수 있겠지만 네이버라는 회사는 그래도 좋은 회사임은 의심할 여지가 없다. 그래서 더욱 더 타성에 젖어 그 자리에 주저앉지 않도록 스스로에 대해 경계를 해야 한다. 하지만 앞으로의 커리어에 대해 걱정보다는 기대감을 갖고 나아가보려 한다.
2021년은 2020년에 못지않게 바쁘게 살아왔고 결실까지 얻어냈으니 낭비하지는 않았다고 결론을 내릴 수 있겠다. 2022년에도 2021년에 뒤지지 않도록 내가 해야할 일을 명확히 정의하면서 살아보겠다.

+ Recent posts