나는 2년차 프론트엔드 엔지니어가 되었을 때 이직을 결심했다. 이 포스트는 이직에 대한 기록이다.
요약: 이직 성공함
이직을 결정한건 2년차가 되던 때였다. 어쨌든 목표를 정했으니 이직을 해볼까? 어.. 근데 어떻게 하는건데?
필자는 2020년 기준 나이가 27살로 비교적 젊은(?) 편에 속한다. 하지만 친구도, 아는 사람도 별로 없는 찐따였다. 그래서 이직에 대한 조언을 얻으려고 해도 주변에 이직한 사람이 없었다.
혼자 북치고 장구치고 하는 것은 내 전문이었기 때문에 혼자 이직을 준비한다면 분명 망할 것이라고 직감했다. 과감히 혼자 하겠다는 생각을 버리고 이직에 대한 조언을 얻기 위해 이직을 경험한 사람들을 찾기 시작했다. 생각보다 가까이 있었는데, 바로 팀원들이었다. 팀원들 몇몇은 이직을 한 경험들이 있어서 그 분들에게서 조언을 구걸했다.
(같은 팀원들에게 나 이직한다고 조언 달라는거 실화냐? ㅋㅋ)
내가 이직한다고 말했을 때, 생각보다 기뻐하시는 분들도 있었다. 도대체 나랑 어떻게 일했던거지? 🤔
나: 회사를 나가고 이직을 준비하려고 한다
(이직을 경험한)팀원들: ㅋㅋㅋ
당시 코로나 여파도 있었고, 이직이 무조건 된다는 보장도 없을 것이라고 내게 귀띔해주었다. 회사를 다니면서 이직을 할 것을 강력히 추천받았다. 보험은 없는 것 보다 있는게 낫다.
두 방식에 장단점이 있지만 나는 그 당시 팔랑귀였기 때문에 경험자들의 의견을 따르기로 했다.
나는 글쓰는 것을 싫어한다. 진짜로... 취준생 시절부터 자소서 쓰는걸 극혐
해서 자소서 길게 써야 하는 기업은 지원조차 안했었다. 하지만 이직을 준비함에 있어서 이력서는 필수였다.
나의 빛나는 구글링 결과, 최근에는 이력서도 쉽게 작성할 수 있는 플랫폼들이 존재했다. 원티드, 프로그래머스, 링크드인이었다. 이들 셋은 주어진 폼만 작성하면 이력서를 이쁘게 만들어준다. 나는 디자인 감각이 0에 수렴하는 사람이기 때문에, 이런 플랫폼이 있다는 것에 너무 행복했다. 근데 그 와중에도 세 군데 다 쓰긴 싫어서 원티드만 사용하였다. 이력서도 이쁘게 잘 만들어주는데 제출도 너무 간편해서였다. (뒷광고아님)
이력서 작성 팁을 구글링 해보았는데, 이력서에서 경력사항은 짧게 쓰는게 좋다고 했다. 나는 팔랑귀이기 때문에...
아! 그냥 기술스택만 나열하고 프로젝트는 1~2 줄정도로 요약해야지!
그렇게 2년차 프론트엔드 엔지니어의 1페이지 짜리 끔찍한 이력서가 탄생했고, 약 20~30개의 기업에 넣었지만 모두 다 서류 탈락했다.
이력서는 미니멀리즘.. 해야한다매..
원티드는 한 번 서류 탈락한 곳은 재지원 할 수 없었기 때문에, 나는 큰 충격에 빠졌다.
원인을 생각해보니 경력사항을 1~2줄로 줄이는 경우는 프로젝트를 많이 맡았고, 이직을 여러번 경험한 사람에게 좋을 것이라는 생각이 들었다. 나의 경우는 개발이 1년이 끝이고 회사가 첫 회사였기 때문에, 상세하게 적었어야 했었다.
서류 광탈의 이유를 짐작하고나서 개발했던 기능마다 설명, 기술 스택, 결과, 좋았던 점, 아쉬웠던 점을 기록하여 프로젝트 소개 파트를 늘려갔다. 달랑 글만 있으면 이해가 잘 가지 않을 것 같아서 여기 개발했어요 하는
제품 이미지도 넣으면서 이력서를 수정했다.
그 결과 경력도 x도 없으면서 설명도 빈약한 1페이지 짜리 이력서를 제출했을 때 보다 몇몇 기업에서 서류 합격을 받을 수 있었다.
어떤 기업은 서류 통과를 하고 바로 면접을 보는 곳도 있지만, 얘가 진짜 코딩을 하는 앤지 걸러내는 코딩 테스트(코테)를 보는 곳도 있다.
여러분들도 아시다시피 코테에서는 알고리즘 문제가 주를 이루게 된다. DP, BFS, DFS, 백트래킹, 트리 탐색 등등등
필자는 취준생때 네카라의 코테를 보고 좌절을 많이 맛보아서 코테에 대한 반감을 갖고 있었다. 하지만 다행스럽게도 신입 공채때 맛보았던 지옥같은 난이도보다는 사람이 풀만한 난이도로 출제되었기 때문에 즐겁게 코테를 치뤘다.
예를 들어 신입때는 DP와 같은 문제로 이렇게 꼬아놓은 문제를 풀어볼래? ㅋㅋ
와 같이 사람들을 괴롭혔다면, 경력직 코테는 스택을 아시나요? 그러면 스택과 관련된 문제를 느긋하게 풀어보시겠어요?
와 같은 친절한 난이도로 문제가 출제된다.
하지만 알고리즘 공부를 따로 하지 않으면 난감할만한 난이도로 나오기는 한다. 필자는 알고리즘 기초는 어느정도 했기 때문에, 무난하게 풀었었다.
⛔ 코테를 본다면 코드 컨벤션(변수 이름)쪽도 중요하게 여기고 작성하자. 많은 기업들이 면접 때 코테에서 다시 물어본다. 실제로 나는 빨리 제출하려고 코드를 휘갈겨(?) 냈는데, 인터뷰 하시는 분이 그 코드를 보고서는 원래 코드 이렇게 짜냐고 물으셨다. (아니에요... 코테라서 그랬어요)
어떤 기업은 코딩 테스트 말고 사전 과제를 출제한다. 개인적으로 지원자를 평가하는데에 있어서 과제를 통해 평가를 하는 것이 더 낫다고 생각한다. 코딩 스타일을 볼 수 있고 질문할 것도 더 많기 때문이다.
하지만 사전 과제는 지원자나 기업이나 서로에게 힘든 점이 많다.
본인은 카카오 페이 경력 채용때 첫 사전 과제를 치뤘다. 당시 나는 사전 과제가 처음이라 어느 수준
까지 만들어야 할지 감이 잡히지 않았다. 2~3일간 출근도 하고 과제도 하고 밤을 새면서 프로젝트 셋업을 하고 제출했는데, 떨어질때 떨어지더라도 왜 떨어지는지 너무 알고싶었다. 그래서 피드백좀 꼭 달라고 readme.md에 작성했는데, 감사하게도 채점하신 분의 상세한 피드백을 얻을 수 있었다.
그 때의 피드백을 바탕으로 사전과제를 하게 될 때, 기업이 어느 수준
을 원하는지 알 수 있게 되었다.
이 섹션에 앞서, 필자는 답도 없는게, 서류 통과하고 나서 면접 준비를 했다. 미리 준비했어야 했는데..
어쨌든 프론트엔드이고, 면접때 뭘 물어볼지 잘 몰랐기 때문에 JS 쪽을 많이 준비했었다. Event loop, Execution context와 같은 개념을 다시 공부하고 준비를 했었는데..
맙소사
그런건 신입에게나 물어보는 질문이었던 것이다.
본인은 대략 5번의 기술 면접을 봤는데 대부분 이력서를 기반으로 꼬리에 꼬리를 무는 질문을 했었다. 왜 이 라이브러리를 선택했는가
라는 질문을 시작으로 더 deep 하게 물어보면서 면접이 진행되었다.
종종 해맑게 웃으시면서 깜짝 코딩 테스트(구현 문제)를 하는 경우도 있었으며, 코테때 봤던 문제를 리뷰하는 경우도 있었다. 또한 과제를 리뷰하면서 문제점을 발견하고 같이 해결해나가는 경우도 있었다.
면접을 많이 안봤을 때엔 모른다고 대답하면 지는 것 같은 이상한 경쟁 심리가 붙어서 이상한 소리도 내뱉었는데, 나중가서 모르는 것 같거나 애매하다 싶으면 모른다고 그냥 딱 잘라 얘기했다.
인상 깊었던 기술 질문 중 하나는
왜 Redux를 쓰는가?
였다.
나는 prop drilling을 해결해 주며 global state의 강점이 있다고 설명을 했었는데, prop drilling은 react-redux의 경우가 아니냐? 라고 되물었었고, 그리고 global state에 대해서는, useContext를 써서 global 한 state를 만들면 되지 않느냐. 왜 redux를 써야하는가? 이렇게 되물어봤었다.
기술 면접을 기적적으로 통과하면, 인성 면접을 본다. 기술만 미친듯이 알고 동료와 커뮤니케이션을 할 수 없는 인성 파탄 난 사람을 걸러내겠단 취지같다. 회사가 추구하는 fit과 맞는지를 주로 대화를 하면서 간접적으로 파악하는 것 같은데, 종종 기술 쪽을 물어보는 경우도 있었다.
인성 면접이면 인성 쪽만 물어봤음 좋겠다.. ㄹㅇ루
인성 면접은 답이 없고, 그 회사가 어떤 문화를 지향하는지만 대충 기억하고 소신껏 대답했다. 개인적인 생각으로는 나
에 대해 내가 얼마나 잘 알고있는지가 중요한 것 같다. 그리고 왜 이직하는지에 대한 명확한 이유도 필요했다.
나는 총 2 곳을 최종 합격 했다. 연봉 협상은 이전 직장의 연봉을 기준으로 진행되었다. 연봉 협상이 모징?! 하는 나를 보고 내가 받고 싶어하는 연봉의 +500을 더 부르라는 팀원의 아이디어를 채용하여 그렇게 불렀다. 한 곳은 연봉 협상을 진행했고, 다른 한 곳은 그냥 파격적으로 제시하길래 내가 협상을 더 하지는 않았다.
A 회사
1. FE 팀이 새로 만들어짐. 입사하면 내가 FE팀의 초창기 멤버가 될 확률 농후
2. 연봉은 이전 직장 기준 135%
3. 면접 볼때 정말 편했음 (FE가 없다보니 FE에 대한 질문은 없었음)
B 회사
1. FE 팀 사람 많음. 회사 큼
2. 복지 좋음
3. 연봉은 이전 직장 기준 150%+@
4. 내부적으로 뭔가 경쟁을 해야할 것 같음
나는 더 큰 회사에서 일하고 싶었기 때문에 B 회사를 선택했다.
이직 준비는 총 2달 정도가 걸렸다. 이력서 작성, 지원에 한 달 정도가 걸렸으며, 코테, 과제 면접 등등에 한 달이 걸렸던 것 같다.
이직을 결심하고 나서 실행에 옮긴 그 2달이 정말 지옥같이 힘들었다. 퇴근하고 밤 12시, 새벽까지 공부하느라 늦게 자는 경우가 더 많았다. 코테, 과제 한다고 주말을 반납한 적도 있었다.
반면에 이직을 준비하면서 배워가는 것도 있었다. 심지어 이직을 준비하면서 더 많이 배운 것이 아이러니다. (면접때 대답 못한것들은 ㄹㅇ루 안 잊혀지더라)
어쨌든 이직도 성공했고, 경험도 해봤으니 이제는 새로운 환경에서 적응할 일만 남았다. 내가 정말로 자랑스럽다!
성공적인 이직 축하드립니다!
시행착오를 써주셔서 감사해요. 도움이 많이 될 것 같아요.
2년차 백엔드 개발자인데 저도 이직 준비중이에요 ㅠㅠ
다음주부터 이력서 넣으려고 생각하니 떨리네요
이직 축하드려요!!
redux 관련해서 쓰신건 저도 좀 충격적이네요.
저도 drilling 이랑 global state 제어 때문에 쓰고 있는데..
답이 뭘까요..?🤔
와...2달간 정말 수고하셨어요!! 어떻게 회사와 이직준비를 병행할 수가 있죠...대박..
궁금한 점이 있는데요 최종합격된 후 기존 회사에 뭐라고 말하며 퇴사하셨나요...?
축하드립니다.
이력서는 미니멀리즘.. 해야한다매.. <<< 정말... 거짓말쟁이들..