신입 프론트엔드 개발자가 공유하는 소소한 취준팁👩🏻‍💻

YUZAMIN
Hello, World! I'm YUZAMIN, a diligently endeavoring frontend developer 🐤💦
신입 프론트엔드 개발자가 공유하는 소소한 취준팁👩🏻‍💻

신입 프론트엔드 개발자가 공유하는 소소한 취준팁👩🏻‍💻

안녕하세요. yuza🍊입니다.

저는 올해 여름, 신입 프론트엔드 개발자로 취업했습니다. 그리고 몇 주 전, 3개월 수습 기간을 마무리하고 드디어 정규직 전환이 되었습니다. 정규직 전환 기념으로 신입 개발자 취업 후기에 대한 기록을 남기기 위해 이 글을 작성합니다.

우선 저에 대해 간단히 소개하자면, 어문학과를 졸업한 비전공자로서 2021년 1월부터 K-Digiital Training을 통해 개발 분야에 발을 들였고, 약 2년 간 다양한 교육, 개인 및 팀 프로젝트, 해커톤과 스타트업에서의 짧은 인턴쉽을 경험한 뒤, 2023년 4월 중순부터 본격적으로 입사 지원을 하며 취업 준비생이 되었습니다. 약 4개월 간 거의 300회가 넘게 지원서를 제출하였으며, 40개의 기업에서 1차 합격, 그 중 10개의 기업에서 2차 합격을 하였고, 6개의 기업에 최종 합격하여 현재 그 중 한 기업에서 프론트엔드 개발자로 근무하고 있습니다. 사실 취준 기간을 좀 더 일찍 끝마칠 수 있었으나, 여러 가지 개인적인 기준에 따라 고민을 하느라 취업이 조금 늦어졌습니다. 그래도 지금 생각해 보면 후회를 남기지 않기 위한 좋은 선택이었다고 생각합니다.

취업하기 까지 nn번의 면접과 n번의 과제, 약 4~5회 정도의 코딩테스트를 경험했습니다. 이 글을 통해 이 과정에서 배우고 느꼈던 점들에 대해 공유하고자 합니다.

취업 준비, 어떻게 했나

TL;DR

  • 서류 전형
    • 주변 개발자분들께 피드백 요청하기
    • 읽는 사람(인사담당자나 면접관) 입장에서 생각하며 작성하기
      • 관심 가질 순서에 맞게 내용 배치
      • 프로젝트 결과물을 배포 링크, 시연 영상, 스크린샷 등을 통해 쉽게 확인할 수 있게 하기
      • 오타나 비문, 맞춤법 꼼꼼히 점검
      • 줄글 나열 X, 간결하고 깔끔하게
  • 과제 전형
    • 구현할 때부터 ‘왜 그렇게 개발했는지’에 대해 설명하는 상황을 염두에 두기
      • 과제 진행 중간중간 구현 및 디버깅 사항 메모하기
      • 주석 작성하며 코드 복기하기
    • 일관된 코드 스타일과 컨벤션을 유지하기
    • 성실하고 꼼꼼한 README 작성하기
  • 면접 전형
    • 면접 끝나자마자 면접 내용 메모하여 질문과 답변 내용 아카이빙하기
      • 필수 질문들에 대한 답변 미리 정리해서 써먹기
      • 면접 끝나고 받았던 질문에 대한 정확하고 자세한 답변을 다시 작성하기
    • 면접 장소 근처 카페에 1시간 일찍 가서 준비하기
    • 잘 모르는 부분에 대해 아는 척하지 않되, 들어봤거나 본 적 있는 부분에 대해서는 겸손하게 아는 만큼만 답변하기
  • 기타
    • 지원 자격에 맞지 않아도 가고 싶은 기업이면 일단 지원해보기
    • 합격이 잘되지 않는 교착상태라면 여러 곳에 되는대로 지원해보며 경험 쌓기
    • 자신의 강점과 약점을 파악하여 전략적으로 지원하되, 꼭 일해보고 싶은 기업이나 공고에는 일단 한번 도전해 보기

서류 전형

이력서나 포트폴리오를 여러 사람에게 보여주고 피드백 받는 과정이 중요하다는 것은 익히 알려진 사실입니다. 그렇지만 저는 그게 좀 부끄러워서 많은 분들께 보여드리지는 못했고, SNS와 컨퍼런스 등을 통해 알게 된 개발자 두 분께 용기를 내어 피드백을 받았습니다. 고백하자면 이 기회마저도 제가 적극적으로 나서서 얻었다기 보다는 그분들께서 너무 감사하게도 제 상황을 아시고 먼저 제게 도움을 주시겠다고 제안해 주셔서 받을 수 있었던 것입니다. 이 글을 읽고 계시는 분들은 저처럼 소극적으로 행동하시기보다는 부끄러움을 무릅쓰고 적극적으로 피드백을 요청해 보시기를 권장해 드립니다. 저도 한번 해보니까 용기가 생겨서 다음번엔 제가 먼저 더 적극적으로 나서보려고 합니다.

감사하게도 두 분께서 정성껏 디테일하게 피드백을 주셔서 이력서와 포트폴리오를 정말 많이 갈아엎었고, 서류 합격률도 피드백 반영 이후에 확실히 증가했습니다. 부쩍 늘어난 합격 연락을 받으며, 부끄럽더라도 믿을만한 분들께 이력서와 포트폴리오를 공유하는 것은 꼭 필요한 일이라는 것을 느꼈습니다. 자신의 서류들이 당사자의 눈에는 완벽해 보일지 몰라도 다른 사람 눈에는 개선할 수 있는 부분들이 많이 보일 수 있기 때문입니다.

이력서를 고치는 과정에서 제가 가장 신경 썼던 부분은 읽는 사람의 편의였습니다. 인사담당자나 면접관이 관심을 가질 순서에 맞게 내용을 배치하고, 배포 링크를 첨부하거나 정 안되면 시연 영상이라도 유튜브에 일부 공개 영상으로 업로드하여 그 링크를 첨부했습니다. 포트폴리오에는 그 링크마저도 접속하지 않을 가능성을 염두에 두고 프로젝트 화면의 스크린샷을 적당히 첨부하여 프로젝트 결과물을 한눈에 바로 확인할 수 있게 작성했습니다. 그리고 오타가 있거나, 대소문자를 잘못 적거나, 비문이거나, 맞춤법이 맞지 않는 일이 없도록 여러 번 체크하며 읽어보았습니다. 읽다가 지루할까 봐 너무 줄글로 나열해 가며 설명하지 않기 위해 노력했고, 간결하고 깔끔하되 제가 전달하고자 하는 가치나 강조하고 싶은 저의 장점은 누락되지 않도록 고치고 또 고쳤습니다.

결과적으로 저의 이력서와 포트폴리오의 구성은 다음과 같습니다.

  • 이력서: 이력서는 원티드 기본 이력서를 활용하여 간단하게 작성하였습니다.
  • 포트폴리오: 짧은 자기소개 - 사용 가능한 개발 언어 - (학력 포함) 이수한 개발 관련 교육 - 경험(해커톤 및 인턴) - (업무에 임하는) 태도 - 역할과 기여도, 담당 사항과 링크, 스크린샷 등을 포함한 프로젝트 경험 - 기타(깃헙 잔디, 기술 블로그 소개)

과제 전형

과제는…솔직히 통과한 적이 그리 많지는 않아서^^; 좋은 팁을 전해드리기가 다소 어렵긴 한데, 일단 저는 코드를 짜면서 틈틈이 제 코드에 대해 면접에서 ‘이 부분은 왜 이렇게 구현했나요?’라는 질문이 들어오는 상황을 상상했습니다. 면접에서 제가 잘 모르는 지식에 대한 질문이 들어와서 답변을 못 하는 상황보다 제가 직접 짠 코드에 관해 설명하지 못하는 상황이 제겐 더 굴욕적이었기 때문입니다 (아마 대부분의 개발자가 저와 비슷할 거라고 생각합니다). 그래서 과제를 구현하는 중간중간에 구현한 로직이나 발생했던 버그들에 대해 저의 구현/해결 과정과 참고했던 문서들을 간단하게 메모해 두었고, 제출한 뒤에는 로컬에 저장된 코드를 복기하며 주석을 달아두고 면접 전까지 여러 번 읽어보았습니다.

저는 면접관들이 제 과제물을 보고 ‘함께 일하고 싶은 개발자’라는 생각이 들기를 바랐습니다. 다르게 말하면 ‘뽑아 놓으면 빠르게 적응해서 팀 내에서 유지되고 있는 여러 가지 규칙과 컨벤션에 맞춰서 개발할 수 있는 개발자’로 보이고 싶었던 것입니다. 그래서 일관적인 코드 스타일을 유지하기 위해 노력했으며 커밋 메시지 컨벤션을 미리 설정해 두고 그것에 맞춰 커밋 메시지를 작성하였습니다.

이와 더불어 README도 최대한 깔끔하고 구체적으로 작성했습니다. 크게 구현 사항, 기술 스택, 실행 방법, 과제 진행 세부 사항으로 나누어 작성했는데, 구현 사항에는 각 페이지, 컴포넌트별로 어떤 기능을 구현했는지 과제 문서에 명시된 요구사항에 맞춰서 썼습니다. 기술 스택과 실행 방법은 간단하게 어떤 라이브러리나 프레임워크를 사용했고 어떤 스크립트를 통해 패키지를 설치하거나 로컬 서버를 실행하는지 적었습니다. 과제 진행 세부 사항에는 제가 과제를 하며 어떤 부분을 고려하며 코드를 짰는지 설명했는데, 예를 들면 컴포넌트 분리 기준, 상태 관리 방식, API 통신 방식, 타입 정의 방식 등을 어떻게 정했고 왜 그렇게 했는지를 설명하는 것입니다. 당연히 부분을 가장 공들여서 썼습니다.

사실 과제는 투자한 노력 대비 합격률이 좀 저조한 편이었어서 아쉽지만, 그래도 사이드 프로젝트 한 셈 칠 수라도 있었으므로 크게 좌절하지 않고 성실하게 임했습니다.

면접

많은 구직자분들과 비슷하게 본격적으로 이력서를 돌리기 시작하며 제가 가장 많이 걱정했었던 부분은 면접이었습니다. 면접에서 한마디도 못 하고 돌아오는 상상을 하며 차라리 서류 합격이 안 됐으면 좋겠다는 모순적이고 배부른 소망을 가진 적도 있을 정도였습니다. 그렇지만 역시 뭐든 일단 해보고 판단해야 하는 거고, 많이 경험하면 할 수록 느는 게 맞았습니다. 처음에는 (걱정과는 반대로 오히려) 두서없이 하고 싶은 말들을 늘어놓느라 바빴었는데, 면접 경험이 쌓일수록 좀 더 간결하고 깔끔하게 말하는 방법을 터득할 수 있었습니다. 아무래도 비슷한 질문들을 여러 번 듣게 되니까 몇몇 ‘필수’ 질문들에 대한 대답을 다듬어나갈 수 있었기 때문입니다. 면접이 끝나면 바로 면접에서 받았던 질문 내용과 내가 한 답변을 핸드폰 메모장에 간단하게라도 남겨두었습니다. 그 질문들을 목록으로 만들어서 읽어보면서 질문을 복기하고 그에 대한 답변을 다시 한번 정리해 보며 다음 면접을 준비하였습니다. 기술적인 질문의 경우, 바로바로 챗지피티에 질문하여 얻어낸 답변을 참고하여 정리하고 공부했습니다. 그렇게 준비한 ‘면접 오답 노트’를 면접 전에 한번 쭉 읽어보는 것만으로도 심적으로나 실질적으로나 도움이 많이 됐었습니다.

또 하나의 미세 팁을 덧붙이자면, 면접 장소 주변에 편하게 있을 수 있을 만한 카페를 하나 미리 점찍어두고 면접 시간 한 시간 전쯤 미리 그 카페에서 면접 준비를 하고 들어간 게 큰 도움이 되었습니다. 특히 저는 한여름에 면접을 보러 다니다 보니 정말 많이 덥고^^;; 비가 많이 올 때도 있었기 때문에 편한 옷차림으로 면접 장소까지 이동하고 카페에서 옷을 갈아입곤 했었습니다. 땀 흘리고 상기된 얼굴로 면접장에 들어가기보단 편하게 이동하고 면접 전에 깔끔하게 환복 + 단장한 뒤에 면접에 들어가는 게 마음이 편했기 때문입니다. 그리고 다른 분들이 많이들 하시는 말씀처럼 저 또한 잘 모르겠다면 모른다고 빠르게 밝히는 게 나았던 것 같습니다. 그렇지만 동시에 저는 어디선가 들어봤거나 본 적이 있는 부분에 대한 질문에는 ‘제대로 공부해 본 적은 없으나, 다른 부분을 공부하다가 그게 이러이러하다는 것까지는 접해보았습니다.’라는 식으로 겸손하게 + 그럼에도 불구하고 최선을 다해 답변하려고 했습니다. 실제로 웹 소켓에 대해 알고 있냐는 질문에 ‘써본 적은 없으나, 예전에 같이 프로젝트를 진행했던 다른 개발자로부터 이러이러한 개념이라는 설명을 들었던 게 기억이 납니다’ 라고 답변을 하였는데 ‘잘 알고 계시는데요?’라는 긍정적인 반응을 받은 적도 있었습니다. 그 면접에서는 최종적으로 합격 연락을 받았고, 저는 현재 그곳에서 근무하고 있습니다. 모르는 것을 아는 것처럼 꾸며내는 것은 별로 좋지 않을 수는 있으나 면접에 최선을 다하고 있고, 내 머릿속에 있는 한 톨의 지식이라도 쥐어짜서 답변해 보겠다는 근성 있는 태도로 임하려고 노력했습니다. 구 면접관 현 팀원분들이 그런 점을 좋게 봐주신 게 아닐지 하고 추측하고 있습니다.

기타

취준 기간 초반에는 공고가 올라온 기업에 대해 하나하나 깐깐하게 따져보고 고심해서 지원했었습니다. 그래서 하루에 한 곳에도 지원을 못 하는 날들도 많았습니다. 취준 기간이 점점 길어지면서 이것저것 재고 따지다 보면 한도 끝도 없겠다는 생각이 들었고, 지원 자격에 3년 이상의 경력을 명시해 뒀거나 집에서 거리가 좀 먼 곳에 있는 기업의 공고라도 일단 이력서를 제출하고 봤습니다. 그러자 지지부진했던 1차 합격 소식이 점점 들려오기 시작했고 면접을 보거나 과제 전형을 진행하는 빈도가 많이 늘어났습니다. 기분은 좋았지만 한편으론 합격 연락이 한 번에 몰아서 오는 바람에 하루에 면접을 2, 3번씩 보거나 과제 진행 기간이 겹쳐 주어진 기간보다 짧은 시간 내에 과제를 완성해야 하는 일이 잦았다는 부작용을 겪었습니다.

그럼에도 불구하고 만약 이 글을 읽고 계신 취준생분들이 계신다면, 그리고 만약 저처럼 합격 소식이 좀처럼 들려오지 않는 답답한 상황에 처해 있다면 너무 까다롭게 공고를 걸러내시거나 아니면 허들이 높아 보이는 지원 자격에 너무 겁먹지 마시고 일명 무지성 지원, 이력서 난사를 한번 시도해 보시는 것을 추천합니다. 그러다 보면 합격률이 높아지면서 면접이나 과제 경험을 쌓을 수 있어서 나중에 진짜 가고 싶은 기업에 지원할 때 준비된 상태로 임할 수 있기 때문입니다. 또한 그렇게 경험을 쌓으면서 좀 더 의욕적으로 취준 기간을 보낼 수 있어서 무기력에 빠져 있지 않을 수 있습니다.

사실 코딩테스트는 제가 가장 자신 없어 하는 부분이기도 하고, 별 다른 팁 없이 그저 묵묵하게 꾸준히 문제를 푸는 방식으로 준비를 했어서 민망하게도 따로 전달해 드릴만한 꿀팁은 없습니다^^;; 그렇지만 관련해서 몇 마디 덧붙이자면, 저는 개인적으로 예상했던 것보다 면접에서 많이 긴장하거나 떠는 편이 아니었어서 하고 싶었던 말을 다 못하고 나오는 경우는 거의 없었던 것 같습니다. 대신 코딩테스트를 보는 기업에는 자신감이 부족하여 많이 지원하지 않았었습니다. 그럼에도 불구하고 분위기가 좋았던 면접들에서 여러 번 탈락의 고배를 마시기도 했고, 라이브 코딩테스트를 봤는데도 예상을 뒤엎고 최종 합격을 한 경우도 몇 번 있었습니다. 따라서 전략적으로 지원하되, 꼭 가고 싶은 기업이거나 자신과 잘 맞는 공고라는 생각이 든다면 자신 없어도 일단 도전해 보는 자세도 중요한 것 같습니다.

짧은 근황

3개월간의 수습 기간 동안, 실질적으로 제가 했던 업무의 90%는 제가 직접 찾아서 했던 일이었습니다. 프로덕트를 사용해 보며 버그나 개선점을 찾아보고, 직접 개선할 수 있는 부분이라면 스스로 지라 티켓을 만들어 PR을 올리고, 컴포넌트의 구조를 파악하기 위해 파일을 하나하나 까보며 구조도를 그리는 등 주체적으로 일하기 위해 노력했습니다.

그리고 ‘신입은 인사만 잘해도 반은 간다’라는 말을 되새기며 마주치는 모든 분께 깍듯이 인사했습니다. 사실 장기적인 관계에 있어 낯가림이 꽤 심한 편이어서 오히려 자리에서 조용히 개발만 할 때보다 잘 모르는 다른 팀의 직원분들을 마주쳤을 때가 더 어렵고 어색했었던 것 같습니다. 그저 3초도 안 되는 짧은 순간에 인사만 나누고 돌아가면 되는 건데도 말입니다.

그렇지만 저는 어찌저찌 조금씩 적응해 나가고 있습니다. 늘 그랬듯 조금 쭈뼛대며 제가 있을 자리에 저를 맞춰나가고 있습니다. 아직까지는 할만한 것 같습니다. 작고 소중한 월급을 잘 쪼개어 저축도 하고, 그동안 미뤄왔던 소소한 소비를 몰아서 해치우기도 하며 살고 있습니다. 요약하자면, (연봉만 빼고) 앞으로도 쭈욱, 그저 요즘만 같아라, 하고 있다는 것입니다. 그동안 여러 SNS로 저의 취준 푸념을 들어주시고, 격려해 주시며 지켜봐 주셨던 모든 분께 덕분에 정말 큰 힘을 얻을 수 있었고, 너무 지치거나 좌절하지 않을 수 있었다는 말을 꼭 전해드리고 싶습니다. 그리고 제가 그랬던 것처럼 이 글이 읽고 계신 분들께 작게나마 도움과 응원이 되기를 바랍니다. 긴 글 읽어주셔서 감사합니다. 화이팅!