Showing Posts From

하나

이직해야 하나 고민되는데 면접 준비할 에너지가 없어요

이직해야 하나 고민되는데 면접 준비할 에너지가 없어요

이직은 하고 싶은데 면접 준비는 왜 이리 힘든가 7년차 개발자로서 받는 가장 흔한 질문이 있다. "이직은 안 해요?" 동기들은 이미 7000만원대 연봉을 받고 있고, 나는 여전히 6500만원에서 맴돌고 있다. 계산기를 두드려보면 매년 500만원씩 손해 보는 셈이다. 7년이면 3500만원이다. 자동차 한 대 값이다. 그런데도 나는 왜 자리를 뜰 생각을 못 할까? 아, 맞다. 면접 준비가 너무 피곤하니까. 슬랙 채널에서 누가 "요즘 시장 좋네, 우리 팀 사람 찾고 있어"라는 글을 봐도 마음 한구석이 철렁하면서도 동시에 한숨이 나온다. 왜냐하면 그것이 나의 인생이 바뀌는 시발점이 될 수도 있기 때문이다. 그리고 그 변화를 위해서는 LeetCode를 켜서 Medium 난이도의 그래프 문제를 50개쯤 풀어야 하고, 시스템 디자인 유튜브 영상을 보면서 '넷플릭스는 어떻게 스트리밍 인프라를 구축했을까' 같은 걸 공부해야 한다는 것을 알기 때문이다. 그런데 나는 지금 피곤하다. 진짜 피곤하다. 동기들 연봉을 마주하는 그 감정 매해 신년 회식이나 대학 동기들 단톡방에서 나오는 말들을 들으면, 이상하게 가슴이 철렁내린다. "어, 너 회사 잘하네. 근데 연봉은 괜찮아?" 이 질문이 나를 가장 킹받게 한다. 괜찮아? 괜찮은 게 아니다. 동기 A는 작년에 전직했다며 7500만원을 받고 있고, 동기 B는 스타트업에서 성공했다며 8000만원대라고 했다. 나는 여전히 6500만원이다. 7년을 같은 회사에서 일했는데, 그동안 시간만 흘렀지 연봉은 거의 오르지 않았다. 매년 300만원 정도 오르니까 인상률로 따지면 4~5% 정도? 물가상승률은 뛰어넘지 못한다. 돈 때문에 일하는 건 아니라고 자기를 속이고 싶지만, 현실은 냉혹하다. 아내가 월급 통장에서 돈을 빼갈 때 나는 항상 조금 쑥스럽다. 내가 버는 돈인데도 말이다. 아내는 좋다고 하지만, 나는 안다. 우리 또래 남편들 중에 6500만원인 사람이 몇 명이나 되는지를.이직해야 한다는 걸 알고 있다. 정말 알고 있다. 100% 확실하다. 그런데도 나는 여전히 자리에 앉아 있고, 사무실의 재미있는 것들에 적응했다. 팀장은 나를 믿고 있고, 후배들은 나를 찾는다. PR 리뷰를 잘하면 칭찬받는다. 이 모든 게 나를 붙잡고 있다. 하지만 진짜 문제는 그게 아니다. 진짜 문제는 이걸 다 뒤로하고 새로운 회사에 가기 위해 필요한 절차들이다. LeetCode 앞에서 멈춘 발걸음 이직 준비의 첫 번째 관문은 코딩 테스트다. 요즘은 대부분의 회사가 LeetCode 같은 플랫폼에서 나오는 식의 문제들을 본다. 내가 면접을 본다고 치면, 분명히 누군가는 나에게 "자, 30분 안에 이 그래프 문제를 풀어보세요"라고 할 것이다. 여기서부터 문제가 시작된다. 내 일은 그런 식의 코딩이 아니다. 나는 Spring Boot로 백엔드 서버를 짜고, 데이터베이스를 설계하고, 캐시 전략을 짠다. 내 일 중 70%는 이미 누군가 만들어놓은 프레임워크나 라이브러리를 활용하는 것이다. 알고리즘? 그런 건 면접 때만 필요한 것이다. 실무에서는 문제가 이미 구조화되어 있고, 나는 그것을 가장 효율적으로 구현하면 된다. 그런데 LeetCode를 켜면 어떻게 되는가? 동적 프로그래밍, 그래프의 DFS, BFS, 트라이(Trie), 세그먼트 트리... 이런 것들이 갑자기 나타난다. Hard 난이도의 문제들은 보자마자 머리가 복잡해진다. "이게 뭐가 필요한 거지? 왜 이렇게 복잡하지?" 하면서 해석만 10분을 날린다. 면접 준비를 위해서는 최소한 Medium 난이도의 문제를 50개 정도는 풀어야 한다고 한다. 몇몇 블로거는 100개를 푼다고 했다. 하루에 2~3개씩 풀면 한 달이 걸린다. 그리고 풀고 나서는 그 알고리즘을 다시 복습해야 한다. 퇴근하고 집에 가면 몇 시일까? 보통 6시30분이다. 식사를 하고 나면 7시30분이다. 아내와 얘기하고 나면 8시다. 여기서 30분이라도 LeetCode를 켜자니 너무 피곤하다. 브라우저 탭을 열기만 해도 피곤한데, 문제를 읽는 것부터 시작해서 풀고, 다른 사람의 솔루션을 보고, 댓글을 읽고... 이 모든 과정이 너무 길다. 차라리 넷플릭스를 킨다. 유튜브를 본다. 핸드폰에서 밈을 본다. 이게 훨씬 쉽고, 뇌가 피로를 덜 느낀다. 그리고 10시경 침대에 눕는다. 내일도 LeetCode를 해야지 하는 생각을 하면서. 그 다음날도 같은 일이 반복된다.시스템 디자인 인터뷰의 공포 LeetCode도 힘든데, 그 다음이 있다. 바로 시스템 디자인 인터뷰다. "넷플릭스는 어떻게 전 세계에서 동시에 스트리밍을 서비스할까요?" "우버는 어떻게 실시간으로 기사와 손님을 매칭할까요?" "당신이 페이스북의 뉴스피드를 설계한다면 어떻게 하겠어요?" 이런 질문들 앞에서 나는 항상 무너진다. 내 답변은 항상 비슷하다: "음... 데이터베이스는 MySQL 쓰고, 캐시는 Redis 쓰고, 로드 밸런싱은... 아, 그냥 AWS에서 해주겠죠?" 면접관의 얼굴이 굳는 것을 알 수 있다. 시스템 디자인을 제대로 준비하려면 따로 시간을 들여야 한다. 유튜브 채널도 봐야 하고, "System Design Interview" 같은 책도 읽어야 한다. 대규모 트래픽을 어떻게 처리할 것인가, 데이터 일관성은 어떻게 유지할 것인가, 네트워크 파티션이 발생했을 때는 어떻게 할 것인가... 이런 것들을 모두 체계적으로 학습해야 한다. 이건 1주일에 되는 게 아니다. 최소한 1~2개월은 걸린다. 내가 지금 준비한다면? 아, 다음 프로젝트 마감이 2주밖에 안 남았다. 레거시 코드도 봐야 하고, 후배 PR도 리뷰해야 한다. 배포 예정도 있다. 금요일에는 정말 밤 10시까지 남아있는 날도 생길 수 있다. 이런 상황에서 시스템 디자인을 1시간씩이라도 공부한다? 현실적이지 않다. 동기들의 성공담, 나의 무기력함 지난주 대학 동기들 단톡방에서 누군가가 말했다. "어, 나 이사를 했어. 이직하면서 집도 하나 더 샀어." 나는 그 메시지를 읽고 폰을 놨다. 그리고 팔을 베개에 두고 천장을 봤다. 동기 C는 정말 운이 좋은 애다. 처음부터 회사를 잘 고른 덕분에 지금 연봉이 9000만원대라고 한다. 동기 D는 스타트업에서 초기 멤버로 들어가서 이제 매니저까지 올라왔다. 동기 A는 정확히 2년 단위로 옮기면서 매번 연봉을 30~40% 올렸다고 한다. 나는? 나는 2년 전부터 "이번 연말에 이직해야지"라고 마음먹었다가 결국 다음해 초로 미뤘다. 그리고 작년 초에도 "이번 상반기에..."라고 했다가 지금은 올해 말쯤? 내년 초? 어정쩡한 상태다. 가장 좌절감을 느끼는 순간은, 누군가 나에게 "너 왜 이직 안 해?"라고 물을 때다. 그 질문 자체가 이미 답을 포함하고 있기 때문이다. "너는 왜 움직이지 않고 있니?"라는 비난이 담긴 질문이다. 그리고 나는 할 말이 없다. 연봉을 500만원 올리기 위해서는 면접을 봐야 하는데, 면접을 보려면 준비를 해야 하는데, 준비를 하려면 에너지가 필요한데, 그 에너지가 없다. 이게 악순환이다. 악순환의 늪에서 빠져나올 수 없는 것처럼 느껴진다.일이 많아서가 아니라, 일이 편해서다 여기서 인정해야 할 게 하나 있다. 내가 이직 준비를 못하는 이유가 '일이 너무 많아서'만은 아니라는 거다. 물론 일은 많다. 하루하루 할 일은 항상 넘쳐난다. 아침에 출근하면 이메일 50개가 와 있고, 슬랙 메시지 200개가 쌓여 있다. PR 리뷰를 5개, 버그 리포트를 3개 받는다. 그리고 내 일들. 배포 준비, 성능 최적화, 새로운 기능 개발. 그래도 실은 정해진 8시간 안에 거의 다 끝난다. 9시 출근 6시 퇴근이 원칙이고, 배포날 외에는 야근을 거의 하지 않는다. 그럼 내가 LeetCode를 할 시간이 없는 이유가 뭐냐고 물으면? 솔직하게 답하자면, 일이 편하기 때문이다. 내 자리는 편안하다. 내가 정말 싫어하는 사람이 없다. 팀장은 내 능력을 인정해주고, 후배들은 내 말을 듣는다. 내가 "이건 이렇게 하는 게 낫다"고 말하면, 대부분 그렇게 된다. 이 정도의 influence는 다른 회사에서 쉽게 얻을 수 없다. 그리고 무엇보다, 이 일을 하는 것이 힘들지 않다. 새로운 기술을 배울 필요도 없다. 이미 안다. Spring Boot? 7년간 써왔다. MySQL? 누구보다 잘 안다. Redis? 당연히 안다. 새로운 회사에 가면? 새로운 기술스택이 있을 수도 있다. 새로운 조직 문화도 있을 것이다. 새로운 사람들도 만나야 한다. 처음부터 다시 배우고, 적응하고, 인정받으려고 노력해야 한다. 그런데 지금 나는 이미 적응했다. 이미 인정받고 있다. 왜 이 편한 자리에서 일어나서 새로운 불편함으로 들어가야 하나? 연봉 500만원의 증가? 그건 추상적이다. 하지만 지금 이 자리의 편함? 그건 구체적이다. 만질 수 있다. 느낄 수 있다. 이것이 내가 이직을 미루는 진짜 이유다. 퇴근 후의 나는 정말 피곤한가? 그런데 한 가지 더 솔직하게 인정해야 할 것이 있다. 퇴근 후에 나는 정말 피곤한가? 사실... 피곤한 건 맞다. 하지만 피곤의 종류가 다르다. 신체적 피로는 사실 많지 않다. 나는 책상에 앉아서 마우스와 키보드를 쓰는 일을 한다. 신체를 많이 쓰지 않는다. 그런데도 6시 반쯤 되면 온몸이 무거워진다. 이건 정신적 피로다. 뇌를 계속 굴려서 나는 피로가 아니라, 선택을 계속 해서 나는 피로다. "이 코드는 어떻게 리팩토링할 것인가?" "이 버그의 원인은 뭐지?" "후배 코드의 이 부분이 문제인데, 어떻게 피드백할까?" "그 기획자의 요청은 가능할까?" 아침부터 저녁까지, 내 뇌는 계속 무언가를 결정하고 있다. 문제를 분석하고, 솔루션을 생각하고, 사람들과 커뮤니케이션한다. 6시 반에 회사를 나올 때쯤이면, 이 뇌는 진짜 더 이상 더하고 싶지 않다. 추가로 복잡한 작업을 하고 싶지 않다. 그래서 넷플릭스를 킨다. 유튜브를 본다. 핸드폰으로 밈 영상을 본다. 이런 것들은 뇌가 거의 일을 하지 않아도 된다. 정보가 일방적으로 들어오고, 나는 그냥 받으면 된다. 하지만 LeetCode? 그건 내 뇌가 또 일을 해야 한다는 뜻이다. 문제를 읽고, 로직을 생각하고, 코드를 짜고, 테스트 케이스를 생각한다. 퇴근해서 또 일을 하라는 거다. 이게 가능한가? 일단 며칠은 된다. 처음 이직을 생각할 때는 정말 열정으로 가득 차서 "일주일에 5일은 공부하겠다"고 마음먹는다. 그리고 월요일부터 수요일까지는 정말 한다. 그런데 목요일이 되면? 목요일 오후 4시쯤 기획자가 "이거 좀 빨리 봐주실래요?"라고 메시지를 보낸다. 내가 봐야 할 것 같은 느낌이 들기 시작한다. 목요일 저녁 10시에 배포 점검 메시지가 온다. 다음날 배포가 있을 수 있다는 거다. 그럼 금요일 밤이 걱정된다. 그런 불안감이 쌓이면, 목요일 밤에는 LeetCode를 케지 않는다. 차라리 숙면을 취한다. 그리고 토요일 오전? 솔직히 말해서 자고 싶다. 일주일간 일한 몸을 쉬고 싶다. 일요일? 내일 월요일이다. 월요일은 항상 힘들다. 일요일은 월요일을 위해 정신을 모아야 한다. 이렇게 한 주가 지나간다. LeetCode는 여전히 0개다. 그래도 누군가는 한다 내가 정말 고민스러운 점은, 나 같은 상황에서도 누군가는 성공한다는 거다. 내 대학 동기 중에 E라는 친구가 있다. 얘도 나랑 비슷하게 중견 회사에 다니고 있었다. 연봉도 비슷했다. 하지만 얜 결심했다. 정확히는 1년 전에 결심했다. "3개월에 이직한다. 이건 아니다." 그리고 얜 정말 했다. 평일 저녁마다 1시간씩. 주말에도 2시간씩. 3개월간 거의 모든 저녁을 LeetCode에 썼다고 했다. 내가 물었다. "힘들지 않았어?" 얜 말했다. "미쳤을 정도로 힘들었지. 근데 나는 더 이상 기다릴 수 없었어. 연봉이 올라야겠다는 생각이 집착이 됐어. 그 집착이 날 끝까지 밀어붙였어." 그리고 얜 성공했다. 유명한 스타트업으로 옮겼고, 연봉은 8500만원이 됐다. 보너스까지 치면 1억을 넘는다. 얘를 볼 때마다 나는 자책한다. 나는 왜 그정도의 집착을 가질 수 없을까? 왜 나는 편함에 안주할까? 그래서 가끔 정말 이직하기로 '결심'한다. 하지만 결심과 실행 사이의 거리가 너무 멀다. 현실은 복잡하다 솔직하게 말하자면, 이 문제는 단순하지 않다. "이직하고 싶으니까 준비하면 되지 않냐?"라고 말할 수 있지만, 현실은 그렇지 않다. 첫째, 나는 정말 이직하고 싶은가? 이 질문에 솔직한 답은 "글쎄... 그런 것 같은데?"이다. 연봉이 올랐으면 좋겠다. 하지만 지금 이 자리를 잃고 싶지는 않다. 이 두 가지를 동시에 가질 수는 없을까? 둘째, 면접 준비는 정말 필수적인가? 내가 지금의 자리에서 한 일들을 생각해보면, LeetCode에서 나올 법한 그래프 알고리즘이나 동적 프로그래밍을 쓴 적이 거의 없다. 하지만 면접관들은 그걸 묻는다. 왜냐하면 그게 '검증된 방식'이기 때문이다. 지능을 검증하는 방식. 하지만 정말 필요한 건 맞다. 나도 안다. 그리고 이것이 나를 더욱 막힌다. 선택지가 명확하기 때문이다. 면접을 본다는 것 = 준비를 한다는 것 = 저녁 시간을 포기한다는 것. 셋째, 내가 정말 피곤한가, 아니면 그냥 동기부여가 부족한가? 이건 진짜 구분하기 힘들다. 나는 정말 피곤하다고 느낀다. 하지만 동시에 나는 넷플릭스를 보면서 3시간을 보낸다. 이건 모순이다. 동기부여가 충분했다면, 나는 넷플릭스를 끄고 LeetCode를 켰을 거다. 하지만 나는 그렇게 하지 않는다. 왜냐하면 동기부여가 부족하기 때문이다. 그리고 동기부여가 부족한 이유는 뭘까? 아, 그건 내가 지금 편하기 때문이다. 혼자가 아니라는 생각 가끔 개발자 커뮤니티에 들어가서 다른 사람들의 고민을 읽다 보면, 내가 혼자가 아니라는 걸 알 수 있다. "7년차인데 연봉이 6500만원입니다. 이직해야 할까요?" 이런 글에 달리는 댓글들을 보면, 대부분 같은 조언을 한다. "이직하세요. 시장 가격보다 훨씬 적게 받고 계세요." "면접 준비가 힘들겠지만, 한 번 시작하면 가능합니다." "제 경험상 3개월이면 충분합니다." 좋은 조언들이다. 하지만 그 글을 쓴 사람도 나처럼, 그 댓글을 읽고도 행동을 취하지 못할 가능성이 높다. 왜냐하면 댓글은 힘을 주지 못하기 때문이다. 위로는 된다. 하지만 실제로 LeetCode를 켜라고 강요할 수는 없다. 내가 정말 필요한 건, 동료가 옆에서 "야, 너 진짜 하자"라고 말해주는 것이다. 아니면 팀을 꾸려서 함께 공부하는 것이다. 아니면 정말 갈등적인 상황이 닥치는 것이다. 예를 들어, "넌 이 회사에서 절대 매니저가 될 수 없어"라는 말을 들으면, 나는 행동할 것 같다. 하지만 지금은? 지금은 다 가능할 것 같다. 이대로도 괜찮을 것 같다. 5년 더 있어도 밥은 먹고 살 것 같다. 이게 나를 가장 걱정하게 만드는 부분이다. 계단을 놓친 게 아닐까 또 다른 두려움이 있다. 바로 "이미 늦지 않았을까?"라는 생각이다. 7년차면 아직 충분히 젊은 나이다. 하지만 업계에서는 이미 나를 뭔가 '정해진' 사람으로 보고 있을 수도 있다. "아, 그 사람은 중견 회사에서 7년 있던 사람이네. 그럼 안정적인데 도전을 안 한다는 뜻이겠네." 이걸 극복하려면, 새 회사에서도 빠르게 적응해야 한다. 그리고 성과를 내야 한다. 그런데 나는 지금 기반이 없는 상태다. 새 회사의 시스템도 모르고, 사람