본문 바로가기
📝 회고/🗓 23년 회고

거북이 신입 백엔드 개발자 취업 회고록 (1). 3년이 걸렸어요. (150개의 서류) 🐢

by kukim 2023. 2. 26.

안녕하세요. 쿠킴(김건희)입니다. 이번 글은 신입 백엔드 개발자 취업 회고록입니다. 🥹

요약하자면 저는 통계학부 출신으로 데이터 분석을 경험했고 백엔드 개발자가 되고 싶어 총 3년 2개월을 준비하였습니다. 22년 하반기부터 고용 한파를 마주하며 150개서류작성하고 그 중 130번의 탈락 / 19개 서류 합격 / 10번의 코테 / 3번의 사전 과제 / 13개 회사21번면접을 경험했습니다. 최종 면접을 진행했던 10개 회사7개 탈락, 3개의 회사에 합격했고, 그 중 가장 가치관이 유사했던 회사에서 일을 시작하게 되었습니다. 경험을 되돌아보고 더 나아가 앞으로의 성장과 도전에 대해 계획을 세우고 누군가에게 도움이 된다면 더할 나위 없을 거 같아요. 

 


(1). 3년이 걸렸어요. (150개의 서류)

 

목차

취업 준비 과정

- 3년 2개월 타임라인

- 데이터 분석/통계학 전공에서 개발자로의 전환을 결심한 이유

- 교육기관 및 부트캠프에서의 경험

- 42Seoul

- 코드스쿼드

- 42Seoul/코드스쿼드에서 배운 것

- 사이드 프로젝트

- 하반기 지원

- 수시, 스타트업 지원

취업 준비 과정

3년 2개월 타임라인 (20.01 ~ 23.02)

20.01 ~ 21.12 : 42Seoul

22.01 ~ 22.07 : 코드스쿼드

22.07 ~ 23.01 : 사이드 프로젝트

22.09 ~ 22.11 : 하반기 지원

22.11 ~ 23.02 : 수시, 스타트업 지원

 

데이터 분석/통계학 전공에서 개발자로의 전환을 결심한 이유 

저는 한국방송통신대학교에서 정보통계학(현 통계, 데이터 과학과)을 전공했습니다. 당시 학과를 선택한 이유는 '데이터 사이언스' 해보자! 란 마음이었습니다. 재학 중에 Python과 R을 활용하여 데이터 분석 / 머신러닝을 학습과 여러 데이터 분석 커뮤니티 활동하였습니다. 좋은 기회로 프리랜서/알바를 통해 간단한 데이터 라벨링, 데이터 분석, 머신러닝 모델링 등의 일을 접할 수 있었습니다. 하지만 일을 하며 이상현실다르다는 것을 알게 되었습니다. 책이나 캐글 예제는 이미 정리된 데이터를 가지고 분석과 모델링을 하지만 현실 세계는 그렇지 않았거든요. 데이터가 없거나 있어도 쓸 수 없는 상황들이었습니다. 예를 들어 분석에 필요한 유의미한 데이터들은 서비스에서 별도로 로그를 쌓거나 저장해야 합니다. 서비스 RDB에 저장된 데이터들을 활용하려면 ETL, 데이터 웨어하우스 구축이 필요하고, 머신러닝 모델을 서빙하기 위해 서버 구축이 필요합니다. 실무에서는 멋진 데이터사이언스 알고리즘 보다 엔지니어적 문제 해결 능력이 더 많이 필요했습니다. 제 상황을 되돌아보았습니다. 통계학을 전공했지만 머신러닝 연구자가 되려면 석사 과정을 밟아야 했고 당시 환경적 어려움이 있었습니다. 채용 시장은 데이터 사이언스보다 '개발자' 수요가 더 많았습니다. 무엇보다 분석을 하며 경험했던 개발재미있었습니다. 결국 졸업을 앞두고 데이터 분석가 채용 제안이 왔지만 포기하고 개발자로 전환을 결심하였습니다. 🥹  엔지니어적인 문제 해결 능력을 가지고 언젠가 데이터 지식을 활용할 날을 기다리며 말이죠. 

 

교육기관 및 부트캠프에서의 경험

42Seoul 1기, : 20.01 ~ 22.12

GirHub Repo 🔗 , 제가 선택한 첫 번째 교육기관은 42Seoul 이었습니다. 42Seoul은 프랑스의 Ecole42의 교육 라이센스를 동일하게 가져온 교육기관입니다. 선택한 이유는 크게 세 가지였습니다.

1. 최대 2년 동안 CS의 지식을 단순히 이론만 공부하는 것이 아닌 C를 활용하여 밑바닥(?)부터 구현하며 학습합니다. printf 함수를 직접 만들거나 어셈블리어 경험, 철학자 동시성 문제, 나만의 shell, 울펜슈타인 게임, nginx와 유사한 웹서버 소켓 프로그래밍 등 개발 경험을 쌓았습니다.

2. 교수자가 없습니다. 과제가 주어지고 아무런 힌트 없이 내 옆 동료와 함께 문제를 해결하는 과정의 연속이었습니다. (42Seoul에서 맥 사용이 처음이었는데 한글 변환을 몰라서 로그인할 수 없어 땀이 났던 기억이... 한영키 변환을 알려준 yeha님 감사합니다.)

3. 지원금을 제공하여 개발에 집중할 수 있습니다. 블랙홀 기간에 빠지지 않는다면 한 달 최대 100만 원(세금 미포함)을 2년까지 지원받아 개발 공부에만 집중할 수 있었습니다.

 

앞으로 개발자로 일하려면 CS 기초가 중요하다고 생각했기 때문에 2년이라는 시간을 투자하는 건 아깝지 않았습니다. 오히려 좋은 기회라고 생각했습니다. 42 과정 동안 코로나 기간이 겹쳐 온라인으로 진행되어 아쉬웠지만 과정 동안 개발 자체가 즐거웠습니다. 모르는 문제가 나오게 된다면 42Seoul에서 했던 것처럼 무조건 파보면 되는 거지! 란 태도를 배우게 되었습니다. 어떤 문제를 만나도 걱정이 없다란 마인드일까요.?(뭐, 여전히 버그를 만나면 진땀 나지만요🥹). 시간적 여유가 있기에 많은 개발 도전도해 볼 수 있었습니다.(프론트엔드, 백엔드, 데이터엔지니어, 인프라, ...)

42Seoul이 끝날 때 백엔드/인프라가 재미있었고, Java/Spring(boot) 기반의 백엔드 개발을 하기로 결정하였습니다. Java/Spring(boot)를 선택한 이유는 업계 노하우, 레퍼런스가 쌓여있고 한국 시장에서의 높은 점유율과 가고 싶었던 테크 기업들도 Java 기반이 많았기 때문입니다. 

 

코드 스쿼드 백엔드 마스터즈 과정 : 23.01 ~ 23.07

GitHub Repo 🔗 , 42Seoul을 마치고 다른 교육과정을 다닐 생각이 없었습니다. 인프런의 백기선/김영한/최범균/토비/이동욱님의 강의와 책을 기반으로 혼자 학습하며 프로젝트하고 취직할 생각이었습니다. 하지만 우연히 42Seoul 세미나에서 코드스쿼드 백엔드 마스터인 Honux(호눅스)의 'Git의 내부 작동 원리'에 듣게 되었는데 내용이 딥하고 유쾌했습니다. 덕후(?) 느낌이까요.? 호기심에 코드스쿼드란 부트캠프를 찾게 되었고 저와 결이 비슷(?)하다고 느껴 다니기로 했습니다. 보다 자세한 이유는 아래와 같습니다.

1. 과대광고가 없습니다. 다른 부트캠프의 자극적인 광고(e.g. 6개월만 다니면 네카라쿠배, 교육생 80% 이상 연봉 xxxx 이상 취업 성공 등)가 없어 좋았습니다. 코드스쿼드 홈페이지에 적혀있듯이 스스로 학습하고, 동료와 함께하고, 학습한 것을 나누는 것을 공유하는 문화를 이야기하는 게 진정성이 느껴졌습니다.

2. 현업 개발자의 코드리뷰가 있습니다. 내가 구현한 프로젝트들을 현업 개발자들과 코드리뷰를 통해 진행됩니다. 42Seoul에서는 동료와 함께했지만, 이제는 실무진과 함께 소통하며 내 코드를 마주할 수 있다니 참 매력적으로 다가왔습니다.

3. 다양한 클라이언트 팀과 프로젝트를 합니다. 백엔드 개발자 입장에서 프론트엔드, 안드로이드, iOS의 클라이언트 개발자와 번갈아가며 프로젝트할 수 있는 경험이 큰 도움이 될 것으로 판단했습니다.

4. 비교적 저렴한 수강료입니다. 타 부트캠프에 비해 22년도 기준 6개월, 한 달 66만 원이었습니다. (총 396만 원)

 

결과적으로 코드스쿼드를 다니게 된 것은 큰 행운이었습니다. 정말 많은 것을 배웠습니다. 

 

42Seoul / 코드스쿼드를 마치며 배운 것

소프트 스킬

- 다른 직군과 함께하기 : 웹 개발 2번, 안드로이드 1번, iOS 1번 프로젝트를 하며 클라이언트 개발자와 어떻게 협업하는지 배우게 되었습니다. 예를 들어 팀이 함께하기 위해서 그라운드 룰을 정하거나(코어타임, 일정관리, Git, Git Flow, 디자인, API 설계...) 말 이쁘게(?)하기, 정해진 시간 안에 결과를 내고 불필요한 것은 버리는 연습등을 경험하였습니다.  

- 백엔드 멤버와 지식 나누기 : 22년 코드스쿼드 멤버가 약 40명 있었고 멤버들 모두 함께 자라기를 실천하려 노력했습니다. 조를 나누어 스크럼을 하고, 전체 회고를 공유하고, 개발하며 겪었던 삽질과 기술을 나누고, 서로의 기술을 피드백해 줄 수 있었습니다. 잘하는 사람은 혼자 열심보단 옆 멤버를 도와주고 서로 으쌰으쌰하는 모습이었죠. 별도로 스터디나 디스코드 채널에서 유대감을 가질 수 있는 것도 한 몫했습니다. 완벽했던 건 아니에요. 문제/갈등도 존재했고 아쉬움도 있지만 코드 스쿼드 멤버들과 함께할 수 있어 무척이나 소중한 시간이었습니다.

- 회고하기 : 마스터 호눅스가 매번 이야기해 줬던 것은 바로 회고였습니다. 호눅스 왈 : "여러분~ 회고 하세요~" , 개발을 하다 보면 시간 가는 줄 모르고 하루의 마침표를 찍지 못할 때가 많은데요. 회고를 통해 하루를 마무리하고 좋았던 점, 아쉬웠던 점, 개선할 점을 되돌아볼 수 있었습니다. 코드스쿼드 6개월 동안 하루도 회고 빼먹지 않은 게 가장 잘한 일 같아요. 요즘은 습관이 되어 꼭 형식적인 회고 문서가 아니더라도 자기 전에 오늘은 무슨 일이 있었나 짧게라도 돌아보고 있습니다.

- 남들과 비교하지 않기 : 이건 참 어려운 일입니다. 당장 내 옆 동료만 봐도 잘하는 사람이 많고 천재들의 코드가 GitHub에 가득, 매일 새로운 기술이 쏟아져 나오기 때문에 정신을 바짝(?) 차리지 않으면 금방 좌절하게 되더라구요. 남들과 비교하지 않기는 아직도 연습 중입니다. 나 자신의 실력을 객관화하고 남들과 비교하지 않고, 신기술을 무조건 따라가는 게 아니라 핵심 파악하기를요. (물론 남들과 비교하고 메타인지를 높이는 일은 중요하지만요.)

- 일정 관리 : 하루/시간 단위로 무엇을 했는지 추적하게 되었고, 업무가 주어진다면 어느 정도 걸릴지 예상 시간을 적고, 실제 걸린 시간도 작성하고 있습니다.

일정 관리 예

하드 스킬  

- 오버엔지니어링 피하기 : 개발을 하다 보면 자주 욕심이 생겼습니다. 멋진 코드와 최신 기술을 쓰면 잘해(?) 보이는 착각과 취업에 유리하지 않을까? 란 생각들입니다. 그럴 때일수록 자주 호눅스나 리뷰어들이 해준 말이 있습니다. YAGNI - You Ain't Gonna Need it, KISS - Keep it simple, stupid., 처음엔 YAGNI, KISS를 듣고 반감을 가졌습니다. 아니 왜? 좀 더 멋진 코드, 최신 기술 쓰면 유지보수하기 좋고 확장성도 고려할 수 있는 거 아니야?라는 반감도 있었습니다. 이젠 조금은 알 것 같습니다. 우리는 엔지니어지 과학자가 아니라는 걸요. 정해진 시간 속에서 최고의 효율(?)로 문제 해결하는 능력이 중요했습니다. (멈춰야 비로소 퇴근을 할 수 있다.)

- 왜 이 기술을 선택했는가? 의사 결정 : 왜?라는 고민을 하게 되었습니다. 왜 기술을 써야 하는가? 왜 이렇게 구현해야 하지? 당시 상황과 왜 이렇게 선택할 수밖에 없는지 컨텍스트가 담긴 문서도 작성하게 되었습니다.  

의사결정 문서 예

- BE / Infra : Java / Spring(Boot), Test, RDB, AWS, CI/CD, ... 

 

+) 함께 공부했던 42Seoul / 코드스쿼드 멤버들 너무나 감사합니다. 🙇‍♂️

 

사이드 프로젝트, 식도락 프로젝트 : 22.07 ~ 23.01

5명이 모여 기획부터 개발까지 함께 토이프로젝트를 하였습니다.

기획할 때는 친구들의 맛집 리뷰만 보는 서비스가 있으면 좋겠다! 음식 SNS 어때요? 란 순수한 의도였는데, 실제 개발할 땐 SNS 아키텍처, 뉴스피드 구현이 이렇게 복잡하고 어려웠다니 원망(?) 스럽기도 했습니다. 하지만 팀이 같이 기획했으니 우리 몫이었죠 🥹 

팀원들과 함께 기획부터 개발, 운영까지 해볼 수 있는 경험을 통해 참 많이 배울 수 있었습니다. 포트폴리오 준비에 대한 내용은 다음 글에 보다 자세히 적어보겠습니다. 함께했던 팀원 Jay, 포키, 럼카, 호이 정말 잊지 못할 추억이었습니다. 감사합니다. 🙇‍♂️ 

하반기 지원 : 22.09 ~ 22.12

당시 서류 약 6곳 작성했고, 서류 합격, 채용 프로세스를 세 곳 진행했습니다. 스타트업 1곳 / 네이버 웹툰 신입 공채 /  SSG Tech Rookie 인턴십 프로세스의 서류, 코테/사전 과제, 1차/2차 기술 면접, 최종 면접의 긴 프로세스를 거쳤지만 세 곳 모두 탈락의 고배를 마시게 되었습니다. 당시 개인적으로 태국 방콕 살기를 하고 있었어요. 22.09월부터 방콕에서 지내며 비대면 면접을 보았고, 최종 면접을 보기 위해 한국에 들어온 것도 있었거든요. 탈락 소식을 듣고 참 많이 힘들었습니다. (저도 모르게 눈물이..) 기대가 큰 만큼 절망도 컸습니다. 

감사 안돼...🥲1
...🥲2
...🥲3

수시, 스타트업 지원 : 22.12 ~ 23.02 

절망은 희망의 시작이다. 주위에서 응원을 많이 해줬고 회복할 수 있었습니다. 슬픔을 1주일 넘게 마시니 더 이상 마실 슬픔이 없더라고요. 과거(21.11월)에 좋은 기회로 프로그래머스의 한기용 님과 1:1 상담한 적이 있습니다. 그때 한기용 님께서 이력서는 떨어지면서 배우는 것이라고 했던 말이 기억났습니다. 100개 200개 쓰면서 고치고 배우면 된다고요. 전 아직 6곳 작성, 3곳만 면접 봤기에 아직 괜찮다고 생각했습니다. 다시 희망을 가지고 서류 수정/제출했습니다. 

원티드 지원 현황

사실 수시, 스타트업 채용은 쉽지 않았습니다. 서류 탈락이 상당히 많았습니다. 약 90% 떨어졌습니다. 하지만 아직 200개는 넣지 않았잖아? 란 생각으로 포기하지 않았습니다. 지원하며 이력서나 포트폴리오 수정을 꾸준히 했습니다. 동료, 주변 지인, 연락처가 공개되어 있는 개발자들에게 무턱대고 연락드렸고 너무나 감사하게도 피드백을 받을 수 있었습니다. 채용 플랫폼이 아닌 기업에 메일로 직접 지원할 때 인턴도 좋으니 일만 시켜달라고도 메일을 추가로 남기거나 기업에 맞게 이력서를 커스텀하고, 지원하는 회사 서비스 분석과 해당 도메인 전문가 인터뷰를 통해 사업을 이해하고 BM 제안 등 다양한 시도를 하였습니다.

정규직이 안된다면, 인턴이라도!
비즈니스 모델 제안

끝나고 세어 보니 약 150개 서류 작성하고 그 중 130번의 탈락 / 19개 서류 합격 / 10번의 코테 / 3번의 사전 과제 / 13개 회사 21번 면접을 경험했습니다. 최종 면접을 진행했던 10개 회사  7개 탈락, 3개의 회사에 합격했고, 그 중 가장 가치관이 유사했던 회사에서 일을 시작하게 되었습니다. 거북이도 하면 되더라구요.! 🐢

이 자리를 빌려 응원과 도움주셨던 많은 분들께 진심으로 감사합니다. 🙇‍♂️


다음 글에서는 제가 경험했던 취업 지원 과정에 대해 써보려 합니다.

개발, Java/Spring(Boot) 학습과 코딩 테스트 준비, 이력서 작성과 피드백의 중요성, 백엔드 포트폴리오를 만들 때 무엇에 집중을 했는지, 단계별 면접 준비 방법과 면접 때 받았던 질문들을 정리하려 합니다. (전 3년이라는 시간이 걸렸지만, 다시 되돌아간다면 3년까지는 걸리지 않을 거 같아요. 후회는 없습니다. 😆)

 

읽어주셔서 감사합니다. 

 


🔗 Reference 

- 배경 이미지 : https://unsplash.com/ko/%EC%82%AC%EC%A7%84/uGPBqF1Yls0

- 42Seoul 공식 홈페이지 : https://42seoul.kr/seoul42/main/view

- 코드스쿼드 공식 홈페이지 : https://www.codesquad.kr/

- 42Seoul에서 진행한 프로젝트 GitHub Repo : https://github.com/ku-kim/Project_42seoul

- 코드스쿼드에서 진행한 프로젝트 GitHub Repo : https://github.com/ku-kim/CodeSquad-MastersCourse-BE-Projects

댓글38