덤덤한 상반기 되돌아보기

학습·프로젝트·취업 준비를 통해 얻은 2023년 상반기의 변화와 생각을 기록한다.

Career, Retrospective, Learning, Projects

겨울

아직 추위가 가시기 전인 1월, 나는 Galaxy Market 프로젝트의 잔잔한 리팩터링을 끝내며, 여기서 배우게 된 내용이 너무 많아 이에 대해 글감을 정리하고 작성했다. 글로써 설명하기 위해서는 리팩터링을 진행하며 배운 부분뿐만 아니라, 기술 자체에 대한 이해도 필요했다. 한동안 풀지 못해 감이 떨어진 알고리즘 문제들도 열심히 풀었다.

이 medium에 작성했던 기록들!
이 medium에 작성했던 기록들!

그리고 뭔가 새해의 느낌이 남아 있던 1월 말에, 1년 동안 어쩌면 급진적이었던 나의 질주 기록을 정리했다. 남들에게 보여주기 위한 그런 것들이라기보다, 스스로에 대한 불안감의 해소 목적이 컸던 것 같다. ‘주변은 다들 각자 원하던 일을 하고 있는데, 나는? 달라진 것은 있나?’

1년의 로그를 정리하니, 후련했다. 이전의 나와는 확실히 다른 시야와 인사이트를 얻었다는 확신 또한 얻게 되었다. 이로써 불안감을 해소하고 언제 끝날지 모르지만 ‘진짜’가 될 수 있는 시점까지 이전보다 많이 가까워졌다는 생각도 들었다.

2022년 돌아보기 기억하는 2022년의 긴 호흡에 대한 기록.

medium.com

2월에는 취업을 준비하기 위해, 그리고 내실을 다지기 위해 컴퓨터 과학의 기반 지식을 습득하기 시작했다. 여전히 알고리즘 문제를 꾸준히 풀며, 어두웠던 시야가 밝혀지거나 새로운 지식이 필요한 문제는 블로그에 기록했다.

라이브러리나 프레임워크 없이, 바닐라 프런트엔드 개발에 대한 부분을 복습했다. 자바스크립트보다 타입스크립트를 쓰고 싶었던 마음에 바닐라 타입스크립트 개발 환경을 구축하며 문득 들었던 ‘이전의 나도 어려웠는데 다른 누군가에게도 필요한 지식일 수 있다.’라는 생각에, ‘타입스크립트 개발 환경 설정하기’ 같은 글을 쓰기도 했다.

다른 이들이 보기 좋게 남겨둔 기록을 보고 나 또한 지식을 쌓았듯이 필요한 누군가에게도 도움이 되었으면 좋겠다는 생각으로 정리했는데, 실제로 누군가에게 도움이 되었을지 잘 모르겠다.

Configure TypeScript Dev Environment (w/ Code, npm) 필자는 React와 Next를 이용한 프로젝트를 진행하면서 타입스크립트를 자주 사용하곤 했는데, 이 경우에는 CRA(Create-React-App), CNA(Create-Next-App) 커맨드를 통해 템플릿으로…

medium.com

3월에는 ‘모던 자바스크립트 딥다이브’를 읽기 시작하면서, JSON 객체가 제공하는 메서드에 대한 호기심이 생겼다. 여러 프로젝트를 진행하며 자바스크립트 객체를 JSON으로, 혹은 그 반대로 변환하는 경험은 있었으나 내부 구현이 어떨지가 궁금했다. 그래서 직접 메서드를 구현해봤다.

마치 알고리즘 문제를 푸는 느낌이었고, 생각했던 것에 비해서는 어려웠지만 호기심을 해결할 수 있었던 즐거운 경험이었다.

Convert to JSON, from JSON 클라이언트와 서버가 데이터를 주고받기 위한 통신을 하려면 데이터를 담는 컨테이너의 형태 혹은 규격이 일정해야 한다.

medium.com

4월 말, 몇 개의 수시 채용 공고에서 떨어지고 난 뒤 패인을 분석했다. 그 중, 역시 나의 이야기를 담을, 퍼스널 브랜드라고 할 수 있는, 포트폴리오 사이트가 없다는 생각이 들었다. 그래서 지식과 기술을 복습할 겸, 포트폴리오 사이트를 빠르게 만들어 배포했다. 지금 봐도 꽤 마음에 든다.

songforthemtue's Pf This is songforthemute's portfolio in 2023.

songforthemute.netlify.app

그리고 역시 이에 대한 기술적인 고민과 도전을 시도했던 경험을 기록하고, 글로써 정리했다.

포트폴리오 프로젝트 회고 약 열흘간 진행했던 포트폴리오 프로젝트에 대한 회고를 풀어볼까 한다.

medium.com

여름

모던 자바스크립트 딥다이브를 6월이 되어서야 전부 읽을 수 있었고, 그 전에, 가고 싶었던 회사의 인턴십 공고에서 서류 전형에 합격하며 첫 과제 전형을 경험할 수 있었다.

쉽지도 않았고, 결과도 자명했지만, 서류 합격이라는 증표는 나의 동기부여에 기름을 붓기에 충분했다. 그런 기회가 없었다면 ‘실패로부터 배우는 경험’조차 하지 못했을 것이다. 이 자리를 빌려, 나를 뽑아준 담당자분이 보신다면 감사의 말씀을 전하고 싶다.

6월 말부터는 공채뿐만 아니라 수시 채용 공고에도 자신감을 느끼고 지원하기 시작했다. 연이은 서류 전형 탈락에 원인을 추리하며 매일 이력서를 고쳤고, 자기소개서도 코멘토 서비스를 통해 피드백을 받으며 결점을 하나하나씩 덜어냈다.

또한, 새로운 프로젝트를 진행하기도 했다. 이런저런 일들이 겹쳐서 글을 쓰는 지금도 진행하고 있는 프로젝트지만, 막연했던 지속적 통합과 지속적 전달 전략을 Github Actions를 배워서 도입했고, Jest를 이용한 단위 테스트도 어느 정도 곧잘 작성할 수 있게 되었다. Storybook이라는 UI 테스팅 도구 또한 빠르게 습득해서 적용했다. 앞서 말한 기술적 도전뿐만 아니라 Redux를 복기하는 것도 며칠이면 충분했다. 확실히 기술 습득에 대한 속도가 나아졌음을 체감했다.

그리고 여전히, 빠르게 습득하고 적용시키는 과정 속에서 체계적으로 기록하는 것도 잊지 않았다. 이런 테크니컬 라이팅에 대한 부분도 썩 재미를 느끼고 있는 것 같다.

GitHub - songforthemute/jest-rtl-tutorial: Learn React.js testing tools Learn React.js testing tools. Contribute to songforthemute/jest-rtl-tutorial development by creating an account on…

github.com

GitHub - songforthemute/redux-tutorial: tutorial for learning redux with typescript, react tutorial for learning redux with typescript, react - GitHub - songforthemute/redux-tutorial: tutorial for learning…

github.com

storybook-tutorial/GUIDE.md at master · songforthemute/storybook-tutorial Learning Storybook + Component-Driven Development. Contribute to songforthemute/storybook-tutorial development by…

github.com

그 결과 7월, 어떤 탄탄한 회사의 신입 프런트엔드 개발자 수시 채용 공고에서 서류 전형에 합격했고 코딩 테스트 전형을 안내받을 수 있었다. 한 문제가 시간이 몇 분 남지 않았을 때 아이디어가 생각나서 아쉬웠지만, 그 문제를 제외하곤 썩 괜찮게 풀었다고 생각했다. 그리고 얼마 지나지 않아 생애 두 번째로 코딩 테스트 합격을 경험할 수 있었고, 화상 면접을 할 기회가 생겼다.

또한, 이전부터 고대하던 회사의 공개 채용의 서류 전형에서도 합격해 그 회사의 코딩 테스트 전형에 응시할 자격이 생겼다. 이때만 해도, 여태껏 참아온 인내의 열매를 보상받는 줄만 알았다.

우연찮게 같은 날에 화상 면접과 코딩 테스트를 모두 진행하게 되었다. 화상 면접은 프런트엔드 개발자님, 개발팀장님 두 분과 2:1로 진행하게 되었으며, 진행한 프로젝트에 대한 이야기가 주를 이루었고, 어떤 컴퓨터 과학 지식이라고 하는 기반 지식에 대한 질문도 있었다.

실제로 실무자들과 진행하는 첫 기술 면접이어서 떨렸지만, 그래도 홀로 프로젝트를 진행하며 소위 ‘삽질’했던 부분들이 많았기 때문에 프로젝트에 대한 부분은 어느 정도 수월하게 답할 수 있었고, 자바스크립트에 대한 질의도 어려운 부분을 물어보시지 않았기에, 답할 수 있었다. 하지만 면접이 끝나자마자, 몇몇 질문의 의도를 제대로 파악하지 못했다는 것을 자각했고 아쉽지만, 전반적으로는 첫 면접치고 나쁘지 않았다는 생각이 들었다.

바로 이어서 저녁에 진행한 코딩 테스트의 체감 난이도는 평이했지만, 컨디션 난조가 겹쳐 아쉬움이 남았다. 손도 못 댔으면 모를까, 남은 두 문제에서 단 몇 개의 케이스를 놓쳐버린 게 마음에 남았다.

달콤한 열매라고 생각했던 두 발의 탄환이 모두 불발되었고, 그 좌절감은 이루 말할 수 없었다. 아마 기대하지 않겠노라고 스스로 다짐했지만, 무의식적으로 꽤 많이 기대했었나 보다. 손아귀에 다 들어왔다고 생각했는데…

다행히 면접 전형을 진행한 회사에서, 결과 메일 속에 면접에 대한 피드백을 동봉해 주셨다. 평정심을 되찾은 이후, 진지하게 피드백을 읽고 고민하며 잘한 점과 아쉬운 점을 나누었다. 그나마 위안이 되었던 부분이 있었고, 이제 그 부분을 발판 삼아 더욱 성장하려 한다. 본디 성장을 위한 성장통은 고통스러운 법 아닌가. 좋은 기회를 주셨고, 이에 대해 개선 방향까지 제시해 준 면접관분들께 감사 인사를 전하고 싶다.

다시 바람이 차가워질 때를 대비하며

이 글을 마무리하며, ‘2023년 상반기를 마무리한 나는, 2022년을 마무리한 나보다 성장했는가?’ 라는 질문의 답에, 그렇다고 대답할 수 있을 것 같다. 스스로 생각하는 가장 큰 수확 두 가지가 있는데, 하나는 당연히 내가 꿈이라고 여기던 실무자의 목전에 꽤 가까워졌다는 점이고, 다른 하나는 기술을 습득하는 방법이다. 이전의 나는 기술을 습득할 때 책이나 강의 같은 다른 누군가가 보기좋게 정리해둔 자료가 필요했지만, 이제는 공식 기술 문서를 보고도 빠르게 터득해 나만의 방식으로 정리하며 프로젝트에 적용할 수 있게 되었다. 요즘 새로운 프로젝트를 진행하며 이전에 경험이 없던 기술을 빠르게 습득해서 적용하는 나에게 이는 너무 소중한 노하우가 되었다.

몇 년 전에 유튜브에서, 카카오에 일러스트레이터로 입사한 사람의 이야기를 본 적이 있다. ‘기회가 왔을 때, 언제든지 던질 수 있는 포트폴리오나 이력서가 있어야 한다.’라는 것이 주된 내용이었는데, 그 말을 들었을 때 머리를 얻어맞은 것만 같은 기분이 들었다. 냉정하게 돌아가서, 나는 그런 준비가 덜 되었다고 생각하고, 이제 내가 부족한 부분을 알았으니 메꿀 차례다.

개인적인 회상, 회고를 위한 짧지 않은 글이지만, 읽어주셔서 감사합니다.


원문: Medium