카카오 커머스기술팀 FE 인턴 회고
최초 업로드 2024-03-12 / 마지막 수정 2024-04-11
3월 12일 오후에 이 글을 쓰기 시작한다. 오늘 아침에 카카오 인턴 전환 불합격 발표를 확인했다 10, 11, 12, 1, 2, 3월을 거친 긴 과정이었다. 많이 지쳐있는 상태이다.
내가 했던 과제를 대략적으로 설명해보자면 1차 과제는 협업으로 웹앱을 만드는 일이었고 2차 과제는 개인이 웹앱 과제를 리팩토링해서 본인의 결대로 개선시키는 과제였다. 커머스 팀이었기에 커머스 페이지를 노코드로 만들 수 있는 툴을 만들었고, 바닐라 JS로 해야했다.
정확한 불합격 사유는 알 수 없지만 회고를 통해 내가 무엇이 부족했는지 돌이켜보자.
키워드는 "겸손"과 "소통"이다.
핏적으로 안맞았던 부분
- 업무 프로세스나 프로젝트 전체 구조와 같은 리드들이 맡는 일에 많은 의문을 품고 질문하는 스타일인 것이 파트장님과 조금 안맞았던 것 같음.
- 열정적으로 오버타임으로 기대 이상으로 성취하는 인재보다 주어진 시간 내에 정확한 플래닝으로 주어진 업무를 안정적으로 처리하는 것을 더 선호한 것 같음.
기술적으로 부족했던 부분
기술적으로 바닐라 JS에서 쓸 수 있는 구조들을 잘 몰라서 초반에 기술적으로 삐걱댔다. 추후 고민 끝에 여러 구조를 시험해보았고 2차 과제에서는 좋은 평가를 받았다.
기술적으로 내가 추구한 방향성이 과제의 방향성과 사뭇 달랐다. 커머스기술팀에서는 실무에서 유지보수가 쉽게하기 위해 가벼운 솔루션을 우선적으로 선호하는 느낌이었는데, 나는 1차 과제에서 바닐라 JS 전체를 아우를 수 있는 트렌디한 구조를 만들고자 했었다. 리액트 클래스 컴포넌트를 모방하여 상속과 데이터 바인딩을 넣고 진행을 했는데, 구조적으로 너무 복잡해졌고 바인딩에 따른 최적화도 필요해졌다. 1차 과제 피드백을 받고 2차에서 수정한 결과 바인딩과 상속 모두 삭제한 DOM 조작을 통한 가벼운 모델로 이전하게 되었다. 과도한 추상화를 제거하고 구현으로 코드를 많이 빼준 느낌이었다.
위와 같은 과정은 큰 문제가 되지 않았지만, 이를 수행함에 있어서 아래 협업과 인성적으로 차질이 있었다.
협업적으로 부족했던 부분
불합격 이후 며칠 동안 하나하나 회고를 해보았는데, 협업 첫 번째 날 의견 좁히기가 안될 때 내가 "그러면 각자 생각하는 구조를 간단하게 구현해보고 그걸 종합해보는건 어떤지"에 대해 의견을 냈었는데, 다른 분이 반대하셨었다. 반대하셨던 인턴분의 의견이 무엇인지는 기억이 정확하게 안나는데, 그 의견과 내 의견을 수렴해서 각자 자신있는 작업을 맡아서 진행하자가 결론이었던 것 같다. A(블록) B(구조+편집영역) C(구조+드래그드랍+버튼)로 세 명이서 각자 자연스럽게 맡고 싶은 부분을 맡을 수 있었다. 그 다른 인턴분께서 구조의 방향성을 내가 주장하는 방향으로 양보해주시고 대신 구현 부분에서 중요한 블록을 맡아주신 것이다. 서로 "왜 그렇게 생각하시나요?" 라는 꼬리질문을 충분히 안해서 서로 입장을 이해하지 않고 이건 너 말대로, 저건 내 말대로 50% 나누자 이런 식으로 된 것 같다. 내 입장은 "아 다른 인턴 분이 아직 구조에 대해 적응 할 시간이 필요하고 나는 구조가 필요다고 생각하는데.. 그러면 시간을 두고 각자 프로젝트 골격을 만들어보면 좋겠다." 였고, 반대했던 인턴분의 입장은 "1.그렇게까지 각자 만들고 합칠 시간이 부족하다." (모두가 공감한 생각) "2.나는 구조가 아예 없는 걸 구상 중인데 그걸 어떻게 구현해서 설득하지?"(내가 추측한 그 인턴분의 생각). 만약 내가 구조가 없어야함을 주장했다면 다른 상황이 펼쳐졌을 것이다. 왜냐하면 이번 프로젝트의 정답은 구조가 없는 쪽에 가까웠기 때문이다. 불합격 통지 후 며칠 동안 모든 기억들을 계속 끄집어내고 나서야 협업 초창기 일들이 부분 부분 기억난다. 기록을 했었어야했다.
추가 기억을 적자면, 위처럼 세 명 파트를 나누기로 한 후, 두 명이서 프로젝트 기본 구조를 만들고 한 분이 블록 만드는 것으로 첫 날, 둘째 날 정도 동안 병렬처리를 했다. 이후 합쳤고, 그렇게 프로젝트 초반이 지나갔다. (1차 과제는 워킹 데이 13일 정도 안에 종료되었다.)
다른 분들의 의견의 관점을 온전히 이해하고 넘어가야한다. 비록 경쟁이 강한 와중의 팀워크였지만, 배려와 공감이 우선시되어야했다. 서로 공감 후 설득하는 과정이 부족했다. 그리고 협업 시 의사결정과 근거들은 무조건 기록을 해야한다.
인성적으로 부족했던 부분
인턴으로서는 맡은 업무를 넘어서는 많은 질문이나 말을 했던 것 같다. 예시로,
- 팀 배정 후 두 번째 날 즈음에 "카카오는 부서간 이동이 제한적인데 어떻게 카카오의 문화가 유지되고 하나로 움직일 수 있나요?"와 비슷한 질문을 했었다.
- 지라, 노션 관리 등 회사 프로세스를 많이 물어보고 개선 방법을 고민해보았다. 1차 과제에서 코드에 더 집중해야할 시간에 지라 활용법 같은 것들을 과하게 며칠씩 탐구하고 연구한 것 같다.
- 지라를 예전에 썼어서 잘안다는 식으로 처음에 말한 것도 화근이었다.
- 1차 과제 피드백 받는 회의실에서 내 개인 컴퓨터 메모장에 "평가가 어떻게 이루어지는지, 데이터를 어떻게 보고 평가하는지 궁금하다" 이렇게 적혀있던 부분들이 있었고, 이걸 파트장님이 우연히 읽고 답변해주셨는데 어조가 강하셨었다. 이건 속으로 고민만 했던 것인데 우연히 메모장에 있었던 것이었다... 아쉬움이 조금 남는다.
이런 발언들이 나를 "숲을 보다가 나무를 놓치는 개발자"(파트장님께서 피드백에서 해주셨던 말씀 중 하나였다)로 만든 것 같다. 같이 일할 때 회사에서 주어진 틀에서 벗어난 이야기를 자꾸해서 회사 핏과 안 맞는다고 생각했을 수도 있겠다. 내가 프로세스를 맡는 직책까지 올라가기 전까지는 신입으로서 프로세스 보다 코드에 더욱 집중해야했다. 이건 회사마다, 상황마다 조금씩은 다를 것이라고 생각한다. 의문을 가지는 습관을 고치다기 보다는 상황에 맞게 내가 무엇에 집중해야할지 잘 정해야한다.
더 겸손해야했고, 내게 주어진 것에 집중해야했다.
최종 면접 회고
최종 면접에서 무슨 개발자가 되고 싶은지 물어보셨을 때 준비한대로 FE+도메인 전문성을 키운다고 대답했더니 너무 당연한 대답이라고 하셔서 당시 생각나는대로 "새로운 패러다임을 만드는 개발자"가 되고 싶다고 했다. 이건 일부는 맞고 일부는 틀린 말이었다. 바닐라 JS 위주로 최근 3개월 간 개발을 하다보니 이렇게 생각이 가게된 것도 있었고 궁극적으로는 소통도 잘하고 싶고 프로덕트 욕심도 있는데 이런 것이 준비가 안되어서 대답에 녹여내지 못했다. 그래서 나 자신을 프레이밍할 때 "새로운 패러다임을 만든다"는 것이 구현 위주의 커머스기술팀과 핏이 안맞는 느낌이 났던 것 같다. 무슨 개발자가 되고 싶은지 회사 핏과 내 목표를 동일한 방향으로 정렬해놓아야한다. 사람마다 진화하고 싶은 방향성은 여러 가지일 것이고 그 가지 중에 회사와 맞는 부분들을 설명해면 된다.
팀장님이 최종 면접 마지막에 해주신 피드백이 기억에 남는다: "쭉 쭉 밀고 나가며 많은 것을 성취해내는 점은 좋지만, 다른 사람들과 의견 충돌이 있을 때 다른 분들의 관점을 자세히 살피고 넘어가면 더 좋을 것이다." 나는 기술적으로 A, B, C를 구현해보며 비교해보자는 입장이었다면 팀장님이 제시한 방식은 구현 전에 먼저 어떤 이유에서 그 분이 그런 생각을 하셨는지 차분히 물어보고 공감하는 과정을 거치는 것이었다. 팀장님은 비록 세 번의 회의 밖에 만나지 못했지만, 내가 만나뵌 분 중에 가장 의견 수용을 잘하시는 분이었다. 앞으로 협업에서 수렴하지 않는 갈등이 생기면 OO팀장님이라면 어떻게 대처하셨을까를 한번씩 떠올려 볼 것 같다.
종합
종합해보자면,
- 인턴들끼리 서로의 의견을 충분히 이해하지 못하고 급하게 의사결정함. 기록을 했으면 나았을것.
- 과분한 칭찬을 받고 신나서 내게 주어진 일보다 과도하게 무언가를 하고자함. 스스로를 낮추고 주어진 일부터 먼저 끝냈어야함.
마치며
나의 경험/실력이 부분 부분 부족했다고 느끼는 점도 있고, 1차 과제 초기 협업 과정에서 빠르고 정확한 의사결정이 어려웠던 점도 있었던 인턴이었다.
하지만 전반적으로 멘토님들이 상세하고 깊게 멘토링해주셔서 많이 성장할 수 있었다.
나는 2차 과제에서 나름 리팩토링을 잘했다고 생각했고 최종 면접도 잘봤다고 생각했다. 하지만 결과는 불합격이었다.
전환형 인턴은 성장은 빠르게 할 수 있지만 불합격했을 때의 상실감은 일반 공채 보다 몇 배는 큰 것 같다.
카카오에서 함께할 수 없다는 점은 너무나도 뼈아프다. 앞으로 몇 개월 더 취준을 해야할지는 모르겠지만 다시 마음을 바로잡아야할 것이다.
내가 불합격한 이유는 위에서 언급한 나의 부족한 점이 아니라 그저 핏이 다른 분이 더 잘 맞았던 것일 수도 있다.
나는 열정적으로 1차, 2차 모두 잔업을 해서라도 기대 이상의 결과를 만들어 내고 싶어했고, 합격하신 분은 주어진 시간 내에 만들 수 있는 것을 플래닝하고
만들어내는 능력이 더 출중하셨다.