2022년 하반기 회고
title: 2022년 하반기 회고
date: 2022-12-31
tags:
- Retrospect
Introduction
지난 상반기 회고에 이어 하반기를 돌아본다.
상반기 회고
상반기 회고를 했다는 걸 방금 알았다.
이건 회고인지 개그인지 모르겠다.
학교
이번 학기를 마지막으로 졸업을 하게 되었다.
남은 학점은 6학점으로, 자유롭게 수강할 수 있었다.
전공 강의를 하나 들을까 하다가, 취업 준비에 더 많은 시간을 투자하고자 사이버대의 온라인 강의 2개만 들었다.
이후 말하겠지만, 이건 진짜 잘했다. 3-1부터 4-1까지 전공을 빡세게 들었던 것은 헛된 시간이 아니었다.
전공 졸업 요건 중 하나인 TOPCIT은 걱정과 달리 쉽게 PASS하였다.
영어 졸업 요건은 TOEIC Speaking으로 끝냈다. 5년 전에 봤을 때는 강남 현장 강의를 듣고 120, Intermediate Mid에 해당하는 결과를 받은 것으로 기억한다.
당시 자료를 간단하게 살펴보고, 미리 준비해봤자 큰 영향이 없을 것이라 판단하여 10분만 대충 보고 시험을 봤는데 140, Intermediate HIgh에 해당하는 결과를 받았다.
모든 졸업 요건을 맞추어 내년 2월에 졸업하여 백수가 된다.
작년부터 국장을 맡은 컴타임즈를 마무리하게 되었다.
작년에는 신입 국원이 4명이 들어왔으나, 국장을 맡을 인원이 없어 어쩔 수 없이 올해도 맡아 2년 동안 컴타임즈를 이끌었다.
올해는 신입 국원 문의조차 들어오지 않았으며, 내년이 되면 활동 인원이 1명밖에 남지 않게 된다.
억지로 넘겨줄 수는 있겠으나, 2년간 스트레스를 받으면서 느낀 점이 있기에 직접 소모임을 마무리하게 되었다.
인수인계 자료를 남겨놓긴 하였으나, 과연 컴타임즈가 다시 이어질지는 모르겠다.
GDSC
GDSC (Google Developer Student Clubs)라는 단체가 존재한다.
학생만을 위한 단체로, 이전에 학교에 존재하던 GDG는 철수한 것으로 추측이 되며, 현재 GDSC 2기로 활동하고 있다.
GDSC에 계시던 분들이 워낙 실력이 뛰어났으며, 당시 지원하던 9월 초에는 실력이 매우 부족하였기에 붙을 확률이 낮다고 판단하였다.
하지만 이번 리드분께서는 GDSC를 동아리나 소모임이 아닌 커뮤니티를 지향하고 계시며, 실력이 부족하여도 주도적으로 열심히 학습하는 인원을 위주로 선발하셨다.
해당 기준에 어느 정도 부합하기도 하며, 필자가 좀 이상한 인간이라 재밌게 보시고 긍정적인 영향이 있을 것이라고 예측하셔서 합격하지 않았나- 라고 생각한다.
Server/Cloud, Web/Front, AI/ML 3개의 파트 중 AI/ML에 속하여 활동하고 있다.
데이터 엔지니어를 희망하고 있으며, 현업에서의 업무는 Server/Cloud에 가깝더라도 함께 일을 하는 포지션은 AI/ML에 있을 것이라 생각하였다.
그러한 분들과 미리 교류를 하며 직군에 대해 파악하고 함께 일하는 방법을 익히는 것이 도움이 되리라 판단하였다.
다만 인원이 겨우 9명밖에 되지 않으며, 다른 파트보다 개인주의가 더욱 강하게 느껴지며, 아직까지 얼굴조차 뵙지 못한 분도 계신다.
작년에도 AI/ML 파트는 불모지라고 판단하여 Server/Cloud로 넘어가신 분들이 계시는데, 그게 무슨 말인지 뼈저리게 느끼고 있다.
아래에 적게 될 스터디 3개 모두 GDSC에서 진행하고 있다.
정기 세션에서 진행하는 슈몰세미나의 두 번째 세션에서 발표를 잘하기 위한 방법
에 대한 발표를 진행하였다.
다들 기술적인 부분에 대한 발표를 하는 반면, 2기 처음으로 기술 외적인 부분에 대한 발표를 진행하였으며, 극초반 세션에서의 발표이기에 긴장을 하였다.
덕분에 말이 너무 빨라지고 준비했던 내용을 제대로 전달하지 못하였으며, 당시 반응을 기억하더라도 예상보다 훨씬 실패한 발표라고 생각하였다.
그러나 발표에 공감하시고 전달드린 내용에 대해 깊게 생각하신 분들도 계셨으며, 덕분에 본인이 발표할 때 해당 내용들을 고려하여 더 좋은 발표를 할 수 있다고 격려해주신 분들도 계신다.
위로하기 위한 말인지, 정말 도움이 되신 건지는 잘 모르겠으나 반반이라고 생각하고 추후 주어질 발표 기회를 대비하여 더 다양한 주제에 대해 고민해보고 있다.
첫 모임에서 자기소개를 진행할 때 아래와 같이 말을 했었다.저는 여기 계신 분들 중 기술적으로 제일 밑바닥에 있을 것이구요. 여러분의 지식을 싹 빨아먹고, 그만큼 여러분들에게 도움을 드리겠습니다.
아마 기술적인 실력 측면에서는 바로 밑에는 디자이너로 일하고 계신 한 분만 계실 것이다.
정말로 기술적으로 많이 얻어가며 성장하고 있으며, 나이를 먹으며 다양한 문제에 대해 깊게 고민한 덕분인지 다른 분들께 도움을 드리고 있다.
GDSC 활동을 통해 놀라울 정도로 가파른 성장을 하고 있으며, 2기가 끝날 때까지 만족하지 않고 계속 성장하고자 한다.
취업 준비
취업 준비는 크게 Project, 코테, 이론 지식, 지원 총 4가지 파트로 나눈다.
Project
총 2개의 프로젝트를 진행하고 있다.
Devcamp
지난 8월, 학교 개발자 커뮤니티와 IT대학 학생회가 주관하는 Devcamp
에 참여하였다.
다양한 주제에 지원할 수 있었으며, 멘토님과 미리 컨택을 하여 Community Issue Keyword
라는 프로젝트에 참여하게 되었다.
특정 도메인의 게시글을 통해 키워드를 추출하여 유저에게 제공하는 서비스이다.
엔지니어 4명, 모델러 2명으로 엔지니어가 너무 많아 각자 얻어갈 것이 적은 상황이었다.
당시 엔지니어의 역할을 버리고 PM 및 팀 리더의 역할을 맡아 매니지먼트를 담당하게 되었다.
Architecture 설계, 노션 정리, 프로젝트 관리 등 개발 외적인 부분에서 많은 작업을 하였다.
멘토님의 추천으로 High Output Management
라는 서적도 읽으며 더욱 효율적이고 좋은 매니지먼트에 집중하였다.
부족한 부분도 많고 생각대로 되지 않아 스트레스도 많이 받았으나, 많은 것을 배우며 더욱 넓은 시선으로 프로젝트를 바라볼 수 있게 되었다.
프로젝트 마감 기준으로 많은 문제가 존재하였다.
Scheduler의 경우, Airflow를 이용하고자 하였으나 Subnet의 차이로 인한 ALB 도입 과정에서 문제가 발생하여 Cronjob으로 대체하였다.
Architecture 설계에도 문제가 있어, 7~8번 정도 엎은 Architecture를 계속하여 수정하기도 하였다.
모델의 정확성 문제, 모델 개선으로 인한 과거의 키워드 문제, 많은 유저의 요청으로 인한 동시성 문제 등 다양한 문제들이 존재하였다.
이러한 문제들을 해결하고자 남은 인원들이 다시 프로젝트를 이어 나가게 되었다.
필자는 휴학생에 가까운 취업 준비생이기에 시험이나 과제가 없었으나, 다른 팀원들은 학업으로 인하여 시간을 내지 못하였다.
이번 주가 되어서야 다시 프로젝트를 이어 나가게 되었으며, 엔지니어와 모델러 각 1명씩 개인 사정으로 프로젝트를 진행하지 못하게 되었다.
엔지니어분은 DB를 담당하셨기에 DB와 관련된 API를 맡게 되었다.
동시성 문제를 해결하기 위해 DB도 건드려야 하는 상황이었기에, 운이 좋게 적절한 역할이 주어진 것 같다.
오랜 기간 끌어왔던 프로젝트이기에 최대한 빠르게 마감하고자 한다.
MSA
후에 다시 적겠지만, GDSC에서 MSA 관련 스터디에 참여하고 있다.
이론 부분은 끝났으며, 주문 관련 서비스를 MSA 방식으로 구현하며 MSA에 대한 이해도를 높인다.
우선 REST API를 이용하여 다른 Component와 통신하며, 정합성과 속도 측면에서의 한계를 깨달으면서 MQ -> Kafka || Redis와 같은 방식까지 확장할 계획이다.
현재 고객, 상품, 결제, 주문으로 총 4가지 Component가 존재하며, 그 중 상품 파트를 맡게 되었다.
상품 파트에서는 기존 상품 조회 및 검색, 새로운 상품 추가와 같은 작업만이 이루어진다.
주문 과정에서 가장 마지막에 영향을 받는다고 볼 수 있으며, DB와 관련된 작업이 주를 이루게 된다.
위 기능만 구현하는 것은 간단하겠으나, 검색의 경우 %%LIKE%% 와 같은 방식이 아닌, 더욱 빠르고 효율적으로 검색할 수 있는 기술을 이용할 계획이다.
현재는 ElasticSearch를 고려 중이며, 더 적절한 기술이 있다면 해당 기술을 이용할 예정이다.
코테
코테의 경우, 7월부터 매일 2시간씩 코테 준비를 하였다.
하루 종일 코테에만 투자하는 방법도 있으나, 기술적으로 아직 부족하여 다른 파트에 많은 시간을 투자해야 하는 상황이기에 코테에 적은 시간을 투자하였다.
약 3-4개월간 꾸준히 하다 보니 이제 웬만한 코테는 통과하는 수준이 되었다.
아직 완벽한 상황은 아니지만, 더 이상 코테에 시간을 쏟는 것보다는 다른 곳에 시간을 쏟는 것이 낫다고 판단하였다.
코테 일정이 생기면 며칠 전 문제를 조금씩 풀어 감을 잡는 방식으로 바꾸어 진행 중이다.
하반기에 약 10개 이상의 코테를 보았으며, 2개를 제외하고는 전부 통과하였다.
하나는 8월에 진행한 토스 코테로 준비 기간 초반이기에 실력이 부족한 것 같으며, 하나는 넥슨 넥토리얼 코테로 6문제 중 5솔이면 되겠지- 하고 그냥 제출했다가 탈락했다.
이론 지식
CS 공부는 꾸준히 진행하고 있다.
전체적인 CS 지식에 대해 정리를 해놓았으며, 관련된 공부를 통해 부족한 부분을 채우거나 재학습을 하여 지식을 쌓아나가고 있다.
과거에는 CS 지식이 개별적이며 왜 배우는지 몰랐으나, 현재는 CS 지식이 서로 연관성이 매우 높으며 왜 배우는지에 대해서도 깊게 이해하고 있다.
아직 부족한 부분이 많아 꾸준하게 공부를 진행하고 있다.
또한 HTTP The Definitive Guide를 읽으며 HTTP를 깊게 학습하는 스터디, MLOps 스터디, MSA 스터디에 참여하고 있다.
HTTP 스터디는 서적의 절반 정도 진행하였으며, 원서를 이용하여 학습을 진행하고 있다.
진행하는 스터디 중 가장 활발한 교류를 하며, 서로 다양한 측면에서 고민하여 스터디에서 논의하기에 얻어가는 것이 매우 크다.
서적에서 현재 거의 쓰이지 않거나 당장 필요하지 않은 일부 Chapter는 넘어가는 방식으로 진행하기에 방학 중으로 서적에 관련된 스터디는 끝날 것으로 예상된다.
다들 이를 아쉬워하며, 스터디를 통해 배운 지식을 이용하여 함께 진행할 수 있는 새로운 스터디나 프로젝트를 고민하고 있다.
MLOps의 경우 GDSC의 AI/ML 파트에서 진행하는 스터디로, 데이터 엔지니어와 MLOps 엔지니어의 업무에서 비슷한 부분이 있기에 참여하였다.
Coursera에서 Andrew Ng 교수님의 강의를 듣고 있으며, 너무 과하게 이론적인 부분이 많아 솔직히 큰 도움이 되지는 않는다.
다만 이러한 부분을 스터디에 참여하시는 분들도 깊게 공감하고 계시며, 실제 ML 관련 작업을 진행하는 것을 통해 논의를 하며 최대한 많은 것을 얻어가고자 노력하고 있다.
MSA 스터디는 그냥 재밌어 보여서 참여하였다. 빅테크에서는 Monolithic에서 MSA로 전환하는 사례를 찾아보기 쉬우며, 해외 빅테크에서는 오히려 MSA를 권장하지 않기도 한다.
빅테크를 노리는 상황에서 MSA에 대해 어느 정도 이해를 하는 것이 도움이 되리라 판단하였기에 해당 스터디에 참여하였다.
솔직히 이론적인 부분에서는 MSA에 대한 부정적인 시각만 존재하였다.
유지 보수 측면에서는 서비스가 커질수록 MSA의 이점이 크다고 생각하나, 이를 위해 희생하는 부분이 너무나도 많다고 판단하였다.
이를 해결하기 위한 여러 기술이 제시되나, 결국 구멍을 메꾸기 위해 억지로 새로운 기술을 만들어 도입하여 복잡성이 높아지는 느낌이 들었다.
이론 파트에서 깊게 들어가면 어려워져서 실습 파트로 빠르게 넘어왔으며, 실습을 진행하며 이러한 부정적인 부분을 어떻게 해결할 것인지에 초점을 두고자 한다.
지원
하반기에 지원한 공고는 생각보다 매우 많았다.
Toss Next, 네이버웹툰 신입 개발자, Line 하반기 공채, Kakao 2023 BLIND Recruitment, 넥슨 넥토리얼, NCSoft 하반기 공채, 카카오뱅크 TECH 인턴십, 카카오게임즈 신입 웹개발자, 네이버파이낸셜 Winter Dev Internship, 네이버웹툰 데이터 엔지니어.
총 10개의 공고를 지원하였으며, 서류 탈락 3, 코테 탈락 2, 1차 면접 탈락 2, 최종 탈락 1, 서류 결과 대기 중 1, 1차 면접 결과 대기 중 1이다.
서류와 코테 탈락은 다루지 않는다. 부족하니까 탈락했을 것이며, 어떠한 부분이 부족하였는지에 대한 분석은 개인적으로 진행하였다.
1차 면접 탈락은 Line과 NCSoft이다.
Line 면접은 취업 준비 과정에서 진행한 첫 면접으로, 너무 긴장하여 질문에 대해 깊게 고민하지 않거나 질문을 제대로 이해하지 못함에도 답변하는 등 부족한 모습을 많이 보여주었다.
좋은 기회를 날린 것은 아쉬우나, 첫 면접의 실패 덕분에 많은 것들을 얻을 수 있었다.
주변 분들께서는 작은 기업에 지원하여 면접 경험을 쌓으라고 하시지만, 개인적으로 그러한 행위는 나라는 개발자를 위해 소중한 리소스를 투자하는 면접관분들에 대한 기만이라고 생각하였다.
물론 그러한 면접 경험이 있었다면 2차 면접을 넘어 최종 합격이라는 결과를 받을 수도 있었겠지만, 결국 다 같은 개발자이고 같은 세상을 살아가는 사람들이기에 억지로 면접 경험을 쌓지 않았다.
NCSoft는 아래에 적을 Kakao 면접과 일정이 겹쳐 전형 포기 의사를 전달하였다. NCSoft는 당일 판교 사옥에서 11시에 대면 면접을 치러야 하였으며, Kakao는 16:20에 비대면 면접을 치러야 했다.
거주지와 판교까지 왕복 4시간이 걸리며, 2차 면접 기회를 준 Kakao에 더욱 집중하고자 하였다.
최종 탈락은 위에서 적은 Kakao 2023 BLIND Recruitment이다.
솔직히 2차 면접까지 오게 되어서 자만하였으며, 이로 인하여 최종 탈락을 하게 되었다.
미만카 (미리 만나는 카카오) 행사에서 데이터 관련 팀에서 팀장을 맡고 계시는 Kenny가 면접관으로 참여하였다.
그동안 살아온 삶을 통해 정말로 개발에 관심이 있는 것인지, 좋은 개발자가 될 가능성이 있는지에 대한 검증이 이루어졌다.
필자도, Kenny도 언급하였지만 다른 지원자에 비해 실력이 부족하다.
그럼에도 2차 면접까지 온 것은 적어도 기술적인 실력이 최소 허들을 넘었다는 의미로 판단하였으며, 강점이라는 성장 가능성에 초점을 두었다.
문제는 이러한 결과가 오히려 자신감을 뛰어넘어 자만심을 가지게 만들었다.
부족한 실력임에도 최종 전형까지 도달하였으니 나는 당연히 빠르게 성장하여 좋은 개발자가 될 거야- 라는 생각이 들었으며, 자만심으로 이어지게 되었다.
물론 최종 탈락에는 다른 이유도 존재하겠으나, 개인적으로는 자만심이 가장 크게 작용하였다고 생각한다.
하지만 다시 생각을 해보아도, 최종 탈락을 하였기에 성장할 수 있는 가능성이 닫히지 않았다고 생각한다.
최종 합격을 하였다면 저러한 생각이 더욱 강해져 자만심이 더욱 커졌을 것이며, 겨우 가능성에 안주하여 성장을 제대로 하지 못하여 그저 그런 개발자로 남았을 가능성이 있다.
최종 탈락을 하였기에 이러한 문제들을 파악할 수 있었으며, 자만심을 없애고 다시 자신감을 가지며 혹여나 자만심을 가져 성장을 저해시키는 건 아닌지 생각할 수 있는 겸손을 얻게 되었다.
다른 면접관분께서는 거의 말을 안 하셨기에 Kenny와 많은 질답을 하였으며, 개인적으로 Kenny라는 사람에 대해 관심을 가지게 되었다.
기회가 닿을지는 모르겠으나, 언젠가 Kenny와 여유롭게 대화를 해보고 싶다. 얻어갈 것이 많은 사람이라고 생각한다.
서류 결과 대기 중은 네이버웹툰 데이터 엔지니어 공고이다.
저번 주에 지원한 공고로, 윈터로 인하여 채용이 줄어든 상황에서 몇 안 되는 신입 수시 채용, 심지어 데이터 엔지니어 직군이기에 다시 지원을 하였다.
이전에 서류 탈락 이유에 대해 고민하였으며, 부족한 부분을 파악하여 성장한 모습을 보여주고자 하였다.
지원자가 많아 1월 초에 서류 결과가 발표될 예정이다.
개인적으로 궁금한 부분이 많아 해당 조직에 계신 데이터 엔지니어분들이 어떠한 생각을 하고 계시는지 알고 싶다. 최종 합격은 아니더라도, 1차 면접까지는 꼭 가보고 싶다.
마지막으로 1차 면접 결과 대기 중은 네이버파이낸셜이다.
이번 겨울 방학 시즌에 진행하는 인턴십으로, 백엔드 파트에 지원하였다.
데이터 엔지니어의 업무는 백엔드 엔지니어와 공통되는 부분이 많으며, 백엔드 엔지니어에서 데이터 엔지니어로 전환을 하시는 분들도 매우 많다고 알고 있다.
또한 많은 분들께서 처음부터 데이터 엔지니어의 길을 걷는 것도 좋으나, 백엔드 엔지니어로 성장하다 중간에 전환을 하는 것을 추천하시는 분도 많기에 백엔드 파트에 지원하게 되었다.
Java로 코테를 치루게 되어 며칠 전 감을 잡았으며, 덕분에 코테에 통과할 수 있었다.
1차 면접에서는 Kakao와 비슷하게 지원자에 대한 배려를 많이 해주시는 것을 느낄 수 있었다. 면접 경험이 적긴 하지만, Kakao 면접과 더불어 가장 좋은 면접 경험이기도 하다.
아직 1차 면접이 끝나지 않았을 수도 있기에 질문 유형도 적지 않겠다.
다만 처음 겪어보는 면접이었으며, 생각보다 재미있었다. 경험이 쌓인 것도 있으며, 면접관분들께서 배려해주시기도 하셨고, 면접 자체가 재미있기도 하였다.
정직원 전환이 어려운 것은 물론 알고 있으며, 큰 기대도 하지 않는다. 다만 좋은 면접 경험을 통해 현업에서도 좋은 경험을 할 수 있을 것 같기에 최종 합격하여 인턴십을 진행해보고 싶다.
Conclusion
본격적으로 학업을 마치고 현업을 위한 취업 준비에 몰두하기 시작하였다.
부족한 부분을 느껴 빠르게 성장하고 있으며, 다양한 사람들을 만나 좋은 경험을 많이 얻기도 하였다.
학업을 조금 소홀히 하더라도 이러한 경험을 더욱 일찍 하였다면 더 좋지 않았을까- 하는 후회도 있으나, 이미 벌어진 과거인데 어쩔 수 있나.
만족스러운 부분도 있으나, 아쉬운 부분도 많은 하반기였다.
다음 반기인 2023년 상반기에는 아쉬운 부분이 더욱 적어질 수 있도록 노력해야겠다.