https://2sa7uk5m8eundh3t.public.blob.vercel-storage.com/images/frontend-u0vUb2Te2wRNGpp1dCbt3QNhPGnD1e.png

Story | January 7, 2025

내가 프론트엔드 엔지니어가 되기까지

프론트엔드 엔지니어가 되기까지의 과정에 대하여

이 글은 제가 프론트엔드 엔지니어가 되기를 결심하게 된 배경과 취업 과정에서의 시행착오들을 담은 글로, 저에 대해, 또는 제 사고에 대한 궁금증 해소, 좀 더 나아가 프론트엔드 엔지니어가 되는 과정의 worst-case 와 극복하기 위한 과정을 중점적으로 작성해 봤습니다.

방향성 잡기

때는 2020년, 저는 소프트웨어 엔지니어 양성 고등학교에 2학년으로 재학 중이었습니다.

아시다시피 개발에는 정말 많은 분야가 존재하고, 제가 학교에 입학한 후 2학년 중반까지는 어느 분야에 적성이 있고 흥미를 느끼는지 감을 잡지 못 해서, 이것저것 시도를 해 봤습니다. 강의를 보고 Java 로 안드로이드 앱을 만들어 보기도 하고 간단한 CRUD 서버를 구축해 보기도 했습니다.

드럽게 재미가 없었습니다. 코딩에 관심도 없었고, 사실 저는 동기들과 다르게 제가 원해서가 아닌, 그저 인문계 고등학교에는 가기 싫었기에 어머니의 권유에 별 생각 없이 이 학교에 입학했었거든요. 한심하게도요.

그렇게 개발은 할 줄 모르고, 학교 교육과정상 조별 과제나 해커톤은 참여해야 했던 제가 선택한 건 UI/UX 디자인이었습니다. 중학교 때 취미로 모션 그래픽 영상을 만들곤 했기에 약간의 감각은 가지고 있다고 자부했고, 제일 중요한 건 코드를 작성하는 것 보다는 간단해 보였습니다. (지금 생각해 보면 훨씬 어려운 것 같습니다..)

당시에 그가 디자인한 UI. 상당히 구린 것이 특징이다.

디자인은 꽤 재밌었습니다. 아무런 의도도 없는 심미성 있어 보이는 요소들을 넣는 게 재밌었습니다. 예쁘다고 생각했거든요. 무책임하게 구현의 어려움따위 생각하지도 않았습니다. 유저 플로우를 따라 주구장창 화면들을 구성하고 나면 제가 서비스를 다 만들어 낸 것 같은 기분이 들었습니다.

드디어 어떠한 역할을 해낼 수 있다 생각한 저는 갑자기 근자감이 솟구칩니다. 소프트웨어 엔지니어 양성 고등학교 출신 최초 UI/UX 디자이너가 되어 보기로 합니다. 약간 초콜릿 된장국 같고 재밌지 않나요?

2학년 중반이 되었을 무렵, 여김 없이 디자인을 하다 문득 이런 생각이 스칩니다. “내가 구성한 화면을 누가 구현해 주지 않으면 영원히 디자인으로만 남겠지?” 그리고는 되짚어 보니 뭔가 분했습니다. 제가 구상한 무언가를 직접 결과물로 만들어 낼 수 없다는 게 허무하게 느껴지더군요.

프론트엔드?

생각은 점점 제 머릿속에 굳게 자리 잡습니다. 그리고 이 생각은 곧 구현에 대한 갈망이 됐습니다.

저는 제일 친한 한 친구에게 이 고민을 털어 놓았습니다. 디자인은 재미는 있지만 수박 겉핥기에 불과하고, 개발은 재미 없고 잘 모르지만, 무언가를 만들고는 싶다며 말이죠. 그 친구는 프론트엔드를 정말 잘 하고 좋아하던 친구였고, 아직 늦지 않았다는 말과 함께 제게 프론트엔드를 접해 볼 것을 권합니다.

친구가 잔뜩 보내준 강의 영상들을 보며 간단하게 클론 마크업을 해 보면서 HTML, CSS 를 익혀 갔습니다. 디자인을 할 때는 쓱쓱 그리기만 하면 되니 쉽게 느껴졌던 게, 직접 구현하는 입장이 되니 너무나도 어려웠습니다. 스타일링은 제 말귀를 못 알아 먹어서 짜증났습니다.

너무 재미가 없어서 그냥 개발이라는 것과 맞지 않나 보다 싶었지만, 여태 한 분야에 깊게 투자해 본 적이 없었기에, 이번 한번 만큼은 한번 꾹 참고 한 걸음씩 딛어 보기로 합니다.

어느새 재미를 느끼고 있다고 느껴졌을 때가 HTML, CSS 에 익숙해지고 JavaScript 를 접하기 시작할 때였습니다. JavaScript 는 재밌었습니다. 개떡같이 짜도 찰떡같이 돌아 갔거든요. 가독성이 좋고 유지보수에 용이하고 그딴 건 엿 바꿔 먹었습니다. 그저 구상만 했던 것을 본격적으로 만들 수 있다는 사실이 기쁠 뿐이었습니다.

JavaScript 에 익숙해 진 후에는 ReactJS 를 접하고, 동기들과의 여러 사이드 프로젝트를 통해 점점 프론트엔드에 재미를 느끼게 되어, 프론트엔드 엔지니어가 되기로 마음먹기 시작했습니다. 막연한 꿈에 따른 책임의 무게는 전혀 생각하지 않은 채로요.

취업의 벽

저희 학교는 취업으로 연계되는 학교였고, 저는 3학년이 되었습니다. 2학년에는 취업을 위한 빌드업을 하고, 3학년에는 이뤘던 모든 걸 정리해서 취업을 준비하는 시기였습니다.

인자하시던 선생님들도 학교의 취업률을 올리기 위해 압박을 주기 시작했고, 일찍 취업을 나가려는 동기들을 보면서 "내가 취업을 못 하면 뒤쳐지는 사람으로 보이지 않을까?" 하는 걱정도 되자 취업에 대한 부담감이 점점 심해져갔습니다. 재밌게 개발하던 시기가 제겐 너무 짧았고, 취업 준비에 몰두하기엔 아직 만들어 보고 싶은 게 너무 많았습니다.

다들 학기초부터 취업을 준비하고 있을 때 저는 계속 사이드 프로젝트를 진행하면서 나름의 현실도피를 했습니다. 동기들이 한두 명씩 면접에 합격하고 자신이 속할 회사를 찾은 와중에 저는 그제서야 취업을 준비하기 시작했습니다.

사실 지금 생각해 보면 취업이 늦어져도 딱히 문제될 건 없었습니다. 압박감은 그저 군중심리에 불과했고, 하루 빨리 취업하기 위해 서두르던 저에게 지식과 경험을 더 쌓아서 진심으로 본인이 원하는 회사를 바라 보라고 말해 주고 싶네요.

취업 준비와 실패

사이드 프로젝트를 완료 했을 무렵에 제 차례가 되었습니다. 진행해 왔던 프로젝트들을 포트폴리오에 정리했고, 많은 회사들에 무지성 서류 넣기를 시작했습니다. 그 때는 한심하게도 가고 싶은 회사에 대한 기준이 명확하게 없었습니다. 그저 저를 받아주는 곳이 제가 있을 곳이라는 생각 뿐이었습니다.

그리고 개같이 광탈했습니다. 그 때의 저는 경험과 지식도 부족할 뿐더러, 그나마 가진 열정을 누군가에게 어필할 줄도 몰랐습니다. 저는 안온한 빈 수레에 불과했습니다.

그래서 요란하게 만들어 봤습니다. 깊이 있는 지식을 가지지도 않은, 한번 써 본 게 전부인 기술들을 포트폴리오에 한 껏 추가했습니다. 쓸 데 없이 장황한, 문제 해결 보다 어떤 프로젝트인가를 더 돋보이려는 글들로 가득채워 온갖 있어빌리티를 다 끌어 모았습니다. 뒷 일은 생각하지 않았습니다. 그저 엄청난 경험과 역량을 가진 사람 처럼 보이고 싶었습니다.

요란한 빈 수레는 오랜 시간 떠돌다 보니 하나 둘 사람들의 이목을 끌기 시작했습니다. 조금씩 서류에 합격하는 회사가 생깁니다.

그러나 속 내용을 본 사람은 더이상 관심을 가지지 않았습니다. 그 당시에는 언어도 기술도 제대로 설명할 수 있는 것 하나 없을 뿐만 아니라 기술 선택에 대한 배경 조차 제대로 설명할 수 없었습니다.

첫 면접에 불합격 했을 땐 그저 좌절만을, 두세 번의 불합격 후에는 자책을 했습니다. 경험과 지식이 미흡해 대부분의 질문에 명확히 답변할 수 없었던, 압박에 이기지 못 해 “잘 모르겠습니다.” 를 남발하던, 그나마 할 수 있는 답변의 깊이 마저 얕았던, 답변할 자신이 없어 제발 더 깊게 질문하지 말길 속으로 바랐던 제가 너무나도 한심하게 느껴지고 분했습니다.

우울함을 덜기 위해 원인을 찾으려 했고, 자신에게서 원인을 찾는 과정에서 자존감을 잃었으며, 자존감을 잃어 열등감에 사로 잡혔고, 열등감은 더 나은 사람이 되어야겠다는 자극과 뒤틀린 동기부여가 되었습니다.

취업에 도전하며 약 100번에 가까운 서류 불합격, 약 10번에 가까운 기술 면접 불합격을 겪은 필패의 챔피언이 되어 있었던 저는 첫승을 이루기 위해, 더 나은 사람이 되기 위해, 조금씩 생각이라는 걸 하기 시작합니다.

잠시 돌아보기

여태까지 작성해 온, 아무도 구현 배경을 알 수 없는 소스코드들을 훑어 보면서 스스로 의문을 갖습니다. 작성한 의도는 무엇이며, 무슨 이점이 있는지, 무엇인지 알고 사용하는 것인지 끊임 없이 질문합니다. 처음에는 수십가지의 질문만 존재할 뿐 한 가지도 제게 명확히 납득시켜 줄 수 없었습니다.

답을 찾기 위해 오랜 시간을 생각에 잠기기도 하고, 각종 문서를 뒤지며 내가 보고 따라해 온 코드의 진정한 의미를 찾으려 하기도 했습니다.

과거에는 모든 이유를 ‘그냥’ 으로 치환할 뿐이었습니다. “그냥 이렇게 짜야지.” , “이게 좋은 건가 보다.” 등 생각하는 걸 귀찮아했습니다.

모든 일에는 이유와 의도가 존재하며, 그냥은 단지 이유를 설명하는 것을 회피하기 위한 말일 뿐이라는 걸, 의도가 담기지 않은 것은 누구도 그 의미를 알 수 없는, 어떤 가치도 설명할 수 없는 것이 될 뿐이라는 걸 19살이 되고서야 깨달았습니다.

이제는 의도가 있어야 함을 항상 인지하고자 했습니다. 그게 사소한 것이더라도, 내 생각이 담긴 코드를 작성했습니다. 내가 작성한, 내가 설명할 수 있는 코드를 말이죠.

생각이라는 걸 하기 시작하자, 고민의 깊이는 더 깊어졌습니다. 문제는 무엇인지, 어떻게 문제를 더 쉽게 해결할지 여러 방면으로 고민하다 보니, 있어 보이기 위함일 뿐이였던 기술의 필요성과 의미를 직접적으로 느꼈고, 그제서야 기술을 목적 그 자체가 아닌 수단으로서 활용하는 방법을 알게 되었습니다.

문제를 쉽게 해결하고자 하는 방향성을 찾기 위한 사고는, 제 단점이였던 게으름을 극한의 효율을 추구하는 효율 지향적 사고로 한 단계 발전시키고 있었습니다.

재도전

많은 지식을 달달 외우는 것 보다 생각하는 방법이 중요하다는 걸 깨달았을 무렵, 다시 도전했습니다.

스피드 퀴즈, 압박, 일방적 질문만이 존재한다 느껴 부담과 기피의 대상이였던 면접은, 본래 대화의 자리였다는 걸 다시금 느꼈습니다. 왜 면접 대신 인터뷰라는 말을 쓰기 시작했는지 나름대로 추측할 수 있었습니다. (물론 조직마다 분위기는 다르겠지만요)

프로젝트를 진행하면서 실패와 고민, 해결과정에 대해 말 하고 싶은 게 너무 많았고, 주저리주저리 푸는 것이 재밌었습니다. 생각이라는 걸 하기 시작하니, 생각에 대해 이야기를 나누는 게 즐거웠습니다.

이번엔 뭔가 많이 달랐습니다. 좋은 느낌이 들었거든요.

권토중래 (捲土重來)

“흙먼지를 털어내고 다시 일어서다.”, “어떠한 일에 실패했으나 힘을 축적하여 다시 일에 착수하다.” 등의 뜻으로 저는 한자나 사자성어를 잘 모르지만, 의미가 너무 와닿는 말이라 기억에 남습니다.

어쩌면 우리가 하는 모든 일들, 더 넓게는 인생 자체에 이 말을 대입해 볼 수 있지 않을까 싶습니다. 우리는 수 많은 실패를 통해 경험을 축적하고 결국에 목표를 달성해내는 멋진 사람들이니까요.

저 역시 많은 시행착오를 거치면서, 결국 지망생에서 프론트엔드 엔지니어가 되었습니다.

사고의 전환과 내면의 성장으로 이뤄낸 결과라고는 장담하기 어렵습니다. 운칠기삼이라는 말이 있듯, 많은 실패를 통해 얻은 경험들도 어느정도 작용했겠지만, 조직의 상황과 나의 조건, 타이밍, 가늠하기 어려운 여러 복합적인 요소들이 한데 엮여 운이라는 예측불가한 상황이 만들어지는 것이기에 제가 해온 노력들은 운을 끌어오기 위한 과정이 아니었나 싶습니다.

대단한 성공담인 듯 풀어 놓은 것처럼 보일 수 있지만, 끊임없는 생각과 노력 뿐 뛰어난 역량을 갖추게 된 건 아닙니다. 그 시절 어리석은 저보다 더 나은 제가 되었다는 말입니다. 아직 부족한 점도 무지한 부분도 너무 많습니다.

그렇기에 언제나 어제보다 더 나은 사람이 되는 것을 목표로 이 마음가짐을 유지하고 노력하는 것이 제 인생의 과제라 생각합니다.