brunch

You can make anything
by writing

C.S.Lewis

by anonymDev Feb 11. 2020

개발자 취업을 준비하는 방법

개발자가 취업하는 방법V1

    대학원 졸업 후 바로 취업을 준비했다. 문과의 치열했던 취준 경험은 이력서 쓰는 일을 무덤덤하게 만들었다. 취업 준비 공간은 카페였다. 작업에 집중하다가 이따금씩 멍 때리기 좋은 장소였다. 그렇게 카페에서 반년 정도 이력서를 쓰고 면접을 보러 다녔고 새해에 첫 출근을 했다. 이번 글에서는 대학원 졸업 후 6개월 동안 어떻게 취업 준비를 했는지 공유하고자 한다.


취업 준비의 시작은 채용공고 분석이다

    개발자 채용공고는 현재 IT회사들의 개발 환경과 기술 스택을 파악하기 좋은 소스(source)이다. 관심 있는 분야/회사의 채용공고를 둘러보며 핫한 기술(언어, 도구, 저장소, 유틸리티, 운영체제)과 개발 지식/방법론(TDD, ES6, 동시성에 대한 이해, 협업 방법 등)은 무엇이 있는지 조사하는데 도움이 된다. 단순히 활용 가능한 언어와 도구만 명시된 공고보단 기술 지식이나 개발 소양도 구체적으로 명시된 것들을 위주로 보면 좋다. 경력직의 경우 상시로 모집을 하기 때문에 채용정보가 신입에 비해 많아 참고할 것들이 많다.

    

    단순히 정보 취득에서 끝나면 안 된다. 자격요건과 우대사항을 보며 '자가 피드백'을 해야 한다. 예시를 보며 직접 해보자. 아래 채용공고는 카카오커머스의 프런트엔드 개발자 구인공고이다. 본인이 프런트엔드 개발에 관심이 있고 구직을 하고 있다고 가정 해보자.

우선 자격 요건을 훑어보자.

- JavaScript 애플리케이션 개발 경력 2년 이상

  2년이라는 경력이 의미하는 수준은 어느 정도 일까? 본인의 자바스크립트의 수준이나 능숙함 정도를 연차라는 숫자로 수치화해보자. 그리고 수치를 증빙할 개발 이력이나  포트폴리오를 정리해보자. 깃헙에 올려두고 작업 중인 개인 프로젝트가 있다면 더할 나위 없다.


-HTML/CSS 기본 지식 보유

위와 같다.


-코드 리뷰에 대한 열린 마음을 가진 분

    코드 리뷰를 할 때 어떤 점을 보고 어떤 방식으로 피드백을 전달하는지 정리해보자. 좋은 코드 리뷰는 어떤 것일까에 대해서 생각해본 적 있는가? 이번 기회에 코드 리뷰에 대한 본인의 의견과 경험을 정리해보자. 코드 협업 작업에서 코드 리뷰는 중요한 활동이다.


다음으로 우대 사항이다.

- Angural, React 등의 프레임워크를 이용한 개발 경험이 있는 분

    개발 프레임워크에 대해서 얼마나 이해하고 사용하고 있는가. 정확한 동작 원리를 모르고 사용하고 있다면 이번 기회에 확실하게 정리해보자. 프레임워크를 사용해본 경험(또는 지식)이 없다면 프레임워크를 직접 사용해보고 코드를 공유하자.


- ES6 기반의 코드를 작성해본 경험이 있는 분

    ES6가 무엇이죠? 처음 들어봤다면 더 잘됐다. 덕분에 ES6라는 중요한 용어에 대해서 공부할 기회를 갖게 됐다. Javascript로 개발하면서 es6를 이해하는 건 매우 중요하다.


    개발자 채용공고를 분석하면서 면접 전에 준비해야 할 부분들이 파악이 됐다. 동일한 방식으로 다른 채용 공고들을 보면서 키워드를 뽑고 본인에게 부족한 부분들을 학습하자.


 난 지금 신입이고 들어가서 배울 텐데 미리 파악(혹은 능숙)할 필요가 있을까?

    게다가 경력직 채용공고자나? 꼭 지원을 하라는 게 아니다. 기술/개발 환경을 파악하고 본인의 시장 가치를 확인해보자는 의도이다. 채용공고를 참고하여 (신입과 경력자라는 선을 긋지 말고) 개발자로서 자신을 객관적으로 평가해보자. 나의 어떤 기술이나 경험이 현업에서 쓰일 수 있고 무엇이 부족한지. 신입 개발자라고 해서 부족한 기술 지식과 개발 능력이 정당화되는 게 아니다. 신입은 개발 경험이나 경력이 부족한거지 능력이 열등한 존재가 아니다. 위 채용공고가 경력직을 대상으로 한 것이지만 자격요건과 우대사항들 중 본인이 부족한 부분이 있다고 생각하면 채워보자. 하나씩 채우다 보면 이력서나 면접에서 경쟁력을 갖출 뿐만 아니라 개발자로서 성장하는데도 도움이 된다.


깃헙을 이용해서 포트폴리오를 만들자

    개발자에게 가장 좋은 포트폴리오는 코드다. 참여했던 프로젝트와 수상경력을 제출하는 것도 도움이 되지만 코드만큼 도움이 될까에 대해서는 의문이다. 가만히 앉아 있어도 기록에는 남으니까. 개발자들은 코드를 믿고 코드로 얘기하는 걸 선호한다. 개발자들은 동료를 뽑을 때 지원자의 수상 경력보다는 실제 개발 능력과 개발에 대한 가치관에 관심을 갖는다.

개발 역량을 판단할 수 있는 객관적 자료

    그런 관점에서 개인 프로젝트는 지원자의 개발 역량/가치관을 평가하기 좋은 근거이다. 작성된 코드를 통해서 지원자의 개발 능력을 평가할 수 있을 뿐만 아니라 개발에 대한 긍정적인 태도를 엿볼 수 있기 때문이다. 게다가 깃헙은 버전 관리/협업 기능을 지원하기 때문에 지원자의 커밋 습관과 협업 방식도 드러난다. 잘 관리한 개인 프로젝트 하나 열 대외활동 안 부럽다. 이력서에 본인의 깃헙 저장소 URL을 반드시 공유하자.


여기저기 이력서를 뿌려보자

    이력서를 많이 써보고 면접을 많이 보는 거만큼 좋은 취업/이직 방법은 없다고 생각한다. 다양한 회사를 만나는 와중에 회사를 비교할 수 있기 때문이다. 연봉, 개발 조직 문화, 기술 환경 등 각 회사가 가진 특징과 장단점은 고유하다. 면접을 진행하면서 본인에게 맞는 회사를 찾을 수 있고 좋은 회사를 고를 수 있다. 한 군데만 봐서는 회사를 평가하기 쉽지 않다. 구인자도 지원자를 평가하지만 구직자 역시 회사를 평가해야 한다. 다양한 면접 경험은 구직활동에 큰 도움이 되기도 한다.

    채용 공고는 NHN, Naver, 라인, 쿠팡, 카카오, 넥슨, 넷마블 같은 IT회사들의 채용페이지에서 찾았다. IT회사 공식 채용페이지의 경우 정해진 이력서 양식이 있으니 맞춰서 작성하면 된다. 그 외 잡 플레닛, 로켓펀치, 원티드 등 구인/구직 사이트를 적극 활용하는 것도 좋다. 스타트업이나 중소규모의 테크 회사에서 올린 채용공고들이 많다. 산업군도 다양하고 공고의 수가 대기업에 비해 절대적으로 많다. 상대적이지만 진입 장벽도 낮은 편이라 마음에 드는 공고가 보인다면 가벼운 마음으로 제출해보고 면접도 진행해보는 걸 추천한다. 인연으로 만족하는 회사를 만났다면 스타트업도 좋은 선택이라고 생각한다.


    대형 테크 회사 채용 공고는 자격 요건만 충족된다면 신입/경력(1~2) 구분 없이 무조건 제출하는  추천한다. 단 경력직 채용 공고의 경우에는 1~2년 경력을 상쇄할만한 포트폴리오나 개발 능력이 뒷받침돼야 한다. 대형 IT 기업들의 경우는 체계적인 채용 절차를 갖고 있다. 까다로운 만큼 질 높은 채용 프로세스를 경험하기 좋다. 특히 경력직의 경우 사전 과제(하루 이틀의 시간을 주고 개발을 시킴), 전화 면접 같은 추가적인 절차들이 있다. 기술면접에서 나오는 질문과 기술의 주제의 질이 높아서 (떨어진다 하더라도) 배울 점이 많고 다른 채용에 도움이 되는 피드백(feedback)을 많이 받을 수 있다. 면접도 두 번 세 번 보면 그다음부터는 긴장도 안되고 덤덤하게 임할 수 있다. 그만큼 자신감도 생기기 때문에 본인의 역량을 온전히 발휘할 수 있게 된다.

    

오답 노트(?)를 만들자

    고3 수험생도 아니고 무슨 오답 노트? 진짜로 오답 노트를 만들라는 의미는 아니다. 과제, 기술 면접, 테스트에서 나왔던 주제, 질문, 문제, 받았던 피드백들을 정리하라는 의미다. 이력서 많이 내고 면접도 많이 봤는데 얻은 게 없다면 의미가 없다.


알고리즘 테스트, 사전 과제, 전공 이론 시험에서 나왔던 문제를 기록하고 작성한 코드를 깃헙에 보관해두자.

    혹시 테스트 중에 풀지 못했더라도 질문과 답안 코드를 작성해두자. 개선까지 하면 더욱 좋다. 문제의 유형은 한정적이다. 나왔던 게 다음에 또 나온다. 좋은 문제나 질문들은 다른 회사에서도 동일하기 출제할 가능성이 높기 때문이다. 고로 비슷한 문제가 나왔을 때 당황하지 않고 답을 할 수 있다. 이전 답안을 개선할 수 있는 여유까지 생기니 꼭 정리해두자.


기술 면접 질문도 기록해두자.

        기술 면접이야말로 실무자와 질의응답할 수 있기 때문에 피드백을 받기 매우 좋다. 특히 채용을 하는 팀의 실무자가 면접관으로 참여하는 경우가 많으니 두말할 필요가 없다. 해당 분야에 필요한 중요한(혹은 실무적인) 질문들이 많이 나오니 질문 하나도 놓치지 말고 기록해두자. 면접이 끝나고 기록해둔 질문에 대해서 본인의 답변을 정리해보자. 면접 시에 질문에 답을 잘못해도 괜찮다. 다음 면접에서 같은 질문이 나왔을 때 대답을 잘하면 된다. 관련 분야의 사람들끼리는 비슷한 관심사를 갖고 있기 때문에 비슷한 질문이 다음 면접에서 무조건 나온다. 예를 들면 좋은 코드는 어떤 코드인가? 같은 주제는 모든 개발자가 중요하게 생각하고 공감하는 것이다.

    가능하다면 면접이 끝난 이후에 본인이 받은 질문들에 대해서 역으로 질문하거나 피드백을 요청해보자. 같은 개발자라면 호의적으로 답변해줄 것이다. 본인의 경우 (개발자들이 면접관으로 들어온) 모든 면접 후에는 피드백을 요청했었다. 받았던 피드백들은 다른 면접에서 활용하기 좋은 소스들이었고 실제로 피드백을 통해서 성장한 부분들이 많았다.

질문의 예)

- 개발자로서 중요하게 생각하는 부분은 무엇인가

- 선배 개발자로서 내게 조언해줄 수 있는 부분이 있는가


나도 회사를 평가해보자

    상경계열 취준을 하면서 서러웠던 점은 나만 항상 을의 위치였다는 점이다. 슬프다. 개발자로 구직 중이라면 그런 걱정을 덜어도 좋다. 일자리도 많고 구직의 기회가 항상 열려있기 때문에 구직자가 목을 매야하는 상황이 상대적으로 적다. 회사도 좋은 개발자를 채용하기 위해서 지원자들에게 좋은 대우를 해주고 있다. 지원자들도 회사와 동등한 위치에서 서로 평가한다. 이런 마음가짐은 면접에서 내게 편안함과 자신감을 줬다. 그리고 대체로 현장면접에 가면 면접관과 채용담당자들이 지원자들이 편안하게 임할 수 있도록 배려해준다. 여하튼 본인의 평가 기준을 만들어서 회사를 평가해보자. 무턱대고 아무 회사나 갈 수는 없지 않은가? 혹은 더 좋은 회사를 두고 안 좋은 회사를 선택하는 실수를 범하지 않기 위해서라도 꼭 회사를 선택하는 자신만의 기준을 정하자. 본인의 평가 기준은 아래와 같다


1) 연봉 XXXX만원 이상

    돈이 전부는 아니지만 일에 대해서 합리적인 보상을 받아야 한다. 해당 분야의 평균을 고려해서 본인이 생각하는 합당한 금액을 정하자.

2) 수평적인 조직문화를 가진 조직

    직무가 아닌 직급에 의한 위계질서가 효율적인 협업과 합리적인 의사결정을 방해한다고 생각한다.

3) 자유로운 드레스코드

    기술자가 되기 위해 길을 바꾸면서 넥타이를 매지 않겠다고 다짐했었다. 업무 공간에서 편안함을 느낄 때 생산성이 올라간다고 생각한다. 따라서 근무 복장도 편한 곳을 선호한다.

4) 자율적인 근무

    마음대로 개판 치면서 회사를 다니겠다는 의미가 아니다. 업무와 상관없는 부분에서 마이크로 매니징(Micro managing)을 받고 싶지 않다는 의미다. 자율적이지 않는 환경에서 책임감과 주도적인 업무 태도가 발현되기 어렵다고 생각한다.  

5) 테스트 코드를 짜는 조직

   코드 작성 단계(단위 테스트)에서 정확한 동작이 보장되지 않는 코드는 안정적이지 않다. 수동으로 테스트하는 코드는 생산적이 않다. 코드 수정에 의한 버그에 취약한다. 불안정하고 비생산적인 코드 작성을 하는 개발 조직이 좋은 개발 문화를 가졌을 리 만무하다.

6) 코드 리뷰를 하는 조직

    협업을 통한 개발이 이뤄지는지 확인하는 지표이다. 코드 리뷰가 없다는 건 개발하는 과정에서 협업이 없을 가능성이 높다는 의미라고 생각한다. 서로 피드백을 주고받으면서 개발하는 건 보다 나은 품질의 결과물을 이끌어낸다. 개발자 한 사람의 역량에 한정된 결과물이 아닌 팀의 역량과 지식의 총합으로 나온 성과가 나온다. 리뷰와 피드백이 오가는 와중에 동료들끼리 기술 지식이 공유되므로 함께 성장하는 환경이 조성되기도 한다.

7) 기술 면접을 진행하는  회사

     필요에 따라서 생략이나 간소화하는 경우도 있겠지만 기술 테스트에 대한 필요성이나 역량이 부족한 회사라는 느낌이 들면 가지 않았다. 지원자의 기술 역량을 빡세게 보는 회사를 선호한다. 검증을 제대로 받고 뽑힌 개발자들이 이미 회사에 있을 테고 앞으로도 그럴 거라는 신뢰가 생긴다. 좋은 개발자를 뽑고자 하는 조직의 의지라고 생각한다.


    위 항목들은 채용 사이트에 올라온 기업 리뷰를 참고하기도 하지만 면접관에게 직접 물어 확인하기도 한다. 이 외에도 회사 방문 시에 채용 담당자와 면접관들이 지원자를 존중해주는지 여부 면접관들의 개발에 대한 태도가 가치관 등을 보고 나름대로의 회사를 평가해본다.

    다른 항목들은 잘 모르겠는데 지원자를 존중해주지 않는 채용담당자와 면접관이 있는 회사라면 일단 믿고 거른다. 채용담당자와 면접관은 회사의 얼굴이다. 그 사람들의 모습이 곧 조직의 모습을 대변하고 있을 가능성이 크다. X팡 기술 면접에서 만났던 테이블에 드러누워있던 면접관, X플린에서 술 먹고 늦게 도착했던 채용담당자, 늦잠 자느라 면접에 못 들어왔던 면접관을 보면서 황당했던 기억이 난다. 이런 조직의 업무 분위기나 개발 문화가 좋을 거라는 기대감은 없다.


마무리

    이번 글에서는 대학원 졸업 후 취업을 준비했던 경험을 공유해봤다. 사람마다 가지고 있는 취업 노하우와 회사를 선택하는 고유의 기준이 있을 테니 유용하다고 생각되는 부분들만 뽑아서 참고했으면 한다. 신입 개발자를 준비했던 경험이긴 하지만 이직에도 도움이 되는 방법이라고 생각한다. 마지막으로 이 글이 취업을 준비하는 개발자들에게 도움이 됐으면 하고 좋은 기업에 잘 취업했으면 한다. 끝


추가+

신입인데 경력직 채용공고에 지원해도 되나요?

    본인의 경우에는 신입 신분임에도 자격요건에 '2 이내'가 있으면 지원을 했다. 전화면접이랑 사전과제 다 통과하고 현장면접도 두 차례 진행했다. 모 회사의 경우에는 전화면접까지 진행한 후에 신입 채용으로 전환해서 서류 전형을 생략해준 경우도 있었다. 일단 경력직 면접이 질문의 수준이나 난도가 높기 때문에 배울게 많다. 일단 시도해보는 걸 추천한다. 어차피 지원자가 적합하지 않다고 생각하면 회사에서 떨어뜨린다. 2년 이내 경력이라고 하면 실제로 대단한 경력도 아니다. 연차를 통해서 쌓는 경험이 중요하지만 가만히 앉아있어도 쌓이는  연차다. 숫자에 목매지 말고  연차가 의미하는 정도의 개발 역량을 갖고 있다면 도전해보자.


관련 글: 깃헙으로 구직하기(과제 편)

관련 글: 개발자의 경쟁력 있는 이직 전략​

이전 03화 대학원 입학은 좋은 선택이었을까?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari