2020년 회고
뭐했다고 벌써 2021년이지? 싶어 올해 뭐 했는지를 월별로 되돌아보고자 한다. 개발자로서의 회고라기보다는 그냥 나의 1년을 되돌아보는 글이다.
대학 입학 후 첫 계절학기 수업을 들었던 1월
1학년 말까지도 전공 고민을 계속했고 솔직히 컴퓨터공학을 전공하게 될지 몰랐다. 그래서 1학년 전공 기초 중 안 들은 것이 많은데 그중 하나인 파이썬 프로그래밍 과목을 수강했다. 대학 입학 후 첫 계절학기였는데 마지막 계절학기가 될 것 같다. 계절학기는 나와 맞지 않는 것 같다. 방학 때는 쉬고 싶다. 1학년 1학기 전공기초여서 난이도 자체도 쉽고 난 이미 파이썬 문법을 알고 있었기에 딱히 배워가는 것도 없었다고 느꼈다. 30만 원짜리 기상 스터디에 등록한 기분이었다. 동아리 내 계절학기 소모임(다꾸와 맛집 탐방) 덕분에 그나마 즐겁게 보냈다.
생애 첫 개발 외주를 했던 2월
보통 2월은 신입생 오리엔테이션, 멘토링, 새내기 새로배움터 등으로 바쁜 시기인데 코로나로 하나둘씩 취소되어 계속 본가에 있었다. 2019년을 마무리하며 세운 2020년의 목표가 여유와 건강 되찾기였던 만큼 푹 쉬며 보냈다.
그러다 같이 프로젝트 했던 분이 내게 외주 제안을 했고 할 일 없이 놀던 차에 수락해버렸다. 내가 배운 것으로 돈을 벌 수 있다는 사실이 새삼 새롭게 느껴졌다. 개발 외주를 하며 프리랜서는 힘들겠다고 느꼈다. 정확한 업무 시간과 업무 공간이 따로 분리되어 있는 것이 중요하다고 느꼈다. 다음에 외주를 하게 된다면 일정이나 급여에 대해 좀 더 내 의견을 제대로 피력해야겠다고도 생각했다. 일정을 좀 촉박하게 잡아서 예상치 못한 버그가 생겼을 때 정해진 일정 안에 해결해야 했을 때 스트레스를 많이 받았다.
▼ 외주 작업물이 궁금하다면?
수제 케이크 맛집 지도의 MVP사이트를 개발했다. 초기 버전의 사이트를 개발했고 이후 업데이트에는 관여하지 않아 현재 개발 버전과는 차이가 있다.
2월에는 학교 해외 탐사 프로그램에 지원하기 위해 동아리 친구들과 함께 준비했다. 캠퍼스 도시농업을 주제로 준비했고, 공들여서 탐사 사전 보고서 및 계획서를 작성했다. 탐사 지역은 미국으로 정했고 캠퍼스 텃밭을 가진 미국의 대학과 도시농업 시설들에 미리 연락하고 일정까지 다 잡았다. 이거 지원하려고 급하게 토익도 쳤다. 토익 900은 넘기겠지 하고 4일 뒤에 있는 시험 접수했다가 수능 이후로 영어 공부 한 적 없어서 급 불안했다. 그래도 역시 공부는 하기 싫었고 기도 메타로 시험 봤다. 만점이 아니어서 아쉽긴 했지만 나름 괜찮은 성적이고 토익 성적 2년 안에 딱히 쓸 일 없어서 시험은 일단 다시 안 보기로 했다. 이것저것 정말 열심히 준비했는데! 코로나 바이러스 때문에 프로그램 자체가 취소되어 매우 아쉬웠다.
3월, 연기된 개강과 급하게 개발한 Need a Pill의 게시판 기능
코로나바이러스 때문에 개강이 연기되었고 난 본가에서 푹 자고 놀고먹으며 평화롭게 지내고 있었다. 개강 전까지 개발해야 했던 게시판 기능과 소셜 로그인 기능을 개강이 다 와가서야 급하게 개발을 시작했다. Need a Pill 프로젝트가 사실 처음 해보는 프로젝트이기도 하고 그전에 개발 공부를 해본 적도 없었어서 개발하며 많이 헤매었다. 이번에도 어떻게 구현을 할지 막막했다.
▼ Need a Pill 프로젝트
원래는 2020년 상반기에 실제 서비스 배포를 하려고 했으나 코로나 때문에 한국을 방문하는 외국인이 급격히 감소했고 우리 팀이 만나기도 힘들어 서비스를 잠정 중단했다.
구현 방법에 대해 공부하며 OAuth와 Redux에 대해 공부하고 직접 프로젝트에 적용했다. 나 혼자 스스로 학습한 내용을 프로젝트에 직접 적용해보는 경험이 의미 있었다고 생각한다. 하지만 동시에 혼자 학습하고 적용하다 보니 이게 맞는 것인지 best practice는 무엇인지에 대한 고민이 늘었다. 좋은 코드와 구조를 찾고 학습하고 싶었고 best practice가 무엇인지 고민해보고 싶은 욕구가 커졌다.
픽미업 팀을 결성한 4월
비대면 학기가 확정되었다. 학교의 결정이 놀랍기도 했지만 원래 난 학교 수업을 충실히 가기보다는 교수님이 올려주시는 녹화 강의를 듣고 공부하는 타입이었기에 평소와 큰 차이는 느끼지 못했다.
집에만 있다 보니 이렇게 계속 쉬어도 되나 불안감이 커져갔다. 마침 학교 커뮤니티에 웹 개발 프로젝트 팀원을 구한다는 글이 올라왔기에 지원했고 그렇게 본인 포함 프론트엔드 2명, 백엔드 2명, 디자인 1명으로 픽미업 팀이 결성되었다.
후배들과 조그만 알고리즘 스터디도 만들어 일주일에 4~5문제씩 풀려 노력했다.
5월의 교훈: 술은 적당히 마시자!
좀 많이 마셨던 술자리가 5월에 몇 차례 있었는데 어...... 술은 적당히 마시자!^^ 나에게도 남에게도 미안한 일이 있었다.
5월은 늘 그랬듯 과제와 플젝으로 버닝한 달이었다. 이번 프로젝트(픽미업)가 두 번째 프로젝트였는데 첫 프로젝트 셋업부터 구조 설계까지 내가 직접 모두 해본 것은 처음이었다. 이전 프로젝트는 동아리 운영진의 도움을 많이 받았었고 솔직히 하면서도 제대로 이해하지 못한 부분들이 많았다. 이전 프로젝트를 혼자 하라고 했으면 못했을 것 같다.
이번에 하는 프로젝트는 내가 주도해서 개발하는 거였고 초기 세팅을 내가 하면서 next.js의 _app.js와 _document.js의 역할, 디렉토리 구조 등에 대해 더 공부하고 새롭게 지식을 쌓았다.
생애 첫 코딩 테스트도 봤다. 어려워서 몇 문제 못 풀었지만 코딩 테스트 공부를 열심히 해야겠다는 동기를 얻었다. 알고리즘 PS 실력은 하루아침에 늘어나지 않는다는 교훈도 얻었다.
첫 비대면 학기의 시험으로 고통받았던 6월
교수님들이 대부분 기말고사는 대면으로 볼 수 있을 것이라는 희망을 품고 중간고사를 취소하고 기말고사 한 번만 보기로 결정하셨다. 성적에서 기말고사가 차지하는 비중이 적게는 50%에서 많게는 90%까지 커져서 시험을 준비하면서 굉장히 부담스러웠다. 이번 시험을 망하면 이번 학기 성적 전체가 떨어지니 스트레스를 많이 받았다.
사실 더 부담스럽고 힘들었던 이유는 기말고사 한 번만 보다 보니 기말고사 범위가 한 학기 내용 전체를 커버하는 것이었다. 난 분명 안 밀리고 강의도 잘 듣고, 과제와 복습도 제때 했는데 기말고사를 준비하려니 시간이 턱없이 모자랐다. 매일 밤을 새도 내용을 꼼꼼히 다 볼 수 없었다. 기말고사를 준비하며 매일 밤을 새웠고 지치고 점점 불안하고 화가 많아졌다. 이젠 정말 쉬어야겠다고 생각했다.
지치고 우울했던 7월, 그리고 다시 하나 둘 시작해보기로.
6월에 기말고사 기간을 거치며 멘탈 건강을 잃었다. 주변 사람들을 어느 순간 조금씩 미워하고 있는 나를 보며 정말 못났다고 생각했다. 7월 초는 딱히 한 게 없다. 무언가를 할 수 있는 상태도 아니었다. 드라마나 영화 보는 걸 별로 안 좋아해서 넷플릭스에도 딱히 취미 없었는데 막상 보다 보니 재밌어서 계속 넷플릭스만 봤던 것 같다.
1학기 성적이 떴다. 생각보다 잘 나왔다. 정보통신공학 너무 힘들었는데 A+ 받아서 뿌듯했다. 데이터베이스도 기말고사 1등 했다! 대부분 A+이고 최저 성적이 A였다. 입학 후 가장 좋은 성적을 받았다. 무엇보다 전공과목을 많이 들을수록 성적이 오른다는 점이 기분 좋았다.
마음의 여유를 되찾고 나서 뭐든 다시 시작해야겠다 싶었다. 픽미업 프로젝트 개발을 다시 시작했고, Node.js 공부와 쇼핑몰 사이트를 만드는 프로젝트를 시작했다. 일일 커밋에도 도전했다.
8월 일일 커밋 성공!
Node.js 공부 및 프로젝트를 했다. Node.js 재밌고 쉽다. 노드로 팀원 모아서나 개인으로 프로젝트 하나 더 해보고 싶다는 생각을 했다. 몽고 디비도 이번에 프로젝트하면서 공부하고 사용해봤는데 간편하고 좋았다. 1학기에 데이터베이스 배우길 잘했던 것 같다.
픽미업 프로젝트를 하면서 작년에 개발한 니더필 프로젝트를 참고했는데 내가 확실히 성장했다고 느꼈다. 성장했다고 느낀 가장 큰 지점은 그때 왜 이렇게 코드를 짠 거지?라고 생각하게 된 점이다. 그때보다는 확실히 더 좋은 코드를 짜고 있다는 걸 느낄 수 있었다. 코드를 작성할 때 이유 없이 남의 코드만 보고 비슷하게 베끼는 것이 아니라 나름의 근거를 가지고 개발할 수 있게 되었다. 또한 다른 사람의 도움 없이 혼자서 원하는 기능을 개발할 수 있게 되었고, 같이 개발하는 팀원분에게도 개발 도움을 드릴 수 있게 되었다.
9월! 휴학했다!
입학부터 3학년 1학기 마치고 휴학해야지, 그리고 세계여행 가야지 했는데 코로나 바이러스 때문에 해외여행은 꿈도 못 꾸게 되었다. 하지만 예정대로 휴학했다. 쉬고 싶기도 했고, 졸업 프로젝트를 할 마음의 준비가 되어있지 않았다. 그리고 학교 공부가 아닌 현업에서 일해보고 싶었다.
일단, 이력서와 포트폴리오를 작성했다. 이력서나 포트폴리오를 만드는 게 처음이라 많이 헤매었던 것 같다. 이력서나 포트폴리오를 완성하긴 했는데 여전히 이렇게 작성하는 게 맞는 건지 확신은 안 든다. 앞으로 수정 및 보완해 나갈 예정이다.
몇 개의 인턴 공고에 지원했다. 이런 채용 프로세스를 진행하는 것이 처음이라 모든 게 새로웠고 신기한 경험이었다. 결과적으로 합격하진 못했지만 개발 과제, 면접 등의 경험이 내게 도움이 되었다고 생각한다. 개발 과제나 면접 등을 통해 내 개발 지식이나 코드를 작성하는 방식에 대해 성찰하고 부족한 점을 알게 되는 계기가 되었다. 앞으로 더 공부할 부분을 찾아 좋았고, 공부할 동기도 얻는 유익한 경험이었다.
휴학 계획 변경, 10월
원래는 휴학하고 일을 해보고 싶었으나 대부분의 채용 공고에서 기졸업자나 다음 학기 졸업 예정자만 뽑아 5학기를 마친 내가 지원할 수 있는 자리가 별로 없었다. 졸업 예정자가 아니지만 일단 지원했고, 9월 말에 면접을 두 차례 봤지만 10월 초중순에 결과를 확인하니 불합격이었다. 몇 군데 더 지원을 해볼까도 생각했지만 일단 졸업이 한참 남은 사람을 채용하는 곳은 몇 군데 없기도 했고 휴학하고 하고 싶은 일들이 많았기에 일자리를 찾는 건 그만두기로 했다.
그리고 10월 말에 아래와 같이 하고 싶은 일들을 정리했다.
- [개발] 픽미업 프로젝트 완료하기 / 테스팅 방법 공부하기 / GraphQL 공부하기 / 백엔드 개발 프로젝트 하기
- [컴퓨터공학] 인공지능 공부하기 / 알고리즘 공부하기(코딩 테스트 준비)
- [외국어] 영어 / 프랑스어 / 스페인어 공부하기
- [취미] 우쿨렐레 배우기
- [기타] 운전면허 따기
2020년이 지난 시점에 2달간 계획 이행 여부를 정리하자면, 먼저 픽미업 프로젝트는 거의 막바지 단계인데 백엔드 API 개발이 계속 지연되어 아직 완성하지 못했다. 대신 타입스크립트를 학습하고 전체적으로 리팩토링했다. 테스팅 방법, GraphQL은 아직 공부하지 못했고 백엔드 프로젝트도 하지 않았다. 12월 말부터 친구들과 머신러닝 스터디를 시작했고 코세라 강의 등을 들으며 공부 중이다. 10월 말부터 코딩 테스트 준비 스터디를 한 달간 하며 여러 문제를 풀어봤다. 역시 알고리즘은 많이 풀면 풀수록 느는 것 같다. 올해 초에는 쉬운 문제들도 어려워했는데 이젠 적당히 풀 수 있게 되었다. 영어는 한 달 정도 기술문서를 번역해 노션에 올리는 스터디를 하며 영어를 꾸준히 사용하려 했었다. 한국 타입 스크립트 핸드북 프로젝트에도 내 번역을 PR 보냈고 머지되었다. 기타 외국어는 듀오링고를 통해 틈틈이 하려 하고 있다. 계속 살지 말지 고민했던 우쿨렐레를 샀다. 심심할 때마다 조금씩 치면 기분이 좋아진다. 잘 치지는 못한다. 하지만 내가 즐거우면 된 게 아닐까. 운전면허는 현재 필기, 기능을 합격했고 다음 주에 도로주행 시험을 앞두고 있다. 방학 동안 아직 못한 계획들을 하나둘씩 해볼 생각이다.
졸업요건 중 하나인 졸업시험(코딩 테스트)을 응시했다. 공부를 안 하고 친데다 당일 모든 테스트 케이스를 맞힌 문제 개수가 겨우 졸업시험 통과 커트라인이어서 제발 패스만 하길 바랐다. 추후에 교수님이 부분 테스트 케이스를 맞힌 문제도 부분 점수를 인정해주셔서 최종 성적을 보니 최우수상(2등 상)이었다. 아쉽게도 휴학생 신분이라 상금은 못 받았다.
생애 첫 직장에서 일하게 된 11월
10월 말 ~ 11월 초에는 바빴다. 내 생일이 있는 기간인 데다 부산에서 서울로 올라와서 약속이 매일같이 있었다. 대부분 술 약속이라 체력적으로 힘들었다. 11월 첫 주에는 SW 창업경진대회도 있었고 동시에 학교에서 부탁한 일을(학교 홍보 영상 관련) 하느라 바빴다. 내가 스스로 불러온 재앙이었기에 끝까지 열심히 수습했다. 창업경진대회 준비를 상대적으로 못했는데 우수상을 수상해 뿌듯했다.
학교 홈페이지를 보다 LG상사에서 단기계약직을 구한다는 공고를 확인했다. 인공지능으로 수집된 데이터를 시각화하고 데이터를 통해 도출된 인사이트를 시각적으로 확인 가능한 동적인 웹사이트를 개발하는 프론트엔드 개발자를 구인하는 공고였다. 해당 공고에 적힌 시각화 툴을 사용한 적은 없었지만 딱히 하는 일도 없었고 단기로 일할 수 있다는 점이 좋아 지원했다. 해본 적 없는 일이었기에 자신도 없었고 떨어져도 그만 이런 마음으로 지원했고 면접도 봤다. 운이 좋게도 같이 일하자는 합격 통보를 받았고 그렇게 11월 말부터 함께 일하게 되었다.
코로나와 재택근무, 12월
11월 말에는 LG광화문 빌딩도 가보고 위워크도 가면서 출근해서 일했는데 코로나가 엄청 심해져 전면 재택근무가 되었다. 회사 출근하면서 여러 사람들도 보고 인연을 쌓고 싶었지만 코로나 때문에 막혀 아쉬웠다. 아침 일찍 나와 강남 가는 지하철을 타는 건 고역이었기에 재택근무가 나름 좋기도 했다. 확실히 편하게 일할 수 있는 부분이 있기도 했지만 커뮤니케이션에 약간 어려움이 있었다.
이번에 일하면서 Dash Plotly를 처음 사용해봤는데 데이터를 시각화하기에 좋은 툴이었다. 앞으로 데이터를 다루고 시각화하는 프로젝트를 하게 된다면 위 경험을 기반으로 좀 더 쉽게, 또 잘할 수 있을 것 같다. 기능을 다 구현했을 때 속도가 매우 느린 문제점이 있었다. (초기 로딩 시간만 50초가량이 걸렸다.) 불필요한 import 제거, DOM 뎁스 줄이기, 콜백 함수들 간에 불필요한 의존 관계 제거와 함께 불러오는 데이터 개수를 제한했다. 그 결과 로딩 시간을 거의 느낄 수 없을 정도로 로딩 시간이 줄었고 이후 데이터 변경에 따라 부분적으로 새로 렌더링 될 때의 렌더링 속도도 줄었다.
+) 빠지면 섭섭한 새해 계획
2020년의 새해 계획은 책 한 달에 두권 이상 읽기, 한 달에 한번 이상 문화생활하기, 나라 5개 이상 여행하기, 체중 감량하기(몸무게 앞 자릿수 바꾸기)였다. 새해 초반에만 책을 좀 읽었고 코로나 때문에 여행도 문화 생활도 어려웠다. 이 중 제대로 이룬 건 체중 감량밖에 없다. 휴학하고 제대로 자고 술을 줄였더니 알아서 살이 빠졌다.
2021년의 새해 계획을 세워봤다.
- 건강하게 살기
- 몸무게 앞자리수 한번 더 바꾸기
- 자세 교정하기(거북목과 라운드 숄더)
- 꾸준히 운동해서 체력 키우기
- 밤샘 최대한 자제하기
- 개발 및 전공 공부 열심히 하기
- 읽으려고 했던 기술 서적 읽기
- 공부 시작했으면 중간에 포기하지 않고 계속 하기
- 원하는 분야 정해서 졸업 프로젝트 시작하기
- 일기 꾸준히 쓰기
아 그리고 영어랑 외국어 공부도 꾸준히 해야겠다.
올해는 정말 한 게 없고 그다지 성장하지 못했다고 생각했는데 막상 정리해보니 내 생각보다 한 것도, 배운 것도 많고 개발 실력도 체감할 수 있을 만큼 성장했다. 스스로를 너무 자책하지만 말고 격려와 응원을 해줘야겠다. 2020년 수고했고 2021년도 열심히 잘해보자!