글에 들어가기 앞서.
저는 현재 3년차 웹 프론트엔드 개발자입니다. 2023년은 제가 잘다니던 회사를 그만두고 개인의 자아실현과 안정된 직장을 얻기위해서 고군분투한 해였습니다. 처음에는 과도한 자신감으로 인하여,프론트엔드개발자취업팁클리앙 면접과 이력서를 제대로 준비하지 않아 지원율 대비 합격률이 매우 낮았습니다. 그러나 면접과 이력서 및 코딩테스트도 갈수록 진화하여 잘 업데이트 되었고 합격률도 높아졌습니다. 능력있으시고 좋은 인성을 가지고 이직을 희망하시는 개발자분들 혹은 지망생분들에게 작은 도움이 되고자 이글을 작성합니다.
현재 구직 시장 상태
2020년 팬데믹으로 인하여, 모든것이 온라인화 자동화되며 투자상황도 매우 좋았기에 스타트업수가 폭증하고 이로인하여 개발자들의 몸값과 수요가 폭증하였고, 덩달아 한국에도 질좋은 부트캠프와 온라인강의 플랫폼들이 증가하면서 개발자들의 수도 증가하였습니다. 그런데 2022년 이후 한국의 경제상황이 급격하게 안좋아지자 투자와 소비가 매우 하락하면서, 작고 자금력이 부족한 회사들이 폐업의 수순을 많이 밟게 되었습니다. 이로인하여, 기업들은 인력을 감축하거나 신규사업확장을 통한 신규 인력을 더이상 충원하지 않는 상태가 되었습니다.
위에서 매우 암울하게 말씀드렸지만 팬데믹때와 비교해서 “어서옵쇼” 하는 분위기는 아니지만 여전히 많은 기업들이 존재하고 서울이나 경기권에 이력서를 1주일에 10개씩 낼정도로 회사는 많습니다.
보통 경력같은 신입, 3년차 이상을 원한다.
당연하게도 회사에서는 높은 연봉을 받고 있는 개발직 직원이 기존 팀의 속도를 따라가지 못하는 것을 원하지 않을 것입니다. 그렇기에 기존 팀들이 사용하고 있는 툴을 사용하거나 사용해보지 않더라도 빠르게 학습하여 합류할 수 있는 사람을 원할 것입니다. 특히 애자일을 엄청 강조하는 현재 분위기에서는 진득하게 이전 코드 분석할 시간조차 없다고 생각이듭니다. 그렇기에 당장에라도 기능을 만들 수 있는 신입을 뽑거나, 보통 신규 프로젝트 세팅부터 배포까지 겪어봤을 3년차 이상이 현재 시장에서 매우 인기입니다.
아래는 제가 채용공고를 보았을때 보통 경력직에게 희망하는 기술 스택입니다.
- typescript
- webpack과 같은 번들러 설정
- eslint, prettier 설정
- react 혹은 vue와 같은 UI 라이브러리 혹은 프레임워크
- next.js 혹은 nuxt와 같은 ssr을 지원하는 프레임워크
- 피그마나 제플린등의 디자인 시스템을 통한 협업 기술
- scss
- (styled in js 과 emotion) 혹은 (tailwind)
- jest를 이용한 테스트
- aws를 이용하여 배포 및 cicd 구축.
react가 현재는 최고다.
저는 이전 직장에서 기존에 주로 사용하던 react를 대신하여 svelte
라는 프레임워크를 사용하였습니다. 기존에 사용하던 react
에 비해서 개발속도 측면이나 성능면에서 이점이 존재하였습니다. (이로 인하여 외국에서도 크게 인기있는 프레임워크입니다.)
제가 이직을 결심하게된 2022년부터 채용공고를 지속적으로 관심있게 본 결과 svelte
를 사용하고 있는 회사는 거의 존재하지 않았으며, “angular”, “vue”를 활용하는 회사는 그 다음으로 적었습니다. 압도적으로 많은 회사들이 “react”를 주로 사용하는 개발자들을 희망하였고 채용공고에 “angular 혹은 vue등을 이용한 경험이 있는 자”가 기재되어 있더라도 “react”를 주로 사용하던 개발자에게 먼저 관심이 가는 것 같았습니다.
현재 “react”를 주로 사용되고 있는 기업에서 주로 사용하는 라이브러리들은 다음과 같았습니다.
- react-query
- redux-toolkit 혹은 zustand 혹은 recoil
- next.js
- tailwind or emotion
면접때 보통 svelte
를 현재는 사용하지 않는 이유가 무엇인가요? 라고 질문이 들어오는데, 그때 “다음 직장을 구할 수 없어서요.”라고 대답해주면 10이면 10 격하게 공감하면서 분위기 전환이 됩니다.
회사 선택
대기업은 보통자사페이지에 채용일정을 업로드하기도 하지만 채용공고사이트를 이용하는 경우도 많습니다. 특정 기업에 목표가 없으시고 넓은 선택지를 원하시면 다양한 채용공고사이트를 이용하시면 좋습니다. 채용공고 사이트는 “잡플래닛” , “원티드”, “프로그래머스”, “로켓펀치”, “그룹바이”를 추천드립니다. 각 채용공고사이트마다 취업이 확정되고 일정기간후에는 “취업 축하금”이라는 명목으로 현금을 제공하는 곳들이 있으니 잘 활용하시면 도움이 많이 됩니다.
회사 선택 Tip
- 채용시 코딩과제를 실시하는 회사도 많습니다. 그러니 코딩과제를 제출해야하는 회사에 많이 지원하면 1주일이 매우 힘들어집니다. 코딩과제가 명시되어 있는 회사에서 떨어지면 그때 코딩과제를 주는 다른 회사에 지원서를 넣으세요.
- 코딩과제 제출회사 1, 온라인 코딩테스트 회사 1, 면접 후 진행하는 회사 3의 지원상태를 유지하시면 일정에 쫒기지 않으셔도 됩니다.
- 굉장히 마음에 드는 회사를 발견시에는 꼭 이력서와 추후 일정에 대한 준비를 철저히하세요. 불합격이후 다시 지원할 수 없는 경우가 많습니다.
- 보통 동일한 공고가 여러사이트에 올라오는 경우가 있습니다. 만약 재도전을 희망하신다면 조금 더 준비를 하여 다른 채용공고사이트를 통해 지원하세요.
- 강남 > 강남 제외 서울 전역 > 성남,판교 > 성남 판교를 제외한 경기도 순으로 채용공고가 많습니다.
- 블라인드나 잡플래닛 기업리뷰는 회사를 판단하는데 도움이 될 수 있으나 맹신하면 안됩니다.
서류합격 - 이력서
제가 이력서를 검토할때 보면 가끔 자신의 유년시절부터 현재까지 살아온 배경과 특정 프로젝트의 모든 기능 및 라이브러리 선택 이유와 같은 것들을 엄청 길게 작성하신 분들이 있습니다. 죄송하지만 그런 이력서는 모두 꼼꼼히 읽어보기 매우 어렵습니다. 인사담당자들은 채용공고를 올려놓으면 이력서도 많이 들어오고 현업도 같이 검토해야하기 때문에 이력서를 정말빠르게 읽습니다. 그렇기에 이력서를 잘 쓰는 방법은 “수식어를 사용하지 않고 길게 적지 않으며 실행한 업무에서 성과만 돋보이게 하는 것”입니다. 이를 위해 chat-gpt와 함께
이력서를 지속적으로 검토하고 수정하면 편리합니다.
서류합격 Tip
- 이력서를 현 직장에서도 꾸준히 업데이트하여, 나중에 성과가 누락되는 일이 없게하자.
- 포트폴리오는 지루한 이력서를 대신하여, 시각화된 자료를 토대로 지원자의 지난 프로젝트를 확인할 수 있다.
- 포트폴리오는 개인이 운영하는 사이트가 존재하지 않는다면 노션을 사용하는 것이 가장 편리하다.
- 개인블로그가 있다면 가산점 대상이다.
- 오픈소스 기여는 가산점 대상이다.
- 자기소개서는 간단하게 작성하는 것이 좋다.
- 성적에 자신있다면 자신감있게 성적증명서를 업로드해도 된다.
- 이력서는 필히 다른사람에게 검토를 받는것이 좋다.
- 회사마다 이력서를 다르게 쓸 필요는 없다. 기본 이력서를 잘 구비해놓자.
코딩과제
코딩과제는 지원자의 기능 구현여부와 평소 코딩스타일등을 파악하는 수단입니다. 요구사항문서를 주고 요구사항을 만족시에 깃헙에 푸시하고 버셀과 같은 무료호스팅 업체에 배포하기도 합니다. 요구사항 필수과제는 모두 해결하고 가산점 대상이 존재하면 모두 해결하셔야합니다. 만약 가산점대상이 적시되어 있지 않더라도 “테스트, 문서화, 깃 훅, 컨벤션 유지, 브런치전략 등”좋다는 것을 모두 적용해야 합니다.
코딩과제 Tip
- 관심사를 분리하여, 컴포넌트를 분리하는것이 좋다.
- 테스트는 유도리 있게 중요한 모듈에 대해서만 적용하자.
- lint는 안하더라도 prettier 정도는 설정하자.
- 기존 프로젝트 세팅이 있고 프로젝트 컨벤션이 있는 곳에서 시작한다면 이를 유지하면서 진행하자.
- 디버깅 요소는 제출전에 꾝 제거하자.
- 타입스크립트는 현재 기본이다.
- API 호출이 몇개 없더라도 react-query를 적용해주자.
- context만 써도 전역상태를 적용할 수 있더라도 다른 전역상태관리 라이브러리를 적용해주자.
- 구현해야하는 UI의 스타일은 최소한으로 만 이쁘게 해주거나 UI라이브러리를 활용할 수 있으면 적용하자.
- 만약 아쉬움이 없는데 코딩과제에서 떨어졌다면 오히려 나와 맞지 않는 회사일 가능성도 높다. 그래도 차후에 도움이 될 수 있으니 피드백을 달라고 메일을 보내보자.
코딩 테스트
코딩테스트는 면접시 진행 할 수도 있고, 온라인으로 제출해야 할 수 있습니다. 면접시 진행하는 경우 30분 이내의 시간이 보통 주어지고 온라인으로 진행시 1문제당 30분에서 1시간의 시간을 제공합니다. 코딩과제를 하는 순간에는 매우 높은 집중력이 요구되고 긴장으로부터 벗어나야하기 때문에 미리 화장실을 다녀오고 따뜻한 커피나 차를 준비해서 불편한 상황을 대비해야합니다.
코딩 테스트 Tip
- 코딩 테스트는 평소에 준비하는 것이 좋다.
- "프로그래머스"나 "백준”과 같이 무료로 문제를 풀어 볼 수 있는 곳이 있기에 이를 활용하여 미리 대비하자.
- 온라인으로 제출해야한다면 시작전에 미리 간단한 문제를 풀어 뇌를 활성화 하자.
- 따뜻한 음료는 마음이 진정되는데 매우 도움이된다.
- 미리 OS업데이트 상황을 확인하여 테스트 도중에 컴퓨터가 종료되는 일은 없도록하자.
- 라이브로 진행되고 도움을 받을 수 있다면 이를 활용하자. 집착보다 해결이 우선이다.
- 엣지 케이스가 존재할 수 있으니 제한상황을 확인하거나 물어보자.
- 라이브로 페어프로그래밍을 시도하는 경우, 주어진 시간을 확인하고 업무를 축소하도록 하자.
대면 면접 - 기술면접
첫 면접은 같이 일할 동료와 팀장급과의 면접일 확률이 높습니다. 이때는 보통 자기소개서와 이력서를 기반해서 업무에 관련한 대화가 많이 오고갑니다. 예를 들어 “svelte를 사용하셨던데 react와 비교해서 어떤가요?”와 “전직장에서 프로젝트 관리는 어떻게 했나요?” 같은 질문들이 있습니다.
기술 면접은 지원자와 면접관 모두 서로 같이 일할 사람들의 능력과 인성을 대략적으로 판단 할 수 있는 과정입니다. 그렇기에 상호간의 능력, 회사의 업무 방식 및 강도, 상호간의 인성등을 유추하는 것이 중요합니다. 가끔 면접자가 너무 긴장하는 경우가 있는데, 이때는 가볍게 음료를 섭취하거나 현재 긴장을 너무 했다고 솔직히 말씀드려 아이스브레이킹을 시도하는 것이 좋습니다.
동료 면접 Tip
- 가끔 모르는 라이브러리를 물어보거나 비교하는 경우가 존재하는데, 모르는데 아는 척하면 안됩니다. 몰라도 되며, 솔직하게 말씀하시고 관심을 표하세요.
- 미리 따뜻한 차를 준비하세요. 긴장완화에 도움이 됩니다.
- 면접 시작전과 이후에 사무실과 장비를 눈으로 확인하세요. 좋은 환경에서 근무할수록 좋습니다.
- 프로젝트 관리에 대해서 물어보세요. 스프린트 단위는 몇일인지 한 스프린트에 실행할 수 있는 최대 스토리 포인트는 몇점인지. 업무 강도에 대해 유추 할 수 있습니다.
- 너무 공격적으로 질문한다고 느낀다면 회사생활동안 면접관으로 인해 피곤할수도 있습니다.
- 현재 개발팀에서 겪고 있는 문제점을 질문해보세요. 이를 통해 내가 맡을 업무와 프로젝트의 문제점을 판단 할 수 있습니다.
- 사용하지 않았던 라이브러리를 회사가 사용한다면 어떤 장단점이 있었는지 물어보세요. 동료의 전문성과 개선의 의지가 있는지 알 수 있어요.
- 개발팀의 규모를 물어보세요. 현재 내가 지원한 직군에 아무도 존재하지 않는다면 업무를 나눌 동료가 없다는 의미입니다.
- 해결하기 어려운 문제를 받았을때 시간을 쏟더라도 해결하는 것은 정말 중요한 것이 아니라면 회사 입장에서는 도움이 되지 않습니다. 그러니 이전 담당자와 연락을 하는 한이 있더라도 시간을 단축하거나 아는 버그로 두는 것이 포인트입니다.
- 테스트나 리팩토링은 회사입장에서 매출에 도움이 되지 않습니다. 그러니 이와같은 질문을 받았을 때는 매출과 유지보수 측면을 적절히 조합해서 말씀드리는 것이 좋습니다.
대면 면접 - 컬쳐핏
컬쳐핏은 보통 1차면접 이후에 이루어집니다. 이 면접은 지원자가 회사의 비전과 공감할 수 있고 동료와의 관계 및 인성을 대략적으로 판단하기 위한 면접입니다. 이 면접을 통과하기 위해서는 정말 이상한 대답만 안하고 올바른 면접자의 자세로 임하시면 보통 통과됩니다.
컬쳐핏 면접 Tip
- 어떤 상황이 주어졌을때 본인은 어떻게 하겠냐는 질문이 주를 이룹니다. 이 때 소신껏 자신이 할 수 있는 행동에대해서 말씀하세요.
- 면접관의 질문을 통해 회사가 제공하는 워라벨을 파악할 수 있습니다.
- 복지나 연차사용에대해서 물어볼 수 있는 기회입니다.
- 회사가 개발직원들의 지식적욕구를 해결 하고 관리를 어떻게 하는지 물어보세요. 회사가 가진 개발직원들에 대한 관심도와 관리적 능력을 판단 할 수 있습니다.
대면 면접 - 임원
임원 면접은 컬쳐핏 면접이 생략되고 임원 면접으로 이어질 수 있습니다. 임원 면접은 보통 CTO와 단독으로 이루어 지는데, CTO성향에 따라 CS
와 관련한 문제를 낼 수 있고 최근 발생한 이슈에 대하여 생각을 물어보는 경우도 있었습니다. 대답하기 어려운 경우 CTO와 함께 문제를 해결하는 형태로 대답을 이끌어내는 것이 좋습니다.
임원 면접 Tip
- 어려운 질문을 받았을 때 CTO와 함께 문답을 통해 답을 유추하는 것이 좋다.
- 가끔 인터넷 검색을 통해 CTO에 대한 정보를 습득 할 수 있으니 미리 확인해보자.
- 임원 면접의 난이도에 따라 회사의 워라벨을 유추 할 수 있다.
- 미리 따뜻한 음료를 챙겨가 긴장을 완화하자.
레퍼런스 체크
레퍼런스 체크는 경력직 지원자의 이력이 거짓인지 참인지 판단하고 평소 회사생활에 대해서 제3자를 통해 솔직한 의견을 들을 수 있는 방법입니다. 레퍼런스 체크는 회사 인사팀에 직접 전화를 걸거나 미리 동료를 지정하여 연락을 할 수 있다. 이는 지원자가 어떻게 할 방법이 없으며 평소 인간관계를 잘 쌓아놓는 수 밖에 없다.
레퍼런스 체크 Tip
- 평소 나와 좋은 관계를 유지하는 사람에게 미리 부탁을 하자. 대충 지정했다가는 누군가 나에 대해 안 좋은 말을 할 수 있다.
- 레퍼런스 체크까지 하는 기업은 회사생활이 매우 피곤한 경우가 종종 있다.
- 레퍼런스 체크가 끝났다면 지정된 동료들에게 감사인사나 작은 선물이라도 하자.
- 퇴직 혹은 이직 사유, 팀원과의 협업, 평소 인간관계 및 업무에 대해서 물어본다.
연봉 협상
연봉협상은 모든 과정이 마무리되고 발생됩니다. 희망 연봉은 면접일정 시작전 혹은 최종 면접이후에 말씀드리며 이전 연봉과 연계되어 계산됩니다.
연봉 협상 Tip
- 더 높은 연봉을 얻으려고 이전 연봉을 속이지 말자. 나중에 큰 화로 돌아 올 수 있다. 대신 올림정도는 할 수 있다.
- 이전 연봉이 낮더라도 내 능력에 의해 연봉이 재정의 될 수 있으니, 내가 가진 스킬들과 능력을 토대로 희망연봉을 말하자.
- 터무니 없는 연봉을 제시하면 정중히 거절하자. 나는 그정도의 인간이 아니다.
- 실제 희망연봉보다 살짝 높게 부른다. 금액이 절충되어 내가 원하는 연봉으로 협상될 수 있고, 바로 받아들여지는 경우 나한테 좋다.