2020년을 마무리하며 (회고)
들어가며
2020년은 뼈아픈 실패와 고난을 디디고 내 인생에 있어서 그 어떤 순간보다도 많은 성장을 하고, 스스로 많은 성취를 얻어낸 해였다. 이번 회고는 꼭 누군가에게 보여주기 위한 글이라기보다는 지난 2020년을 되돌아보면서 앞으로 다가올 2021년을 더 알차게 살아보고자 쓴다.
실시간 코로나 프로젝트
올해 코로나19가 터지게 되면서 갑자기 코로나19를 대상으로 한 서비스들이 대거 출시되었다. 대부분 대학교 동아리에서 개발했거나, 멋쟁이사자처럼이라는 연합 동아리에서 만든 서비스들이었다. 그중에 우리 학교 출신이 만든 서비스는 없었다.
나도 그런 서비스를 하나 만들어 보고 싶다는 생각이 들었고, Do it! Vue.js라는 책을 사서 Vue.js를 공부하기 시작했다. 한 보름 정도 Vue.js를 공부하면서 실시간 코로나 상황판 서비스를 개발했는데, 첫 프론트엔드 프로젝트치곤 준수한 결과물을 냈다. ~~(물론 그건 니 생각이고)~~
내가 처음 만든 서비스를 자랑하고 싶은 마음 한 움큼, 또 내가 만든 서비스가 사람들에게 유용하게 사용되었으면 좋겠다는 마음 한 움큼 담아, 대학 커뮤니티(에브리타임)에 홍보 글을 올렸다. 예상밖에 너무나도 많은 사람들에게 과분한 관심과 사랑을 받게 되었는데.. 많이들 애용해 주셔서 감사하고, 행복했다. 이게 바로 개발을 하는 맛인가.. 싶었다 :blush:
여담으로 지금 와서 내가 짰던 코드를 보면.. 정말 최악이다. 그걸 판단할 수 있을 만큼 성장했다는 의미니까 크게 부끄러워하지는 않으려고 한다. 그래도 누구한테 보여주는 건 싫다..
SW마에스트로에 도전하다.
시간이 흘러갈수록 혼자서 무언가를 만들고 공부하는 것으로부터 얻는 지식의 한계를 느끼게 되었다. 경력이 곧 실력이 되는 이 업계에서 나는 실제 현업에서 근무하면서 밖에 배울 수 없는 다양한 경험을 해보고 싶었다.
그러다가 소마 모집요강이 뜬게 아마 1월쯤이었을 것이다. 평소 '나 같은 사람은 소마 힘들겠지'라는 생각으로 지원할 생각도 없었는데, 동기 한 명이 지원한다고 해서 나도 도전해볼까? 하다가 지원했다. ~~(지원할 때는 이렇게 힘든 과정인지 몰랐다..)~~
SW마에스트로 선출 과정은 무슨 대기업 공채마냥.. 되게 길고 힘든 과정이다.
서류 접수 > 1차 코딩 테스트 > 인적성 검사 > 2차 코딩 테스트 > 심층 면접
1월부터 거의 4달 가까이 진행된 과정이었다. 나는 코딩 테스트에 대한 아무런 대비도 준비도 안 되어 있는 상태였고 알고리즘의 '알'자도 모르는 찐 초보였기에 너무나도 힘들게 준비를 했던 기억이 있다.
정말 거의 하루도 빠짐없이 매일 알고리즘 문제를 풀고 실버 문제부터 골드 문제까지 안 푼 문제가 없을 정도로 열심히 풀었다. ~~(BFS, DFS만 보면 1~2분 만에 풀 수 있는 정도까지 갔다.)~~
심층 면접은 삼성역 코엑스에서 진행되었다. 모집 과정이 거의 한 세 달 가까이 진행되다 보니, 지칠 대로 지쳐 면접 준비를 생각보다 열심히 못한 것도 있지만.. 심층 면접은 정말 정말 정말 운이 안 따라주기도 했다. 면접에 되게 자신있어 하는 편이었는데, 예상 밖의 수준 높은 질문이 너무 많이 들어와서 놀랬고, 나 빼고 다 95년생이여서 놀랐다... (세상에)
그래도 웬만한 질문에는 자신감 있게 먼저 대답하려고 손을 들었고, 정답은 아닐지라도 개인적인 생각이지만 최선을 다해 면접에 임했기 때문에 딱히 후회는 없다.
그래도 불합격의 아픔은.. 익숙하지 않다. (인생은 실전이야)
불합격 회고
되게 오랜 기간 힘들게 준비해왔던 거라 불합격의 실망감은 이루어 말할 수 없이 컸다. 하지만 그만큼 내가 아직 많이 부족하고, 또 미숙하다는 의미이기에 내가 지금까지 성장할 수 있게 해준 발판이 되어준 것 같다.
소마 준비 과정에서 되게 많은 것들을 배워가는 것 같다. 알고리즘 공부도 해보고, C++도 조금 더 깊게 공부해볼 수 있었고, 또 인생은 실전이구나.. 라는걸 느낀 것 같다.
~~(소마 불합격 이후로 군대에 대한 고민은 더욱 더 깊어져만 갔다)~~
프론트엔드 개발자의 길을 걷게 되다.
아마 2020년 한 해의 가장 큰 이벤트가 아닐까 싶다. 약 두달 간의 준비 과정이 있었고 그 준비 과정과 현 에멘탈 팀으로의 합류까지의 이야기를 해보려고 한다.
스물하나가 되니 주변에 한두 명씩 군대로 떠나고, 나도 이제 슬슬 군대에 대한 고민을 해야 할 시기가 왔다. 개인적으로 군대를 다녀오는 것도 나쁘지 않다고 생각은 했지만, 그래도 군대를 안 갈 수 있으면 안 가는게 좋지 않은가. 지금까지 해온 것도 있고, 군대를 다녀오면 아무래도 그만큼 시간적으로 손해를 볼 테니..
병역 특례 준비를 시작하다.
대학에 들어올 때부터 항상 생각은 하고 있었지만, 막상 병역 특례를 준비하려고 하니 되게 막막했다. 딱히 누구보다 특출나게 잘하는 것도 없고, 그렇다고 해서 뭐 하나 내세울 것조차 없었다. 그래도 딱 하나 자신 있는 것은, 나는 어떤 기술이나 지식에 대해 누구보다 빠르게 습득하고 체화할 수 있는 능력이 있다~~(그건 니 생각이고 2)~~.
2월부터 SW마에스트로를 준비하면서 요즘 프론트엔드 직군에서 가장 핫한 리액트를 본격적으로 시작하게 되었다. 코로나 때문에 학교 수업도 전면 비대면 강의로 바뀌어서 생각보다 리액트를 공부할 시간은 많았다. 거의 매일 SW마에스트로 준비와 동시에 리액트 공부를 꾸준히 하면서 개인 포트폴리오 사이트도 만들고 다양한 토이 프로젝트를 진행하면서 프론트엔드 개발 경험을 쌓아 나갔다.
공부하면서 느낀 건 개인적으로 유저와 가장 밀접하게 맞닿아있는 최전선에서 일하는 프론트엔드 직군이 나와 거의 천생연분 수준으로 잘 맞는다는 것이다..
입사 지원하기
밑져야 본전! 우선 입사 지원을 해보기로 했다. 조금 더 준비된 상태에서 입사 지원을 하고 싶었지만, 현역 TO가 6월 전에 회사에 입사를 먼저 해야 한다고 해서 빠르게 입사를 준비했다.
사실 아직 스물하나이기도 하고, 이렇다 할 사회 경험도 없었기에 어떻게 입사 지원서를 내야 할지 너무 막막했었는데, 병역 특례를 준비하는 사람들이 모인 카카오톡 오픈 채팅방에서 좋은 분을 만나서 많은 도움을 받았다. ~~(양공님 감사합니다.)~~
취업을 준비하고, 입사를 하기까지의 과정에 대해서는 너무나도 긴 이야기가 될 것 같아서 나중에 따로 정리해서 포스팅할 예정입니다.
많은 분들의 도움을 받아 성공적으로 입사 지원에 성공했고, 약 1~2달간의 기간 동안 로켓펀치 + 원티드 도합 총 41개의 팀에 지원해 총 15개의 팀에 인터뷰 합격하고, 4개의 팀에 최종 합격했다.
에멘탈 합류
그렇게 길고 긴 시간 끝에 나는 지금의 회사 '에멘탈'에 입사하게 되었다. 올해 내 인생에 있어서 가장 큰 이벤트이자, 가장 의미 있는 이벤트가 아닐까 싶다.
지금의 회사에 들어오면서 너무나도 좋은 사람들을 만나고, 함께하면서 많은 것들을 배웠다. 그 어디에서도 얻을 수 없는 귀중하고 밀도 높은 성장을 이루어 냈다. 작년 이맘때와 비교하면 나는 내가 생각해도 엄청난 성장을 이루어 냈으며, 그 중심에는 우리 회사가 있었다고 생각한다.
입사 후 나는 몇 개월간의 적응 기간 후, 통합 SSO 뷰 개발, 신규 서비스 런칭 준비 등으로 하루하루 바쁘게 보내고 있다. 지금까지 에멘탈 팀에 합류한지 약 7개월 정도 근무하면서 느낀 점들, 그리고 앞으로 성장하기 위한 나의 목표를 정리해보려고 한다.
성장에 대한 갈망을 잃지 않되, 휴식의 필요성을 잊지 말자
회사 생활을 하면서 얻은 성장은 되게 많지만, 반면에 원래 개인적으로 갖던 학습의 시간은 많이 줄어든 것 같다. 모두가 그렇겠지만, 퇴근 후 씻고, 밥 먹고, 좀 쉬다가 보면 10시가 되고, 다음 날 출근을 하려면 최소 2시에 잠자리에 누워야 하니 남는 시간은 약 4시간 남짓이라 이마저도 사실 효율적으로 쓰기가 어렵다.
사실 이건 의지의 문제인데, 이 4시간을 휴식이나 여가 활동을 위해 쓰느냐, 아니면 자기 발전을 위해 쓰느냐는 선택의 문제이다. 쉬는 게 나쁘고, 무조건 공부해야 한다는 의미는 절대 아니다. 우리는 사람인지라 매일같이 서너 시간을 공부하는 대에만 사용할 수는 없기 때문이다. ~~(죽을지도 몰라)~~
입사 초기에는 크게 신경 쓸 일이 많지 않아서 여유롭게 공부할 수 있었는데, 지금은 상황이 조금 달라졌다. 그러다 보니 어떻게 이 시간을 효율적으로 분배하고 사용할지에 대한 고민을 하게 되었다.
몇 개월 동안 시행착오를 겪으며 얻어낸 나만의 방법은 이렇다.
- 평일 최소 3일은 퇴근 후 2~3시간 공부를 하거나 토이 프로젝트를 진행하는 데에 쓴다. 이 시간에 의자에 앉아 생각만 하고 아무것도 남지 않아도 상관없다. 그렇게 사용하는 시간 자체가 의미 있는 것이다.
- 나머지 2일은 무조건적 휴식 혹은 게임 등의 여가 활동 휴식은 필수다. 매일같이 사람이 어떻게 일만 하겠는가. 영화를 본다던가, 드라마를 본다던가.. 롤을 한다던가.. 나에게 자그마한 보상을 꼭 주도록 하자.
- 주말은 평일에 썼던 에너지를 비축하는 대에 집중. 무언가를 하려고 마음먹었지만 못했어도 상심하지 않기! 주말에는 아무것도 하지 않았다고 해도 상심하지 않기. (중요) 이 시간을 공부하는 데에 쓰던 노는대에 쓰던 마음이 가는 대로. ~~일요일 빼고..~~
나는 굉장히 시간에 대해 예민한 편인데, 아무것도 하지 않고 허투루 보내는 시간이 너무나도 아까워서 뭐라도 해야겠다는 강박이 있다. 가장 힘들었던 경험을 말하자면, 주말에 아무것도 하지 않고 그냥 침대에 누워있으면 서너 시간은 진짜 금방 지나간다. 정신을 차리고 일어나 시계를 보면 현타가 너무 세게 온다.. ~~지금 이 글을 쓰고 있는 지금도 그렇다 ㅋㅋㅋㅋ;~~
생각해 보면 이런 현타가 내가 지금까지 성장할 수 있었던 원동력이 되었던 것 같기도 하다. 여느 때와 같이 성장에 대한 갈망은 잃지 않되, 휴식의 필요성을 잊지 말자. 적어도 올해부터는.
완성도 높은 서비스를 위해 필요한 프론트엔드의 노력은 무엇인가?
정말 짧은 기간이지만, 많은 것들을 보고 배우면서 앞으로 우리의 서비스의 완성도를 높이기 위해서 프론트엔드 개발자들이 해야 할 노력은 무엇인가에 대한 고민을 하게 되었다. 서비스의 규모가 커지고 유저가 많아짐에 따라, 서비스의 품질에 대해 생각하지 않을 수가 없다.
물론 의지만으로 되는 일은 아니다. 적극적으로 서비스 품질 개선에 대한 분위기가 조성이 되어야 할 수 있는 일이긴 하다. 하지만 언제나 그랬듯 우리 프론트엔드 개발자는 사용자와 가장 밀접하게 맞닿아 있는 뷰를 책임지고 개발하는 사람이지 않은가.
짧은 식견이지만 실제로 시중에 내놓으라 하는 다양한 서비스들을 보고, 또 그 서비스를 개발하는 팀에서 근무하시는 분과 이야기를 나누면서 느낀 완성도 높은 서비스 제공을 위해 필요한 프론트엔드의 노력에 대해 정리해보았다.
- 프론트엔드 디자인 시스템 구축을 통해 디자인 일관성을 유지하고 개발 생산성 향상시키자.
- 재사용성 높은 컴포넌트, 좋은 코드에 대한 고민을 꾸준히 하자.
- 더 나은 개발 문화를 위한 비판적 시각을 가지자.
- 코드리뷰의 중요성을 인지하고, 적극 도입하여 코드의 질을 개선하자.
- 자주 사용하는 유틸 함수나, 서비스를 지탱하는 중요 로직들에 대한 테스트 코드 작성
서비스라는 것이 항상 요구 사항이 매번 바뀌고, 새로운 기능들이 추가되기 마련이다. 이에 어떻게 빠르고 효율적으로 대응하느냐가 서비스의 품질을 결정하는 요소인 것 같다.
따지고 보면 사실 위의 것들은 프론트엔드계의 정론처럼 당연히 중요하다고 받아들여지는 것들인데, 내부적인 사정도 있고 두고두고 시간이 필요한 작업이기도 하다.
2021, welcome and
언제나 그랬듯 아직 나는 너무나도 하고 싶은 일들이 많고, 더욱더 높이 성장하기를 꿈꾼다. 2021년은 나에게 어떤 한 해가 될까? 너무 궁금하다.
my life as a developer will be continued..