brunch

You can make anything
by writing

C.S.Lewis

by 오터 Jul 29. 2023

비전공자 개발자의 커리어 전환기

안녕하세요.

저는 마침내 비전공자로 프런트엔드 개발자로 이직을 하게 되었습니다. 정확히는 3월에 이직을 성공해서 지금은 이직한 회사를 다니고 있는데요. 전공을 하지 않아서 이직이나 취업을 할 때 불안해하실 분들을 위해, 취업이나 이직을 준비할 때 이런 걸 미리 준비하면 좋겠구나, 혹은 이런 케이스도 있구나 하고 용기를 얻길 희망해서 이직 기를 써봅니다.




개발을 시작하게 된 계기

제가 개발을 시작하게 된 계기는, 3번의 창업을 실패경험 때문이었는데요. 창업을 망했으니까 "취업은 해야겠는데, 개발이 좋다더라" 이런 이유는 아니었고요. 마지막 창업이 프랜차이즈였는데, 영업 사원에게 이 자리에 창업하면 월 5,000만 원은 나와요 ~라는 말에 혹해서 시작하게 되었고, 결국은 월매출 1,300만 원으로 폐업을 하게 되었습니다. 나중에 알고 보니 공정거래 위원회에 가맹거래정보가 모두 나와 있었는데, 알고 보니 해당 프랜차이즈는 경기도에서 평균 매출이 1700만 원인 거예요. 다른 경기도 프랜차이즈 점포보다 더 크게 창업을 했는데, 매출은 더 안 나온 케이스였는데, 그때 가장 화가 났던 건 영업 사원의 말을 그대로 믿은 제 자신에게 화가 났습니다. 이런 정보를 미리 알았더라면, 그렇게 순진하게 그런 말을 믿진 않았을 텐데 라는 생각과 함께, 이런 정보를 예비 창업자들이 미리 알 수 있으면 참 좋을 텐데 라는 마음으로 정보 공시 서비스를 만들어보고 싶어서 개발 공부를 시작했습니다. 


결국 10개월 만에 서비스를 런칭까지 하게 되었는데, 혼자서 할 수 있는 건 한계가 명확하구나를 느끼고 첫 번째 창업을 할 때 알게 된 대표님 회사에 C레벨로 들어가게 되었습니다. 당연히 CTO는 아니었고요 :) CSO(전략기획이사)로 들어가게 되었는데, 사실 작은 회사라 그런지 그런 게 큰 의미가 있진 않다고 생각합니다. 




이직을 준비할 때까지 얻은 경험

그렇게 2년 반정도를 그 회사에 있으면서 판매, 물류, 배송, 포장, 창고정리까지 안 해본 일이 없을 정도로 이런저런 일을 했어요. 흔히 많이들 오해하는 것 중 하나는, 스타트업일수록, 작은 회사일수록 우리가 하고 싶은 일을 하는 줄 알지만, 그 반대로 해야 할 일을 하는 경우가 많았습니다. 작은 회사에서는 리소스가 그만큼 한정되어 있기 때문인데, 결국에는 많은 일을 직접 했습니다. 경험은 많이 했지만, 개발을 놓고 싶지 않았기 때문에 일 끝나고 혼자서라도 독학을 했었습니다. 노마드코더(니꼬쌤) 강의를 5개 정도 들었는데, 그중 2개는 유료강의를 들으면서 리액트, graphQL, prisma에 대해 배웠습니다. 그러던 중, 다니던 회사에서 회의를 통해 설문조사 기반 온라인 서비스를 만들어보잔 의견이 나왔습니다. 그동안 배운 react로 해당 서비스를 1년 반정도를 개발해서 결국 런칭에 성공했습니다. 이 기간만큼은 개발에 완벽하게 집중할 수 있는 시간이었습니다. 배송, 포장, 물류가 어느 정도는 안정되어 있어서 하루종일 개발에 투자할 수 있는 시간이 있었습니다. 결국, 백엔드와 프런트를 다 혼자서 만들었습니다. 




본격 이직 준비

시간이 어느 정도 지나다 보니 회사의 지향점과, 제 지향점이 달라졌습니다. 결국엔 퇴사를 결심하게 되었는데, 반쯤 걸친 개발자가 아니라 정말 개발자가 되고 싶어서 IT기업에 지원을 하기 위해 제가 지금까지 쌓아온 것을 정리할 때가 되었습니다.


그 당시 제 상황을 정리해 보자면, 

리액트 + express + graphQL + styled component를 사용해서 서비스를 런칭한 경험이 있었습니다. 다만, 왜 리액트인가? 왜 graphQL인가? 왜 express를 사용했지? 등에 대한 질문에 아무것도 답을 할 수 없었습니다. 사실 그 기술들을 선택한 것은, 클론 코딩 강의에서 저 기술들을 활용해서 강의를 했고, 그걸 이용했을 뿐이니까요. 그럼에도 불구하고, 이유를 뒤늦게라도 붙여서 그럴듯한 이유들을 만들었고, 여러 기업에 이력서를 처음으로 제출해 봤습니다.


사실 제가 이직 준비를 시작했을 땐, 지금까지 쌓아온 경험으로 빅태크(당근마켓이나 토스)를 들어갈 수 있을 줄 알았습니다. 서비스 런칭 경험도 있었고, 백엔드, 프런트엔드, PM, 창업 경험까지 모두 갖고 있다고 "생각" 했었으니까요. 하지만, 꼭 빅테크 기업이 아니더라도 처음 들어본 기업까지 모두 탈락했습니다. 40개의 기업에 넣었는데 면접까지 간 회사는 2개 정도였고, 결국 면접에서 모두 탈락하고 큰 절망에 빠지고 말았습니다. 한 번은 포트폴리오 리뷰를 받았는데, 3명 중 3명의 의견이 경험이 많은 만큼 기술적으로 공부를 하거나 접근할 시간이 부족했을 것이라는 말이 꽤 절망적으로 느껴지기도 했습니다. 결국 개발자는 엔지니어로 기술력이 얼마나 뛰어난가 가 본질이 될 수 있으니까요. 이때 받은 리뷰 중 나중에 크게 도움 된 피드백은 기술 블로그를 꼭 운영하라는 피드백이었습니다.


수많은 서류 탈락을 경험하면서 느낀 가장 큰 교훈은 회사에서 요구하는 역량에 집중해야 한다는 사실이었습니다. 이때까진, 내가 뭘 했나에 대해 나열했었다면, 여러 회사의 JD(Job description)을 펼쳐놓고, 공통적으로 요구하는 역량(기술)이 무엇인지에 대해 고민해 봤습니다.


제가 찾은 키워드들은 Design system, test code, CI/CD였는데, 제 이력서에는 당연하게도 저런 기술들이 한 개도 없었습니다. 사실 이력서라는 게 제가 아무리 이력서를 잘 써도, 갖고 있는 재료가 별로면 이력서 자체가 별로가 돼버리기 때문에 "재료에 질을 높이자"라는 목표를 갖고 한 달 반은 디자인 시스템을, 한 달 반은 test code에 대해 공부했습니다. 그래서 약 3개월간 직접 디자인 시스템도 설계해 보고, 피그마로 만들어보면서 디자인 시스템과 테스트 코드에 대해 공부를 했습니다. storybook에서 테스트 코드와 디자인 시스템을 모두 적용해 볼 수 있었기에, 해당 스택을 공부하고 배포해서 포트폴리오에 링크를 첨부했습니다.


해서 공부한 내용을 채용 담당자가 직접 볼 수 있게 이력서에 링크를 걸어놓으며 정말 열심히 준비했고, 그 이후에 이력서를 넣은 곳에 선 30개 중 12개에서 서류를 합격할 수 있었습니다. 그중 1곳에서 최종 합격을 받고 지금 회사를 잘 다니고 있습니다. 회사의 규모는 빅테크 까진 아니어도, MAU도 500만이 넘고 매출도 괜찮게 나오고 있는 IT기업입니다.




느낀 점

취업에 성공을 하는 것은 엄청난 운도 따라줘야 한다고 생각합니다. 면접이 긴 곳도 있고, 짧은 곳도 있지만, 그 시간 안에 나라는 사람을 전부 보여주는 것은 불가능에 가까우니까요. 저는 정말 다행히 운이 따라줘서 개발자로서의 커리어를 시작할 수 있었는데요. 나중에 대표님에게 저를 왜 뽑았는지 물어봤는데, 백엔드와 프런트뿐 아니라 정말 많은 경험을 한 것을 높게 봤다고 해주셨습니다. 


그렇다면 다 해보고 경험이 많은 게 좋은 거 아닌가요?


라고  말하실 수도 있겠지만, 저는 선택과 집중을 하는 게, 더 많은 회사와 핏을 맞출 수 있는 길이라고 생각합니다. 제 경험상 이런저런 경험을 다 해본 사람을 좋아하는 회사는 100개 중 1개고, 기술적으로 좋은 생각을 갖고 있는 사람을 좋아하는 회사는 100개 중 30개 이상이니까요.  




이직 후

벌써 개발자로 커리어를 전환한 지 4달이 됐습니다. 저는 앞서 언급했듯이 협업에 경험이 없고, 거의 개발을 혼자 배워서 혼자 서비스를 제작했었는데요. 들어와서 느낀 점도 공유하면 좋을 것 같아서 공유를 해보려 합니다.


1. git 협업

저처럼 혼자 개발을 하신 분들은 꼭 협업을 해보세요. 사이드 프로젝트나 동아리 이런 게 꽤 있기 때문에 협업을 할 수 있는 환경은 충분히 만드실 수 있을 거예요. 제가 생각했을 때 특히 해보면 좋은 것은 적어도 git을 통해 pull, push, merge, rebase와, git flow 전략을 어떻게 가져갈지? 등은 꼭 해보시는 것을 추천드려요. 


2. Http 공부

저는 프런트엔드 개발자로 일을 하고 있습니다. 이전까지 개발을 graphQL로 했는데, REST API와 graphQL을 제대로 비교하고 그래도 graphQL을 쓴 게 아니라 그냥 클론 코딩을 보고 따라 썼습니다. 인터넷 네트워크가 어떻게 구성이 되어 있는지, 흐름이 어떤지, method엔 무슨 종류가 있는지, 400번 오류와 500번 오류의 차이가 뭔지 등에 대해 이해가 없다 보니, postman으로 오류 코드를 받았을 때 서버에러 인지 클라이언트 에러인지도 구분을 못하고 있는 제 모습이 한심하더라고요.. 면접 때 기본에 대해 물어보는 이유를 실제로 와서 알게 되었습니다. 


3. Rendering

프런트엔드 개발자다 보니, 렌더링 시점을 명확하게 이해하지 않으면 코드를 한 번씩 터트리더군요. 면접 대답을 하기 위해 외웠던 브라우저 랜더링 순서가 어떻게 되나요? 리액트 마운트 과정을 설명해 주세요 같은 질문들은 그냥 면접자를 힘들게 하기 위해 하는 질문이 아니라 정말 꽤 중요하기 때문에 물어보는 것입니다. 면접을 위해 달달 외우는 게 아니라 직접 서비스를 작게라도 만들면서 이해하는 게 중요하다고 생각합니다. 


4. 기술 선택과 이유

누군가 저에게 갑자기 왜 맥북을 사용하냐고 묻는다면, 호환성, 업무 효율, 외관 등 여러 가지 이유를 말할 텐데요. 예전부터 맥을 썼냐고 한다면 저는 그렇진 않습니다. 어렸을 때는 윈도를 주로 사용했는데, 그때는 제 우선순위 중 꽤 높은 위치에 게임이 있었기 때문입니다. 이처럼 어떠한 선택을 할 때 우리는 이유를 갖고 선택을 하게 되는데, 이상하게 기술을 선택할 때 이유를 묻는다면 "사람들이 많이 써서"인 경우가 많습니다. 물론 옆사람이 맥북을 써서 내가 맥북을 선택하기도 하지만, 그런 건 본질적인 이유가 될 순 없으니까요. 어떤 기술을 선택하더라도, 해당 기술의 공식 문서는 꼭 참고해 보면 좋을 것 같고 기술이 나온 배경, 해결하고자 하는 문제등을 파악한다면 분명 면접에서도 할 얘기가 많을 거라 생각합니다.




마무리

이직을 성공하게 된다면 정말로 바로 쓰겠다고 다짐을 했었지만, 벌써 4달이 지났습니다. 그래도 몇 달 지나서 써보니 더 좋은 점은 이직 후에 느낀 점들까지 적을 수 있어서인 것 같습니다. 제가 생각했을 때 실패라는 것은 "이력서를 내봤는데 100군데에 떨어졌어"가 아니라, "나 이제 취업 포기할 거야"가 진짜 실패라고 생각해요. 이 글을 읽고 계신 분이 이직을 하고 계시거나, 취준생이시면 포기하지 않는다면 분명 성공하실 거라 믿습니다. 긴 글 읽어주셔서 감사합니다. 






작가의 이전글 토끼와 거북이 이야기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari