2년전 취준생을 겪었을 때 나는 유튜브와 온갖 커뮤니티에 돌아다니는 채용정보를 알아보고 다녔었습니다.
프론트엔드는 React가 필수가 되어버린 상황에 Next.js도 사용할 수 있어야하며 TypeScript는 무조건적으로 할 수 있어야하는 그런 채용공고들이 난무하였습니다.
취준생 입장에선 이러한 채용공고의 요구조건은 너무나 큰 압박감을 주게 됩니다.
"저걸 다 채워야 나를 뽑아줄거야"라는 생각과 함께 왜 사용해야하는지도 모르는 기술 스택들을 하나 둘 억지로 배워나갔었습니다.
불과 2~3년전만해도 회사에선 Flux 패턴의 Redux 전역상태관리는 하나 둘 자리 잡고 있었고 이를 배우기 위해 Redux를 배우면 서버의 비동기적인 데이터를 가져오기 위해 Redux-saga 또한 차근차근 배워나갔습니다. 이때 처음으로 자바스크립트의 제너레이터라는 것을 알게 되었고 점차 이력서는 그들이 원하는 요구조건을 하나하나 만족해가는거 같았습니다.
마치 내가 RPG 게임 캐릭터가 되어 퀘스트를 깨는 느낌을 느꼈습니다.
점차 빠르게 변해가는 프론트엔드 세계는 어느새 Redux를 하나 둘 사용하지 않게 되었습니다.
특히나 Redux-saga는 특유의 복잡한 보일러플레이트와 함께 자주 사용하지 않던 제너레이터라는 문법은 진입장벽을 높이는 역할을 하기도 했습니다.
더군다나 React-Query(현재는 Tanstack-Query)가 나와 서버 데이터의 상태를 보다 쉽게 관리하기 때문에 Redux와 Redux-saga는 몇 년되지도 않아 레거시라는 소리까지도 듣게 됩니다.
기본기(CS지식)은 물론이며 빠르게 변하는 기술 스택도 잘 알아야하고 인싸기질이 있어 링크드인 혹은 컨퍼런스와 같은 곳에서 자신을 알려야하는 상황까지 놓였습니다. 닿을 듯 닿지 않는 취업이라는 낙원이 코 앞인데 참 손에 닿지 않았던 날들이였습니다.
취준생 시절 이력서에 대한 좋은 유튜브 영상과 글들이 많이 나와있었습니다.
"글은 최대한 간결하게 써라."
"개발 이외에 다른건 관심 없어한다."
"너가 기여한 것들을 수치화해라."
"깃허브에 잔디는 풍성해야한다."
"기술블로그는 필수로 넣어야한다."
깃허브에 잔디도 듬성듬성 심어 봤고 이력서에 쓸 내용도 없는데 최대한 간결하게 써보았고
개발 이외에 다른건 관심이 없다하니 이력서는 한 두 페이지로 휑해보이고 자존감이 많이 떨어지는 나날들이 였습니다. 난 신입인데...
특히나 내가 기여한 것에 대한 수치를 하기가 굉장히 까다로웠고 개발 이외의 나의 장점을 쓰지 말라하니 스스로에 대한 어필을 소심하게 적어나가는 것 같았습니다.
지금 생각하면 그 땐 간절했기에 저에게 맞지 않는 이력서 피드백이 저를 더 초라하게 만든게 아닌가 싶습니다.
만 2년차 프론트엔드 개발자가 되어 회사에서 혼자 프론트엔드 개발을 담당하고 있는 와중에 저와 같이 일할 분들을 채용하기로 하였습니다.
많이 부족한 실력이지만 부서에서 유일한 프론트엔드이기도하고 무엇보다 저와 함께 일을 해야하는 동료이기에 면접관으로 들어가게 되었습니다.
여러 지원자들의 이력서를 받고 읽어내려가면서 이전 저의 이력서를 떠올리며 읽게 되었던거 같습니다.
면접질문은 각 면접자 분들의 회사에서의 프로젝트에 대해서 여쭤보았습니다.
"모노레포를 바꾸어서 개발 기간을 3배 단축하셨다 그러셨는데 구체적으로 어떤식으로 단축이 된걸까요 ?"
"프로젝트에서 프론트를 혼자 담당하셨다고 하셨는데 사용하신 디자인패턴이나 폴더구조를 설명해주 실 수 있으신가요 ? "
"테스트를 진행하셨다고 적혀져있는데 테스트 코드를 사용하여 테스트를 진행하신걸까요 ?"
"이전 프로젝트에선 JS를 사용하시다가 왜 다음 프로젝트에선 TS를 사용하신거죠 ?"
사실 취준생 시절 질문 받은 암기식 면접질문들이 크게 의미가 없다는 것을 가장 잘 느끼기 때문에 따로 질문들 드리진 않았습니다.
var let const의 차이, React의 생명주기, SSR과 CSR의 차이, 클로저란 무엇인가 등 한창 내가 면접자로 있을 때 많이 외우고 있던 질문들이였습니다. 이런 질문들이 쓸모가 없다는 것은 절때 아닙니다. React를 사용하는데 생명주기를 알아야 React라는 라이브러리를 사용하는데 막힘이 없을 것이고 SSR과 CSR의 차이를 알아야 프로젝트에서 SSR을 쓸지 CSR을 쓸지 현명한 기술 스택을 선정할 것입니다.
다만 이러한 질문에서 면접자들이 정말 저와 결이 맞는 사람인지를 알 수가 없을 것 같았습니다.
오히려 면접자들에게 유리한 질문들 함으로서 진실된 내용의 이력서를 작성했는지를 알고 싶었습니다.
큰 회사의 면접관으로 들어간 것도 아니고 개발을 뛰어나게 잘해서 면접관을 들어간 것도 아니지만 면접관이라는 입장에서 이력서를 다시보게되는 계기가 되었습니다.
지극히 개인적인 생각이지만 앞으로 이러한 생각을 할 것입니다.
before
MUI를 사용한 공용컴포넌트 개발
after
디자이너가 없는 환경에 MUI를 활용하여 UIUX적인 부분의 도움을 받아 재사용 가능한 공용컴포넌트를 개발하였습니다. 공용 컴포넌트의 개발로 인하여 개발 기간 단축 및 유지보수에 큰 이점을 얻을 수 있었습니다.
"수백명이 지원하는데 이력서가 많으면 보지도 않고 눈길도 안간다."
맞는 말입니다. 나는 적은 인원의 이력서를 보았기 때문에 자기소개글까지 모조리 읽었지만 꽤 큰 회사들은 아마 위와 같이 긴 내용의 글들은 읽어보지 않을 수 있습니다.
그치만 채용 담당자들이 대학이나 회사의 간판, 혹은 컨퍼런스 발표 경험과 같은 빛나는 것에 눈길이 가기에 보지 않는 걸 수도 있을 것 같습니다.
그렇기에 저를 최대한 어필 할 것입니다. "디자이너가 없는 환경"에서 나는 "공용컴포넌트"를 개발했고 "개발 기간 단축"과 "유지보수"에 큰 이점을 주었다는 성과가 있으니깐요
000을 최적화하여 1초에서 0.6초로 40% 개선하였습니다.
라이트 하우스의 Performance를 80점에서 95점으로 성능 향상을 시켰습니다.
백엔드나 DevOps 개발자들은 성능 향상이 중요하다고 생각이 듭니다.
특히 AWS와 같은 클라우드를 사용하는 회사들은 돈과 연관이 되어있기에 엄청난 성과가 있습니다.
물론 프론트엔드도 최적화가 필요합니다. 웹 페이지를 들어가는데 5초 10초가 걸린다고 생각하면 사용자는 그 사이트를 이용하지 않을 것입니다.
모바일도 똑같습니다. 로딩을 나타내는 Progress가 오래 유지 된다고 생각하면 내 스마트폰이 문제인지 어플이 문제인지 의심하게 만들기도 합니다.
제 회사에서 개발하는 프로젝트에서는 수치를 보여줄만한게 없습니다.
성능을 향상 시키기 전에 혼자 프론트엔드 개발을 개발환경 셋팅부터 배포까지 진행해야하고 일정은 빠듯해서 수치는 무슨 코드 퀄리티도 개판입니다. 일단 돌아는가니깐 한잔해
유일하게 성능 향상을 신경쓴건 코드 스플리팅 정도입니다. 코드 스플리팅 안한거랑 한거랑 비교하고 이걸 지표로 나타내서 수치화할 시간에 다음 페이지를 개발하기 바빴기에 Route 이동 시에 개발자도구를 열어 스플리팅이 잘 되는지만 확인했습니다.
수치는 중요합니다. 만일 내가 최적화를 했다고 생각했는데 실제로 의미가 없는 최적화일수 도 있기 때문입니다. 당연히 before과 after를 비교해야 최적화가 잘 이루어졌는지 알 수 있지만.
타이트한 데드라인 안에 사용자가 원하는 웹을 문제 없이 동작할 수 있도록 하는 것이 가장 우선이 되어야한다고 생각합니다. 최적화... 수치화...는 그 다음에...
"React를 회사에서 사용해보진 않았지만 프론트엔드 개발을 하기 위해 개인적인 공부를 했습니다."
면접자 분 중 한 분이 말씀하신 말입니다.
프론트엔드 개발자를 뽑는데 주로 Java/Spring을 사용하셨고 모든 프로젝트에서 백엔드를 개발하셨습니다.
프론트개발이라곤 JQuery와 javascript 정도인데 그 분께 질문을 드렸습니다.
"저희는 프론트엔드 개발자를 뽑고 있는데 React를 한번도 사용해보신적이 없네요 ?"
이에 면접자 분은 그 부분에 있어 말씀을 드리고 싶었다고 하셨고 위와 같이 개인적으로 React를 공부하셨다고 말씀을 하셨습니다.
우리 회사는 과제전형이나 코딩테스트를 보지도 않고 깃허브 링크 같은 것도 받지 않습니다.
면접자의 거짓말이라곤 생각이 들진 않았고 저는 Javascript를 하는 사람이라면 React도 충분히 단기간에 배울 수 있다고 생각이 들었기에 만족스러운 답변이였다고 생각했습니다.
더군다나 우리 회사의 프로젝트가 네카라쿠배처럼 어려운것도 아니고...
이후 그 분께서 마지막 질문을 하셨는데
"회사 인재상과 별개로 이력서나 면접에서의 대답들에 대해 어떠했는지 듣고 싶다."
옆에 팀장님께서 질문에 대한 답변을 해주시느라 말씀을 못드렸었는데
"면접에 있어서 긴장해서 대답도 못할 수 있고 질문에 대한 엉뚱한 답을 말할 수도 있다. 그치만 최선을 다해서 답을 말한 것이고 기술 스택이 안맞는다고해서 탈락을 하거나 하진 않는다. 이력서의 프로젝트 내용만 봐도 충분히 멋지게 개발하시고 이 회사가 아니더라도 더 좋은 회사로 가실 수 있을 것이다. 저보다 더 잘한다" 라고 말씀드리고 싶었습니다.
얼마전에 제가 즐겨보고 도움이 많이 되었던 유튜버님께서 면접관으로 참여하여 지원자를 떨어뜨려 죄송하다는 글을 읽은 적이있습니다.
아이러니하게도 그 글을 읽고 며칠 뒤 저 또한 면접관의 위치에서 지원자들을 떨어뜨려야하는 상황에 놓이게 되었고 몇 년전의 저의 모습이 생각이나 잠시 생각에 잠기게 된 날이였습니다.
요즘 물경력이라는 자극적인 단어로 개발자들에게 불안감을 주는 광고도 많이 보았고 꾸준히 성장해야한다는 압박감 또한 많이 주는 것 같습니다.
회사에서는 사회초년생들에게 무리한 요구를 하는 것은 아닌가 생각이 들기도 하면서 한편으론 바쁜 회사에선 훌륭한 인재를 뽑으려고 하는 모습의 대립이 한편으론 슬픈 사회 현상인거 같습니다.
쉬는 청년은 많은데 회사는 인력이 부족하다라니...
면접과정에서 예전 저의 취준생 시절이 생각이 떠올라 이렇게 글을 적었습니다.
읽어주셔서 감사합니다.