비전공자 웹 개발자 취업까지

조성현·2022년 2월 24일
6

개발자가 되기로 결심 했던 이 글을 작성한지 약 1년 만에 원하는 회사에 가게 되었다. 연말에 채용과정이 겹치면서 회고를 적지 못했는데, 회고 + 후기 느낌으로 그 동안에 공부하고 고민했던 부분에 대해 정리하고자 한다. 혹시라도 취업 준비하는 분들에게 도움이 됐으면 하고, 저의 개인적인 생각인 부분도 있으니 감안하셨으면 한다.

🧙‍♂️ 학습 이전의 상태

졸업 후에 본격적으로 개발 공부를 시작하였는데, 프로그래밍이 완전 처음은 아니었다. 전공 수업에서 임베디드 컨트롤러, 머신 비젼 등 C언어를 2년정도 사용했고, 졸업 연구를 딥러닝 관련하여 하여 논문도 작성하고, 딥러닝, 머신러닝 관련 전공 수업도 들은 상태였다. 그런 수업을 들으며 "내가 코딩을 좋아하는구나"는 확신한 상태였다.

그렇지만, 알고리즘, 객체지향 등의 전산학 기초 개념은 전혀 모르는 상태였다. 또한, 이전의 경험들은 이력서에는 일절 적지 않았다. 웹 개발자로의 구직이었기 때문에, 웹과 관련없는 경험은 굳이 적지 않는게 좋다고 생각한다. 즉, 제로베이스에서도 코딩을 좋아한다는 확신만 있다면 도전해볼만 하다고 생각한다.

🧙‍♂️ 학습 과정

두 번의 부트캠프를 참여하면서 크게 성장할 수 있었다.

sw정글사관학교에서는 전산학(알고리즘,운영체제 등) 기초를 튼튼히 기를 수 있었고, 웹 서비스를 만드는 과정을 겪어볼 수 있었다. 그러나, 아직 내가 원하는 회사에 가기에는 부족하다고 판단하여, 두 번째 캠프인 부스트캠프에 참여하였다. 이곳에서는 자바스크립트, 객체지향 같은 실질적으로 웹개발자가 되기 위한 지식들을 배울 수 있었고, 특히 현업에 가까운 협업(Git, 코드리뷰)를 경험해 볼 수 있었다.

부트캠프를 선택한 이유는 압축된 시간동안 빠르게 성장할 수 있고, 무엇보다 함께 할 동료들을 만날 수 있다는 점이다. 개발자는 혼자 일하는 직업이 아니라는 것을 부트캠프를 통해 더 느낄 수 있었다.

🧙‍♂️ 채용 과정

기업마다 채용프로세스는 차이는 있지만 전형 마다 느꼈던 팁들을 적어본다.

서류 전형

상반기, 하반기 서류 합격률이 극명하게 달라서, 어떤 점들이 달랐는지 차이점을 비교해보았다.

관련된 경험 위주로 적기

상반기에는 이것 저것 해온 것들이 아까워서 모두 이력서에 적었었는데, 지원하는 포지션에 관련없는 내용들은 서류에서 걸러지는 트리거가 되기도 한다. 지원한 포지션에 관련된 내용이 적더라도 상관없다. 어차피 면접 때 다 물어보지도 못한다. 예를 들면, 프론트엔드 포지션에 머신러닝으로 임베디드 로봇을 제어한 경험을 쓰는 그런 것 보다는, 자신만의 상태관리 라이브러리를 만들고 오픈 소스로 배포한 사람이 훨씬 눈에 띈다.

만약 도메인에 관련된 문제를 해결한 적이 있다면 그런 내용을 적는다면 합격률을 높일 수 있다. 어떤 문제를 만났고 어떻게 해결하려 했는지 자세히 적어 놓으면 도움이 된다.

프로젝트에서 트러블 슈팅해보기

앞에서 말한 것처럼, 나는 이력서나 자소서에 프로젝트를 하면서 어떤 문제를 겪었고 어떻게 해결했는지 적었는데, 그러기 위해서는 꽤나 의미있는 프로젝트를 해보는게 필요하다. (갯수는 상관없다) 유튜브를 보고 클론코딩하거나 todo app 같은 양산형(?) 프로젝트는 차라리 안적는게 좋지 않나.

어떤 기술적인 도전을 해야하는지 어려울 수도 있다. 큰 it기업들 대부분 온라인 컨퍼런스를 여는데, 연사분들이 자신의 트러블슈팅 경험을 얘기해주시거나 최신 기술들을 소개해주신다. 그런 영상 등을 잘 보면 기술적 도전에 대한 힌트를 얻을 수 있다.

코딩 테스트 전형

코딩 테스트 역시 기업마다, 전형마다 레벨도 다르고 유형 심지어 사용하는 언어 제한까지 다르니 안전하게 뚫으려면 준비를 해야한다. 팁이 없다..

sw정글사관학교에서 한달동안 알고리즘만 풀면서 웬만한 유형, bfs,dp,이분탐색 등은 거의 배웠던 것 같다. 나는 파이썬으로 풀기 시작해서(파이썬이 라이브러리가 쓸 수 있는 게 많다) 나중에는 자바스크립트로 연습을 했다. 백준은 250문제 정도 풀어서 거의 플레티넘을 달았고, 프로그래머스 연습문제는 거의 다 풀었다. 이렇게 푸니 웬만한 코테는 뚫을 수 있었는데, '카카오 공채' 같은 코테까지 안전하게 뚫으려면 좀 더 심화 레벨까지 공부해야겠다는 생각은 든다.

출제 유형은 다양한데, 보통 알고리즘 문제가 나오고, 때로는 전산학 퀴즈가 나올때도 있다. 프론트엔드 포지션의 경우, 웹 Dom트리를 다루는 문제나 html문제도 나왔었다.

코테가 나름 기본적인 필터링 정도라고 생각해서, 내가 못푸는 문제는 남들도 못푼다고 생각하고 풀 수 있는 문제에 집중하는 게 팁이다.

과제 전형

과제를 내어줄 때도 있는데, 보통 간단한 페이지 구현을 요구한다. 아마 기본적인 구현력이나 코딩 스타일 정도를 보시는 것 같다. 그래도 눈에 띌 수 있도록 팁을 적자면 협업 능력을 보여줄 수 있게 신경을 썼다.

코드 퀄리티 신경쓰기

간단한 과제지만, eslint, prettier 등을 사용해 코딩 컨벤션을 지키고, 폴더 구조도 다른 사람이 쉽게 만들어 놓아서 협업 능력을 보여줬다.

리드미 잘 꾸미기

리드미에 폴더구조나, 코드 실행 방법 등을 잘 적어 놨고, 특별히 신경쓴 부분이나, 아쉬웠던 점을 정리했다.

테스트 코드 작성하기

모든 테스트 코드를 작성하지 않더라도 일부라도 테스트 코드를 작성했다. 당시에는 공부할 겸 작성했는데, 배운 점도 많았다.

면접 전형

내가 면접을 주도하는 방법

보통 면접관님들도 개발자들이시고 들어오시면서 잠깐 이력서나, 자소서 훑으신다. 이런 상황에서 내가 원하는 질문을 해주실 때까지 기다릴 필요는 없다.

내가 질문 받고 싶은 부분을 언급하는 자기소개를 준비하도록 하자. 예를 들어, '저는 00 프로젝트를 진행하였는데, 여기서 저의 역할은 00를 사용해 00 하는 것이었습니다. 또한, 00를 담당해 00도 하였습니다.' 라고 했다면 00에 대해서 기억하셨다가 질문을 주실 확률이 매우 높다.

또한, 내가 질문받고 싶은 프로젝트는 A이고, 좋아했던 프로젝트는 B인 상황에서. 면접관님이 '성현님 가장 재밌었던 프로젝트는 어떤 프로젝트'라고 첫 질문을 했을 때, 당연히 A를 대답해야한다. 내가 처음 언급한 프로젝트로 면접이 흘러갈 확률이 매우 높다.

복기는 필수

면접은 보면 볼 수록 실력이 늘었던 것 같다. 면접은 복기해서 대답이 부족했던 부분을 완벽하게 대답을 준비했다. 다른 면접에 비슷한 질문이 나오면 완벽한 대답으로 면접관님들을 감동시켰다.

간결하게 대답하는 연습

내가 복기하면서 고치고자 했던 것 중에 하나가, 질문에만 대답하지 않고 주저리주저리 하는 경향이 있었다. 주어진 질문에만 대답하는 연습을 하자. 간결하게 대답해도 더 궁금하다면 더 여쭤 보신다. 면접보다는 대화하는 느낌으로 대답하려고 노력했다.

1차 면접

보통 면접은 1,2차 두 번 보는데, 1차 면접은 보통 기술 면접을 보고 이력서, 자소서에 있는 내용을 검증한다. 이력서에서 자소서에 적은 내용만큼은 정말 철저히 준비했다. 특히, 적은 프로젝트마다 트러블슈팅한 부분이 있는지는 꼭 생각해놓자.

CS나 프론트엔드 관련 면접 질문들은 깃헙에 면접 질문 모음집들을 읽어보고, 우테코 테코톡를 보았다. 테코톡에 여러 고수들의 설명을 듣고 따라해보는 것을 강추한다.

2차 면접

2차 면접은 더 심화된 기술 면접이거나 인성 면접과 섞일 수도 있다. 인성 면접은 딱히 준비를 하지는 않았는데, 기본적으로 개발자로서의 태도 정도를 보시려고 물어보시는 것 같았다. 신인답게 개발에 대한 열정과 성장욕구를 많이 보여드리려고 했다.

🧙‍♂️ 도움의 손길

채용 과정은 고통스럽지만 횟수가 거듭할 수록 익숙해지고 여유가 생기는 것 같다. 떨어진다고 해도 내 부족한점을 찾고 성장의 발판으로 삼으려했던게 도움이 되었다.

약 1년 동안 정말 열심히 공부했는데, 지인이나 동료분들 같이 주변에 조언을 해주시는 분들이 있어서 지름길로 달려올 수 있었다고 생각한다. 물론 그 길을 달리는 건 온전히 본인의 몫이지만, 혹시라도 궁금하거나 도움이 필요한 분이 연락을 주신다면 기꺼이 도와드리고 싶다.

profile
Jazzing👨‍💻

1개의 댓글

comment-user-thumbnail
2022년 5월 10일

안녕하십니까 정글 4기 과정을 진행중이고 프론트엔드 직군을 희망하는 이동규입니다.
우연히 malloc과 관련된 문서를 보다가 '비전공자 웹 개발자 취업까지'라는 글을 읽고 실례를 무릅쓰고 연락을 드리게 되었습니다. 알고리즘 주차를 지나고 현재 malloc 기능 구현을 진행중에 있는데, 나만의 무기 기간이 다가오고 나만의 무기 후는 곧 취업 시장에 던져져야 한다는 것을 알고 있어 점점 불안함과 방향성에 대해 고민을 하고 있습니다. 정글과정을 통해 CS에 대한지식과 수 많은 배울점들이 있찌만 프론트엔드 개발자를 희망하는 상황에서 어떤식으로 추가적으로 학습을 해야한다거나 방향성을 잡아야할지, 이전 기수 선배님 중 프론트엔드 직무로 성공적인 취업까지 하셔서 연락드리게 되었습니다.
저는 컴퓨터 공학을 전공하였지만, 기획자로 진로를 준비하다 다시 개발자의 길을 걷기 위해 정글에 입소 하게 되었습니다. 학부시절 2년간 창업 경험을 했지만, 개발업무 보다는 기획과 개발외적 업무를 도맡아 했습니다. 대략적인 약소한 저의 배경에 대해서도 말씀을 드려야 좀더 현실적인 조언을 들을 수 있을것 같아서 부끄럽지만 적게 되었습니다.
명확한 질문을 아직 생각하지 못한상황에서 메일을 드리게 되었지만, 혹시 해주시고 싶은 말씀이나, 아니면 추후에 제가 연락을 통해서 정글 선배님이자 프론트엔드 개발자의 선배님께 소중한 말씀을 전해듣고 싶어 연락을 드리게 되었습니다. 블로그를 통해서 소중한 지식과 정보를 나누어 주셔서 감사합니다. 좋은하루 보내시길 바랍니다.

답글 달기