신입 FE 개발자로의 취업, 취준을 돌아보며
코드스쿼드를 수료하고 약 1년의 시간이 지났다. 취준이라는 핑계로 그 동안 어떠한 회고도 하지 않았는데, 이제 입사일이 확정이 되어 마음의 어느정도 여유를 찾아 지난 여정을 정리해보고자 한다.
돌아볼 회 回 , 돌아볼 고 顧
다른 개발자 분들의 블로그를 돌아다니다 보면, '회고' 라는 단어를 많이 접한다. 회고는 어떤 뜻일까? 일반적으로 회고回顧 와 회상回想은 비슷한 의미로 쓰인다. 나는 한자를 잘 모르지만 회상은 의미 그대로 지나간 일을 돌이켜 생각해본다는 뜻인 반면, 회고는 과거를 돌아보며 마음에 새기고 반성한다는 의미가 더해져있다고 한다.
많은 시행착오가 있었다. 개발에 대한 공부법에도, 나라는 사람의 가치관을 정립하는 데에도 일직선으로 걷진 못했다.
학창 시절에 시험을 보고나서 틀린 문제를 항상 따로 모아서 기록했다. 문제집이 아닌 실제 시험에서 이 문제를 만나면 다시는 틀리지 않기 위함이었다. 인생은 매 순간이 시험이라는 점이 다르지만, 살면서 비슷한 문제 상황을 분명히 또 마주칠 것이다. 인생은 정답이 없다는 점이 다르지만, 분명 더 나은 선택지는 존재할 것이다. 앞으로의 날에 더 나은 선택지들을 고르기 위해, 또 이렇게 말하면 너무 인생이 딱딱해 보이니 더 발전된 모습을 보이기 위해 그 동안의 시행 착오를 마음에 새기고 반성해보고자 한다.
난 모르는게 없어야만 해
코드스쿼드 과정 중 내가 부족하다고 생각 되는 부분이 너무나 많았다. 하지만 난 내가 만든 벽에 스스로 갇혀있었다. 나는 전공자였기에 코드스쿼드 CS 과정에서 사실 좋은 퍼포먼스를 보여줬다. 그 때문인지 동기들은 나에 대한 기대치가 높았다. 사실 진짜 높았는지는 모르겠다. 이제와서 생각해 보면 그냥 우스갯소리로 나에게 매번 그런 말들을 했을 수도 있다고 생각한다. 나 혼자 괜한 자격지심이 생겼던 것 같다. 나는 모르는게 없어야 하고, 누군가 뭘 물어보면 다 알아야만 했다. 당연히 난 그렇지 않았다.
학부에서 배우는 지식과 실제 프로젝트에 필요한 지식은 꽤 달랐다. 컴파일러가 어떤 알고리즘으로 텍스트를 의미 있는 단위로 변환시키는 지는 게시글을 등록시키는 동작을 구현할 땐 필요하지 않았다. CS가 중요하지 않다는 말을 하고 싶지는 않다. 다만 내가 해결하고자 하는 문제에 필요한 지식과 내가 대학교에서 쌓아온 지식이 달랐었음을 말하고 싶다.
나는 웹 개발에 대해 잘 알지 못했다. 하지만 알량한 자존심 때문에 내가 모르는 부분을 표출하지 못했다. 개발 공부를 시작하고 봤던 수 많은 개발 관련 영상 중, 나에게 큰 영향을 끼쳤던 향로님의 인터뷰가 생각난다. 향로님 또한 자신이 모르던 부분을 마주하지 않고 회피했던 것이 본인의 성장을 막았던 경험을 블로그에 말씀해주셨는데, 참 읽으며 뜨끔했다.
코드스쿼드의 장점이자 단점(?)을 딱 하나 말하라고 하면, 그 누구도 어떤 지식을 알려주진 않는다. 서로 지식을 공유하고 부족한 부분을 서로 보완하며 알아가야 한다. 하지만 난 누구의 도움도 받지 못했다. 정확히 말하면 도움을 받지 않았다. 부족한 부분은 집에서 혼자 공부해가면 그만이라고 생각해 모르는 질문이 오면 슬쩍 다른 곳을 갔다.
다른 사람에게 모르는 것을 말하는 것이 뭐그리 어려웠을까? 역으로, 나는 다른 사람들의 질문이 왔을 때 그들을 무시했던가? 나에게 물어봐주는 것이 고마웠고 가르쳐주는 걸 개인적으로 좋아해 매번 재밌었다. 나도 모르는 부분은 나보다 더 잘아는 사람에게 질문한다면, 그들 역시도 기쁜 마음으로 알려줄 것이다. 재능있는 척을 하지 말자. 개발자는 함께 같은 문제를 해결해 나가는 사람이다.
오픈소스 기여하기
'개발자 취업하는 법 다 알려드림'과 같은 유튜브 영상들을 보면 (실제로 있는 영상인진 모르겠다. 내가 지은 제목이다.) 자주는 아니지만 가끔 오픈소스에 대한 얘기가 나온다. 사실 오픈소스에 대단한 관심이 있지는 않았다. 오히려 '취업에 도움이 되겠지' 라는 속마음을 '개발 커뮤니티에 대한 기여'라는 알량한 포장으로 감싸며 오픈소스 관련한 영상들을 여러개 찾아봤다.
유튜브 알고리즘은 참 신기하다. 내 짧은 개발 인생의 가장 큰 터닝 포인트가 된 채널을 나에게 소개해주었다. 구독자가 당시 채 10명도 되지 않는 신규 채널의 커뮤니티 글이었다. 사실 정확한 문구도 기억 나지 않는다. 대략적으로 오픈 소스 컨트리뷰트 해보실 분을 찾는 글이었다.
큰 기대는 없었다. 흔한 광고글처럼 생각다. 그래도 관심이 조금은 있었으니까 별다른 기대 없이 신청서를 작성했고, 연락이 왔다. 내가 개발자로서 커리어를 시작할 수 있게 도와준 에디와의 첫 만남이었다.
ESLint의 이슈를 해결하는 것 자체는 간단했다. 이슈에 문제점과 의심 가는 코드가 이미 다 나와있었다. 하루 이틀 정도 코드를 읽다보니 대략적으로 해당 이슈와 관련된 코드들을 이해할 수 있었고, 이슈에 제시된 버그를 수정할 수 있었다.
하지만 테스트코드가 문제였다. 나는 테스트에 대해 1도 알지 못했다. 하지만 테스트 코드가 없으면 pr을 날릴 수 없었다. 난 이 때 내 스스로 개발자가 아니었다고 생각한다. 내가 배운적이 없으니까 못하는게 당연해라는 생각으로 테스트코드는 내가 작성할 수 없다고 생각했다. 공교육에 길들여진 나는 시험범위를 벗어난 부분에서 문제가 나오면 틀리는게 당연하다는 생각을 했다. 테스트코드도 나에게 비슷한 의미였다.
사실 이 과정에서 에디에게 많이 혼났다. 당시엔 꽤나 속상했다. 최선을 다했다고 생각했고, 난 모르는건데 왜 혼내시지라고 생각했다. 지금 돌이켜보면 그 때 크게 혼날 수 있었음에 굉장히 감사함을 느낀다. 개발자로서 기본적으로 가져야하는 태도를 많이 배울 수 있었다.
학교에선 배운 적 없는 문제를 시험에 내면 학생들이 이의 제기를 한다. 가르쳐 준적 없지 않은 개념이지 않은가. 수능에서도 교육과정 외의 개념이 필요한 문제가 출제되면 논란이 된다. 하지만 개발자는 현실의 문제를 해결하는 사람이다. 기술은 그 문제를 해결하는 도구에 지나지 않는다. 내가 그 기술을 공부해보지 않았다는 이유로 해결해야 하는 문제를 왜 나한테 해결하라고 하는거야라고 말해서는 안된다.
속상함은 뒤로 하고 다시 테스트 코드를 천천히 읽어봤다. 테스트 라이브러리를 하나도 공부하지 않았음에도 어느정도 읽혔다. 사실 일반적인 테스트 포맷이 아니었고 자체적인 형태로 테스트 라이브러리를 래핑하여 사용하고 있었기 때문에 테스트 라이브러리를 공부했더라도 내가 생각한 것 처럼 시험문제 풀듯이 테스트 코드를 작성할 순 없었을 것이다.
아키텍처
결과적으론 내 취업을 성공시켜준 주제인 아키텍처. 하지만 취준 과정 중엔 사실 가장 나를 스트레스 받게 한 주제였다. 회사에서 주니어 개발자가 아키텍처를 공부했다고 하면 좋아할까? 지금은 당연히 No라고 답할 수 있다. 하지만 그 때 당시의 나는 Yes라고 생각했다. 사실 알고있었음에도 "내가 왜 세상에 맞춰야해? 세상은 반항심 가득한 개발자를 좋아한다며. 내가 하고 싶은 공부를 하고 나만의 색을 나타낼거야." 라는 생각이 더 강했던 것 같다.
아키텍처 기반의 이력서로 약 70여 곳의 회사에 지원을 했고, 만족스럽지 못한 결과를 받았다. 단순히 컴퓨터 공학 전공과 비교적 괜찮은 학점 때문에 JAVA 포지션에 합격하기도 했다. FE 포지션 면접을 가도 그 누구도 아키텍처에 대해 묻지 않았다. 사실 에디 외에도 여기저기 이력서 피드백을 받았는데 모두 아키텍처에 대한 내용에 긍정적으로 답해주지 않았다.
수료 후 3~4개월은 아키텍처에 공을 들였는데 어떤 회사도 가기 힘들었고, 누구하나 알아봐주지 않았다. 에디 멘토링 이후에는 해당 내용을 이력서에서 모두 지웠다. 하지만 바뀐 버전의 이력서를 제출한, 현재 재직 중인 회사 면접에서 아키텍처 내용이 나왔고 추후 물어보니 팀장님이 아키텍처 관련된 공부를 한걸 좋게 보셔서 합격시켜주셨다고 했다.
아직도 뭐가 정답인지는 모르겠다. FE 개발자를 꿈꾸는 분이 나에게 아키텍처와 같이 조금은 취업 시장에서 요구하는 지식과 다른 결의 지식을 공부한다고 한다면.. 대답이 망설여진다. 시원하지 못한 답이겠지만 어느정도 정형화된 기본 스킬셋은 갖추고 취미적으로 조금씩 곁들이라고 하지 않을까 싶다.
이력서 멘토링
오픈소스 컨트리뷰트, CS 전공, 코드스쿼드 수료 정도면 괜찮은 이력서 아닐까 생각하며 취업 시장에 뛰어들었고, 처절히 실패했다. 힘들어하던 시기에 에디와 다시 연락이 닿았다. 에디는 취업을 했는지 여부를 확인하시고자 연락을 주셨었는데 내 상황을 들으시고는 매우 당황해하셨다. 이런 저런 대화 후 다시금 멘토링을 진행해보자고 에디가 굉장히 힘들게 말씀하셨다. 에디도 많은 고민을 하셨던게 아직까지 생생했다.
그 후로 약 4개월 간 에디와의 멘토링을 진행했다. 자세한 내용은 유튜브에 올라와있다. 내 짧은 인생에 기억나는 시기를 꼽으라하면 세손가락 안에 들 순간이어서 오히려 어떤 내용들을 적어야 할지 모르겠다. 나중에 기회가 된다면 하나의 글로 다시 작성을 하지 않을까 싶다. 심적으로도 체력적으로도 많이 지쳤던 시기였다.
이력서를 작성하는 스킬적인 부분은 에디 영상에서 많이 다뤘다고 생각한다. 다만 하나 배운 점이 있다면(이력서 뿐만 아니라 모든 곳에서도..) 하나씩만 더 개선하면 된다. 물론 그 한 계단이 무섭고 힘들다. 하지만 거꾸로 생각하면 최종 목적지는 그 무서움과 힘듦의 합이다.
앞으로도 내가 많이 계단에서 떨어져보고 다쳐보자. 떨어져보지 않으면 평생 그 계단 위로 올라갈 시도조차 하지 못한다. 죽지만 않으면 된다.
마치며
더 많은 얘기가 있었고, 더 다양한 에피소드가 있었다. 그 순간들은 글보다는 내 감정과 머릿속에 남겨두는 것도 좋을 것 같다. 창피한 내 단점을 글에 적자니 힘들었다. 취준 기간은 참 힘든 시간이다. 이 시기를 회상하려니 감정이 썩 좋지만은 않았다. 개발자를 꿈꾸는 많은 사람들이 너무 힘들지 않게 조금은 즐기면서 취업준비를 했으면 좋겠다. 물론 힘들겠지만 돌아보면 좀 더 즐겨도 되지 않았나 싶다.
개발자로서의 삶을 시작할 수 있도록 많은 도움을 준 에디에게 특별히 감사드린다. 받은 도움을 추후에도 꼭 다른 사람들에게 나눠주고자 한다. 세상에 도움이 되는 사람이 되자.