ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 신입 서버 개발자 정규직 취업 후기 & 준비 과정(feat. 사이드 프로젝트)
    개발, 코딩 2020. 3. 28. 16:45

    안녕하세요. 오늘은 제가 몇 달 전에 신입 서버 개발자로 취직을 하게 된 과정과 취업 후기에 대해서 몇 자 적어보고자 합니다.

     

    목차

    1. 제가 서버 개발자를 선택한 이유

    2. 좋은 회사의 기준?

    3. 회사에 지원하기 전에 하면 정말 좋은 것

    4. 이력서를 넣을 때 여러 팁

    5. 면접 과정에서 준비한 것

    5(1). 서류 전형

    5(2). 온라인 코딩 테스트

    5(3). 기술 면접

    5(4). 인성 면접

    6. 마무리

     

    1. 제가 서버 개발자를 선택한 이유

    대학교 신입생 때 해킹 동아리에 들어가서, 자연스럽게 이것저것 하던 중 컴퓨터 쪽에 흥미를 가지게 되어서, 전산학과에 들어가게 되었습니다. 여러 전공 필수 과목을 수강하고 나서, 본격적으로 코딩을 통해 뭔가를 만들어보고 싶다는 생각을 하게 되었고 https://madcamp.io/ 수업을 수강하게 되었습니다. 이 수업은 4.5주 동안 메이트랑 같이 직접 서비스를 1주에 하나씩 만들어보는 수업인데요. 암튼 밤도 많이 새우고 이것저것 하면서 부족하지만 뭔가를 만들어보니 참 뿌듯하고 좋았습니다.

    그 이후로 회사에서 프런트엔드 개발자로 인턴십을 진행해보았고, 프런트엔드는 저와 잘 맞지 않는다는 판단을 하게 됐습니다.(??) 이후에 toy project로 여러 서버를 개발해보았는데, 참 재미있고 대규모 서버를 만드는 일이 참 유익할 것 같아서 서버 개발자로 앞으로의 커리어를 설계하기로 마음먹었습니다.

     

    2. 좋은 회사의 기준?

    제가 생각하기에 좋은 회사는 https://github.com/jojoldu/junior-recruit-scheduler 에 써져있는 것처럼 개발자로서 커리어 쌓기가 좋은 회사입니다. "유의미한 트래픽이 발생하고, 코드 리뷰, 배포 자동화 등이 구축되어 있고, 코드 품질에 관심이 있는 회사"라는 말도 작성해주셨는데요 저도 여기 크게 동의합니다.

    저 링크에서 적절히 좋은 회사 리스트를 참고하시면 될 것 같습니다. 추가로 여기 그냥 채용 관련 정보가 엄청 많으니 여기를 많이 참고하시면 참 도움될 것 같습니다. 

     

    3. 회사에 지원하기 전에 하면 정말 좋은 것

    좋은 회사에 개발자 취업을 하기 위해서는 "개발 경험"이 필요한 경우가 아주 많습니다. 예를 들어 A라는 회사의 node.js 서버 개발 포지션으로 입사할 확률을 높이기 위해서는 아마도 아래 질문들에 답을 할 수 있어야 할 것입니다. (다 예시입니다.)

    - node.js의 특징에 대해 설명해보고, 어느 서버를 개발할 때 node.js를 쓰는 것이 적절할지 설명하기

    - node.js의 event loop이 무엇인지 자세히 설명해보기

    - async, await를 사용해 본 경험을 설명해보고, async await가 해결할 수 없는 상황과 직면할 수 있는 문제에 대해 설명해보기

    - CORS란 무엇인가? 등등.....

    아니.. 신입 개발자에게 정말 이런 지식들을 요구한다고? 이런 지식들을 현업에서 일을 해보지 않고 어떻게 채울 수 있나?라고 당황하실 수 있습니다.

    거기에 대한 답은 사이드 프로젝트(개인 플젝)를 하세요.라는 말로 요약할 수 있습니다. 아래 글들을 참고하시면 좋습니다.

    https://okky.kr/article/539565 - "취업하려면? 사이드 프로젝트하세요."(저도 본문 내용에 100% 동의하지는 않습니다. 댓글 말고 본문만 읽으시면 좋을 듯)

    https://woowabros.github.io/experience/2018/11/12/toy-project.html - "사이드 프로젝트의 모범 사례"

     

    결국 이런 걸 하면서, 실제로 본인이 개발에 관심이 있고 흥미가 있는지도 직접 잘 알아볼 수 있습니다. 대략 한 달 정도라도 직접 해보는 것을 강추합니다.

    핵심은 가고 싶은 회사의 기술 스택으로, 작은 결과물이라도 직접 개발을 해보고 이 과정에서 생기는 여러 문제들, 여러 결정들을 hack이 아닌 "올바른" 방식으로 해결을 해야 한다는 것입니다. 예를 들어 면접 때 왜 여기서는 이 db를 썼나요?라고 물어보면 이에 대한 합당한 설명을 할 수 있어야 할 것입니다.

    이런 과정들을 착실히 정리해놓고 면접 때 이를 말할 수 있으면 다른 지원자에 비해 엄청난 플러스 요소가 될 것입니다.

     

    4. 이력서를 넣을 때 여러 팁

     - 가고 싶은 회사 리스트를 적절히 뽑아서, 준비를 좀 하고 가장 가기 애매한 회사부터 이력서를 넣는다. 가장 가고 싶은 회사는 맨 마지막에 이력서를 넣을 수 있도록 하자.

     - 이력서를 넣지 않고 준비를 너무 오래 하면 내가 실제로 어느 부분이 부족한지 알기 어렵다. 준비 기간을 자신의 상황에 따라 짧게 가져가고 빠르게 면접을 하나씩 보면서 부족한 점을 채울 수 있도록 하자. 면접은 보고 나서 반드시 복기를 해서 면접관의 질문과 나의 답변 등에 대해 정리를 하고, 왜 이 질문을 했는지, 이 질문의 의도는 무엇이었을지 생각을 해보고 공부한다.

     - 만약 아무런 준비도 되지 않은 상태(개발 경험이 없는 등)라면 시간이 몇 개월 이상씩 걸릴 수 있으니 마음을 너무 조급하게 먹지 않도록 한다.(피가 말리지만...ㅠㅠ 스트레스에 잡아먹히면 안 돼요)

     

    5. 내가 면접 과정에서 준비한 것

    (1) 서류 전형

     - 이력서: https://blog.outsider.ne.kr/1234 느낌으로 적었습니다.

     - 사이드 프로젝트 경험도 추가해서 적었습니다.

     

    (2) 코딩 테스트

    문제의 난이도는 다르겠지만, 정보 올림피아드처럼 대략 n시간과 코딩 문제 m개를 주고 온라인 IDE를 이용해 풀라고 하는 과정일 것입니다.

    자료구조와 알고리즘을 이용하는 문제가 나올 텐데요. 자료구조를 잘 알아도 코딩 테스트를 준비하지 않으면 실제 테스트 때 허둥지둥하다가 잘 못 풀고 탈락할 수 있습니다. 따라서 반드시 연습이 필요합니다

    .

    코딩 테스트에 나올만한 자료구조, 알고리즘은 대략 Array, Linked List, Stack, Tree, DFS, BFS, DP, Greedy, Heap 등이 있겠는데요. 

    효과적으로 학습하려면 해당 개념에 대해 먼저 이해하고, 각 Topic에 대해 어느 정도 이 개념을 이해한 것 같다. 하는 느낌이 올 때까지 풀어보셔야 할 것입니다.

    대략적인 flow는, 문제를 대략 1시간 정도 풀어보기 - 모르겠으면 답을 대충 보고 핵심 컨셉을 이해한 후 다시 풀어보기 - 풀었으면 내 풀이의 시간, 공간 복잡도가 최적인지 확인하고 다른 사람의 풀이를 참고해 코드 개선하기가 되겠습니다.

     

    (3) 기술 면접

    - 전공 필수 과목(자료구조, 알고리즘, 네트워크, 데이터베이스, 운영체제 등) 주요 내용 정리

    - https://github.com/JaeYeopHan/Interview_Question_for_Beginner 가 꽤 도움이 됐습니다.

    - 사이드 프로젝트에서 마주한 문제와 해결 방법에 대한 정리

    - 코딩 테스트 문제의 완벽한 풀이 생각해가기. 시간복잡도, 공간복잡도등 체크. 왜 이렇게 코드를 짰는지 정리하기

     

    (4) 인성 면접

    - 내 성격의 장단점

    - 다른 사람과 일하면서 마주했던 문제들. 어떻게 해결했는가? 등

    - 어떤 개발자가 되고 싶은가?

    - 회사의 인재상에 맞는 사람

    등등..

     

    6. 마무리

    저도 운이 좋게 한 회사에 붙게 되어 서버 개발자로 일하게 되었습니다.

    취업은 실력도 중요하지만 운 요소가 정말 크게 좌우합니다. 예를 들어 가고자 하는 팀의 TO가 별로 남지 않은 상황이면 손에 꼽히게 잘해야 입사할 수 있을 것이고, TO가 많으면 그 반대일 것입니다. 그러니까 좌절하지 않고, 포기하지 않고 계속 도전하다보면 경험이 쌓이기 때문에 반드시 취업에 성공할 수 있을 것입니다. 취업 준비하시는 분들 정말 모두 응원합니다. 파이팅.

    궁금한 거 있으시면 댓글 달아주세요.

     

    '개발, 코딩' 카테고리의 다른 글

    2023 카카오 백엔드 신입 공채 합격 후기  (1) 2023.07.14
    2019 Games on AWS 후기 & 요약  (0) 2020.03.08

    댓글

Designed by Tistory.