들어가기 전에
2023년 2월 10일 코드스테이츠 백엔드 부트캠프 과정을 수료하고, 4월 초까지 2달이 살짝 넘는 취업준비 기간 끝에 개발자로 취업에 성공했다. 그 과정을 솔직하면서도 지극히 주관적인 내 생각을 담아 이야기해보려고 한다. 이 글이 부트캠프 수강생이나 이미 수료한 취준생, 부트캠프를 고민 중인 사람들에게 큰 도움이 되었으면 좋겠다. 들어가기 전에 한 가지 꼭 짚고 넘어가야 할 부분이 있는데 나의 이야기는 내가 경험한 부분만을 가지고 풀어낸 것이기 때문에 이 글을 읽고 쉽게 결단하지 않았으면 좋겠다.(비슷한 의미에서 현재 나는 숲이 아닌 몇 그루의 나무만 보고 있다고 생각한다.) 또한, 시기도 매우 중요하기 때문에 이 글을 쓰는 시점인 2023년이 지나가면 내가 취업을 준비하던 기간과 많이 다른 상황이 될지도 모르니 이점 감안해 주셨으면 좋겠다.
부트캠프
나는 2022년 8월에 코드스테이츠에서 운영하는 자바 스프링 기반의 백엔드 부트캠프에 참여했다. 약 6개월짜리 코스로 내가 왜 코드스테이츠를 선택했는지, 부트캠프 기간 동안 어땠는지를 간단하게 이야기하겠다. 보다 자세한 스토리와 과정이 궁금하다면 이 글부터 읽으면 된다.
부트캠프를 들어가기 전에
2021년 가을, 나는 서울 소재의 대학에서 어문계열 학과 4학년 2학기에 재학 중이었다. 4학년 1학기부터 시작한 취업 준비에서 몇 번의 실패를 맛보았던 상태였는데 슬슬 불안함이 몰려오기 시작했다. 당장 내년부터는 지금까지 나를 보호해 주던 대학생 타이틀도 사라지게 되는데 하면서 걱정이 많았다. 그러다가 1학년 때 공부했던 프로그래밍 과목에 눈길이 가 공부를 하기 시작했다. 그런데 개발자로 진로를 결정하는 것에 대해 확신이 생기지 않아 원래 관심을 가지고 있던 공무원과 프로그래머라는 진로를 합쳐 전산직 군무원이 되자고 생각했다. 그렇게 약 9개월 정도를 전산직 군무원 시험공부에 올인했는데 왜 군무원이었냐면 일반 공무원보다 시험 과목이 적었고 당시에 군무원을 많이 뽑았기 때문이었다. 결과적으로는 군무원 시험 역시 실패했고 원인은 시간 부족과 효율적이지 못한 시간 분배 아니었나 생각한다. 아무튼 그 기간 동안 만약 군무원 시험에 실패했을 때를 대비해 여러 자격증을 취득하고자 했고 정보처리기사, ADsP, SQLD를 취득했다. 군무원 시험이 끝나고 나는 더 이상의 수험생활을 진행하고 싶지 않았고 그때가 돼서야 비로소 개발자가 되리라고 마음먹었다. 이후 가장 빠르게 들어갈 수 있는 네임드 부트캠프를 찾아 코드스테이츠를 선택했고 8월부터 부트캠프에 참여하게 됐다.
부트캠프 회고
부트캠프 기간 동안을 한마디로 요약하면 X나 힘들었다. 매일 말도 안 되는 속도로 나가는 진도를 따라잡기란 쉽지 않았다. 나는 9개월 동안 공부한 CS 기초 지식과 자바와 파이썬 등의 공부로 다져진 아주 기본적인 프로그래밍 언어 문법 지식만을 가지고 들어갔는데 사실 들어가기 전에는 내가 압도적으로 잘할 줄 알았다. 그러나 부트캠프 과정은 실무에 필요한 기술을 압축하여 가르치기 때문에 기본적인 지식을 가지고 있는 것만으로는 쉽게 따라갈 수가 없었다. 당연하게도 코딩이 아예 처음인 동기분들은 나보다 더 힘들어했다. 자바 기초 강의가 끝나고 스프링을 본격적으로 공부하고 나서는 하차해야 하나 고민할 정도로 1도 이해할 수 없었다. 한 3주를 멍 때리며 시간을 보내니 어느새 스프링으로 기본적인 CRUD를 만드는 내용은 끝이 나있었고 JPA나 테스트 코드 작성에 대한 내용까지 와서 정신을 차리고 처음부터 하나하나 다시 공부하기 시작했다. 뒤늦게 따라잡기 위해 노력했지만 많은 부분에서 온전히 내 것으로 만들지 못한 채 프로젝트에 들어가게 되었다. 프리 프로젝트에 들어갔을 때 얼추 120여 명이 남아있던 걸로 기억한다 처음에 150명 가까이 되었던 걸 생각하면 많은 동기분들이 하차했다. 메인 프로젝트 수료할 때쯤에는 110여 명이었던 걸로 기억한다. 나는 프로젝트를 진행하면서도 계속 공부하여 폭발적인 성장을 이뤄냈고 성공적으로 프로젝트를 마칠 수 있었다. 지금이야 몇 줄 안 되는 글로 과정을 요약할 수 있지만 당시에는 할 말이 굉장히 많았다.
여기서 핵심은 부트캠프를 들어가기 전에 선행 학습은 옵션이 아니라 필수라는 것이다. 반드시 충분한 지식을 가지고 있어야지 원활하게 코스를 진행할 수 있다는 걸 이야기하고 싶다. '아냐. 난 각오가 되어있어.' 이건 각오만으로 어떻게 되는 부분이 아니다. 물론 제로 베이스로 들어와서 좋은 회사에 취업하신 동기분도 계신다. 그러나 대부분은 아니다. 일부 대단하면서도 드문 케이스를 가지고 나도 그렇게 할 수 있다고 믿는 건 좋지 않다고 생각한다. 공부 머리 + 환경 + 판단력 + 효율적인 학습 + 좋은 멘토 + 취업 운까지 모든 게 맞아떨어질 때나 가능한 이야기이다.
수료 후
한 달
메인 프로젝트를 함께 진행한 팀원들과 수료 일주일 전부터 이력서 작성을 시작하여 수료 후 2월 중순부터 본격적으로 지원을 시작했다. 지원하기 전에는 서류 합격률이 대략 20-30% 되지 않을까 생각을 했었는데 2월이 끝날 때 즈음에 계산해 보니 10% 정도였다. 생각보다 너무 낮아 걱정이 많아졌다. 원인 분석이 필요했다. 처음에는 메인 프로젝트가 문제인가 생각했다. 이건 팀마다 다른데 우리 팀 같은 경우는 메인 프로젝트 코드의 리팩토링을 진행하지 않았다. 올해는 작년, 재작년과 다르게 취업 시장이 개박살 났다고 이야기를 들었기 때문에 최대한 빨리 취업해야겠다고 생각했다. 그래서 팀원들끼리 합의하여 리팩토링을 진행하지 않고 곧장 취업 전선에 뛰어들었다. 2월 마지막 날에 팀원 한 분이 취업을 하셨기 때문에 코드 리팩토링은 어렵게 되었다. 남은 팀원끼리 해도 됐지만 고민 끝에 그냥 계속 지원하고 기술면접 준비에 올인하자로 굳혔다. 이유는 몇 번의 면접 경험으로 알게 된 사실인데 많은 회사들이 우리 프로젝트를 제대로 보지 않는다는 생각이 들어서였다. 그 근거로 많은 회사들이 이력서를 열람하자마자 1-2분 만에 불합격시켰다.(이건 다른 이유가 있을 수도 있다.) 또, 나 같은 경우는 면접에서 메인 프로젝트 코드에 대한 질문을 전혀 받은 적이 없었다.(다른 동기들은 항상은 아니지만 받은 적이 있다고 했다. 그러나, 적다는 의견에는 동의했다.) 이 부분에 대해서 주변의 친한 동기들과 이야기하고 내린 결론은 채용 담당자분들이 부트캠프 메인 프로젝트를 생각만큼 인정해주지 않는다는 것이었다.
두 달
앞서 언급한 이유로 3월에는 무조건 취업을 해야겠다고 생각했고, 메인 프로젝트의 코드 리팩토링은 굳이 하지 말자는 결론을 내렸다. 대신 기술면접과 코딩테스트에 올인하여 면접 기회가 오면 질문에 완벽히 대답하는 데에 집중했다. 그리고 남은 시간은 내가 메인프로젝트와 부트캠프에서 배운 내용을 복습하고 재정리하는 데에 사용했다. 이후 이력서 멘토링 등을 받으며 두 번의 이력서 수정을 거쳤지만 신기하게도 첫 이력서부터 마지막 이력서의 서류 합격률은 10% 그대로였다. 이 이유에 대해 세 가지 할 말이 있다.
첫 번째, 많은 회사에서 부트캠프 출신에 대한 큰 편견을 가지고 있기 때문이라고 생각한다. 그 편견은 분명 일리 있는 편견이다. 많은 동기들의 이력서와 내 이력서를 비교했을 때 매우 비슷하다는 걸 느낄 수 있었다. 누가 누구의 것을 베꼈기 때문이 아니라 같은 부트캠프 출신이기 때문에 어쩔 수 없는 것 같았다. 같은 내용을 배웠기 때문에 프로젝트 결과가 비슷할 수밖에 없다. 그런데 더욱 절망적인 것은 대부분의 부트캠프 역시 커리큘럼 내용이 얼추 비슷비슷하다는 점이다. 그렇다면 부트캠프 출신의 이력서는 대부분 비슷하다는 결론으로 도달하게 된다.(매우 절망적이다.) 그렇다고 이건 어찌할 수 있는 부분이 아니다. 결국 내가 다른 사람보다 나은 이유, 나를 뽑아야 하는 이유를 이력서에 드러내야 하는데 나는 다른 사람과 차별을 둘 수 있는 가장 쉽고 빠른 방법이 자기소개라고 생각한다. 이력서의 첫 번째 항목이자 내가 누구인지 소개하는 핵심 부분이기 때문이다. 사실 이 부분을 인지하고 자기소개를 수정하려고 할 때에 한 회사에 최종합격 연락을 받았고 협의를 거쳐 내일부터 출근하게 됐다. 그래서 실행에 옮기지는 못했지만 아무튼 지금의 나는 확신하고 있다. 경력직 이력서를 보면 대부분 자기소개서는 4-5줄 길어야 10줄을 넘기지 않지만, 신입 이력서 그중에서도 프로젝트 수가 적고 프로그래밍 등의 경험이 짧은 부트캠프 출신의 이력서일수록 길게 적는 것이 맞다고 생각한다. 생각해 보면 너무 당연한 것 같다. 내가 어떤 개발을 지향하는지, 앞으로 어떤 개발자가 되고 싶은지 등을 고작 4-5줄로 적으려니 사실 내가 뭘 지향하는지 아직 잘 모를 테니 어디서 주워들은 거 적을 테고 그러다 보면 다 비슷비슷해질 수밖에 없는 것이다. 여기서 핵심 포인트는 길게 적되, 절대 가독성을 해치지 말아야 한다는 것이다. 추가적으로 소제목으로 키워드를 나누고 2~3줄씩 여러 개를 적는 게 좋지 않을까 생각을 한다. 어차피 내가 비전공자 부트캠프 출신이라는 이유만으로 읽지도 않고 떨어뜨릴 채용 담당자들은 아무리 기가 막힌 자기소개서라도 제대로 읽지 않고 떨어뜨릴 것이다. 나를 조금이라도 궁금해하는 사람이 내 소개를 읽고 나를 더 궁금하게 만들기 위해 잘 포장하여 적는 것. 이것이 신입 이력서의 핵심이 아닐까 생각이 든다. 물론 프로젝트 관련 정리, 블로그, 깃헙 등 기본적으로 해야 할 사항은 깔고 들어갈 때의 이야기이다.
두 번째, 현재의 개발자 채용 시장은 정체되어 있다. 불과 작년, 재작년에 비해 채용이 중견기업 이상 기준 1/3로 줄었다는 얘기를 들었다. 인재 채용 플랫폼 회사에 근무 중이신 멘토님의 이야기이니 신빙성 있는 정보일 것이다. 그런데 나와 같은 일반적인 부트캠프 출신이 처음부터 중견 이상에 들어가는 것은 쉽지 않다. 결국 스타트업 중 시리즈 C 이하의 스타트업에 들어가는 것이 현실적인데 중견 기업이상이 1/3으로 줄었으면 스타트업은 어떻겠는가. 거기에 개발자 붐으로 해마다 늘어나는 부트캠프 및 국비지원 학원으로 이미 채용 시장은 부트캠프 출신 예비 개발자들로 포화된 상태이다. 여기는 이미 레드오션이다. 한 스타트업에서 면접을 본 동기의 말을 빌리면 면접관 분이 당장 작년이랑 비교하여 지원자가 10배는 늘었다고 했다고 한다. 단순 계산으로 작년보다 최소 30배는 어려워졌다. 이게 나의 낮은 서류합격률의 가장 큰 이유라고 생각한다.
마지막으로 세 번째는 두 번째 이유와 연결 지을 수 있는데 내가 자바 스프링을 배웠기 때문이다. 스타트업은 스크립트 언어를 기반으로 개발하는 곳이 많다. 이유는 간단하다. 프런트엔드, 백엔드 나눌 필요 없이 하나의 언어로 개발이 가능해 인건비를 줄일 수 있기 때문이다. 그런데 나는 자바와 스프링을 배웠다. 자바와 스프링으로 개발한다는 건 프런트 영역과 백 영역이 확실히 구분된 어느 정도 규모 있는 회사일 가능성이 크다.(무조건은 아님) 따라서, 가뜩이나 취업 시장이 안 좋은데 스크립트 언어 기반의 스타트업 입장에서는 프런트와 백엔드 양쪽 다 가능한 스크립트 언어 기반 부트캠프 출신을 버리고 자바 스프링 기반의 부트캠프 출신 지원자를 뽑을 이유가 없다. 뽑아놓고 다시 가르치는 시간과 돈을 생각하면 이해가 간다. 그러나, 이건 당장의 문제일 뿐 한국은 자바 공화국이란 별명이 있는 만큼 결국엔 자바 개발자로 전향하려는 사람도 많기 때문에 굳이 신경 쓰지 않아도 되지만 지금처럼 스타트업에서 신규 채용을 많이 하지 않는 상황에서는 그건 나중의 문제고 당장 취업이 안되는데..라고 생각이 들 수 있으므로 얘기해 봤다.
지금 채용 시장 상황이 정말 좋지 않다. 수료하고 두 달 만에 취업한 내가 꽤 빠른 편이다. 아직 취업을 하지 못한 동기분들은 계속 취업 준비를 하시거나, 다른 부트캠프로 옮기시는 등 선택이 제각각이다. 이 부분에 대해서 뭐가 맞는지는 각자 현재의 환경, 상황 등을 고려해야 하는 부분이므로 정답은 없다고 생각한다. 나의 경우에는 나이와 현재 상황을 고려했을 때 하루빨리 취업하는 게 최선이라고 확신했기 때문에 미친 듯이 취업 준비에만 몰두했었다. 따라서 만약 나와 비슷한 생각을 가지고 있다면 취업을 최우선으로 두고 수료 직후 절대 쉬지 말고 달리는 걸 추천한다. 자세한 팁은 아래에 키워드로 정리하겠다.
부트캠프 선택부터 수료 후 취업까지의 과정에서 알려줄 만한 나의 주관적인 꿀팁을 키워드로 정리했다.
부트캠프 선택
유명한 곳으로 가자. 후기 많은 곳으로 가자. 국비 지원 학원 등은 최대한 피하자. 유명하고 후기 많고 좋은 부트캠프일수록 현재 업계 트렌드에 맞는 기술을 가르치고, 함께 공부하는 동기들도 실력 있고 의지를 가진 사람들일 가능성이 높다. 반대로 얘기하면 이름 없는 국비지원 학원에 가면 실력도 의지도 없는 사람들과 레거시한 기술을 배우는 최악의 케이스를 경험할 가능성이 크다. 레거시한 기술을 배우면 취업할 때에 레거시한 기술을 사용하는 SI 회사밖에 선택의 여지가 없다. 최악이다.
부트캠프 진행 중 길을 잃었을 때
이걸 도대체 왜 배우는 거야라는 생각이 들 수도 있다. 결국 부트캠프는 실무에 필요한 내용을 가르치는 게 목적이다. 따라서 프로젝트에서 사용할 기술 역시 실무에 필요한 기술(부트캠프에서 배우는 내용)을 위주로 진행하게 될 것이다. 길을 잃었을 때는 프로젝트를 생각하자. 지금 배우는 내용에 의문점이 들 수 있다. 하지만 그건 아마도 프로젝트 진행 중에 필요한 내용일 것이다. 길을 잃었다면 프로젝트를 생각하자.
부트캠프 프로젝트 팀원 고르기
프로젝트 시작에 앞서 만약 팀원을 고를 수 있다면 압도적으로 잘하는 사람과 하지 말자. 부트캠프를 진행하다 보면 이 사람과 메인프로젝트를 함께 하고 싶다고 생각이 드는 사람이 있을 텐데 그 기준이 실력은 아니었으면 한다. 왜냐하면 실력이 압도적으로 좋은 사람이 한 명만 있어도 그 사람이 메인 기술(이력서의 프로젝트 부분에 기술할만한 것)을 다 가져갈 확률이 높다. 그 사람이 아무리 잘한 들 솔직히 일반적인 부트캠프 수준에서 잘해봤자 도토리 키재기이다. 따라서 그 사람도 자신의 포트폴리오를 채우기 위해 팀원을 신경 써줄 겨를이 없을 것이다. 아니면 프로젝트 내용에 대해 독단적인 결정을 내릴 확률이 높다.(다른 팀원들은 잘 모르니 따라가게 된다. 그렇게 지 혼자 어려운 거 구현하겠다고 만들다가 중간에 포기하고 프로젝트 버리고 도망간 전공자도 보았다.) 어찌 됐든 실력차가 너무 크면 잘하는 사람의 프로젝트 들러리가 될 확률이 높다. 슬프지만 현실이다. 비슷한 수준의 사람들이나 조금 차이가 있는 사람들과 팀원이 되어 서로 합의하여 이력서에 쓸만한 기술을 잘 분배하여 진행해야 이력서에 쓸거리가 생기고 원활한 취업 활동이 가능해진다. 팀원을 버리든가, 내가 버려지는 상황을 피하는 것에 초점을 맞추자.
이력서와 기술 면접
사실 이건 내가 할 말이 아니다. 압도적인 서류합격률을 가지고 회사를 고를 정도로 성공적인 취업 활동이었다면 모르겠지만 나는 고작 2달 여만에 가까스로 취업한 게 전부이기 때문이다. 한 가지, 내가 취업 준비를 하면서 느낀 것 중 꼭 하고 싶은 말은 깃허브와 블로그 관리를 필수적으로 해야 한다는 것이다. 전공자도 아닌 내가 개발에 이 정도 관심이 있고, 단기간에 이만큼 공부했다는 걸 보여주는 방법은 깃허브 커밋 이력과 블로그 밖에 없다. 실제로 나는 면접에서 블로그에 기록하거나 공부 내용을 정리한 것을 좋게 봤다는 얘기를 여러 번 들었다.
수료 후 더 공부하기 vs 취업하기
이건 정말 상황에 따라 다른데 내가 현직 개발자분들 여러 명에게 물었을 때 단 한 명도 더 공부하라고 얘기하는 사람은 없었다. 무엇이 맞는지 아직 잘 모르겠으나 지금의 나는 취업 준비하는 게 맞다고 생각한다. 왜냐하면 혼자 공부해 보니 부트캠프 기간만큼 열정적으로 공부를 할 수 없을뿐더러, 사이드 프로젝트 역시 부트캠프 메인 프로젝트 이상의 결과물을 만들 수 있을 것 같지 않기 때문이다. 그러나, 2회의 부트캠프 및 여러 번의 단기간 코스를 진행 후 첫 회사로 탑티어 회사에 들어간 코드스테이츠 출신 비전공자분의 케이스도 있다는 걸 알려주고 싶다. 스스로 판단하되, 아직 실력이 부족해서 취업준비하기가 겁난다는 이유라면 취업 준비를 하는 게 맞다고 본다. 미루면 미룰수록 지식의 저주에 빠져 끊임없이 부족하다고 느끼고, 투자한 시간만큼 보상받으려는 심리 때문에 취준의 늪에 빠질 수 있기 때문이다. 스트레스는 덤이다.
앞으로의 계획
회사 업무에 적응하고 열심히 공부하여 하루빨리 일 인분 이상하는 주니어 개발자가 되고 싶다. 메인 프로젝트가 끝날 때 멘토님께서 나에게 해주신 말을 잊지 않고 있다. 누군가에게 함께 일하고 싶다는 평가를 받는 것. 개발자로서 최고의 칭찬이 아닐까 싶다. 이 평가를 다른 사람들에게도, 회사 팀원들에게도 듣고 싶다. 열심히 노력하고 전진하여 많은 사람들이 같이 일하고 싶다고 말하는 개발자가 되는 것. 앞으로 변하지 않을 나의 목표이자 계획이다.
'개발 일기' 카테고리의 다른 글
JPA를 사용하여 여러 테이블에서 데이터를 가져오는 방법에 대한 고찰(1) (5) | 2023.07.26 |
---|---|
1년차 백엔드 개발자가 되기 전까지 계획 세우기 (2) | 2023.05.13 |
코드스테이츠 백엔드 부트캠프 메인 프로젝트 - 마지막 이야기 (0) | 2023.02.04 |
코드스테이츠 백엔드 부트캠프 메인 프로젝트 회고 - 4 (0) | 2023.01.23 |
코드스테이츠 백엔드 부트캠프 메인 프로젝트 회고 - 3 (0) | 2023.01.14 |