기술 얘기만 꺼내다가 요즘 인생을 대하는 태도가 서서히 바뀌는 것을 느껴서 작성한다. 19년부터 최근까지 기억에 남는 실패들에 대해서 서술해보고, 그로 인해 바뀐 태도나 행동거지를 서술하였다. 그리고 앞으로 겪을 실패에 대응하기 위한 마인드셋 및 미래 계획도 포함하였다.
처음 초보자로서 실패한 경험 (2019-2020)
대학교 2학년 때 연합동아리 및 네이버 부스트캠프를 지원하여 탈락하였다. 서류 지원시 3000자 분량의 자기소개서 제출이 필요하였는데 LLM이 발달하지 않았던 시절이라 정성을 들여서 한땀한땀 작성하였다. 당시 전공 기초 과목들 위주로 수업을 들었던지라 프로젝트 경험이 하나밖에 없었는데 어떻게던 쥐어짜서 3000자를 채워냈었다. 그렇게 에너지를 쏟아서 서류를 제출했으나 탈락이라는 결과를 받았다. 탈락이 트라우마로 작용하여 이외의 연합동아리 및 우아한테크코스에 지원하지 않았던 것으로 기억한다.
해당 실패의 원인을 생각해보면 수행했던 프로젝트의 기간과 완성도의 문제였던 거 같다. 3개월 동안 진행한 프로젝트인데, 당시 인증/인가를 처음 다뤄보는데 깃헙의 OAuth까지 활용이 필요했던터라 인증 개발만 수행하는데 시간을 거의 할애했다. 다른 핵심 기능들의 완성도가 낮다보니 서류 평가자들에게 매력적으로 보이지 않았을 것으로 생각한다.
알고리즘 문제를 풀 때의 좌절(2020-2021)
코로나19가 한창 유행하던 시절에 프로젝트를 같이 진행했던 친구들과 알고리즘 문제를 풀려고 노력했다. 친구들과 나를 비교하면서 나는 하루종일 고민해도 풀지 못했던 문제들을 친구들은 대부분 1~2시간 이내에 푸는 것을 보면서 많이 좌절했던 기억이 있다. 알고리즘 문제를 풀 때 느끼는 성취감보다는 좌절감이 감정을 지배해서 결국에는 동기부여가 크게 되지 않아서 열정적으로 공부하지 않았었다. 다음 두가지 패인이 결정적으로 작동했던 것 같다.
죽어도 답을 보지 않겠다는 태도: 당시에는 기본적인 다이나믹 프로그래밍, 분할정복, 그래프, 그리디 알고리즘에 익숙해져있지 않았는데 답지를 보는 게 패배를 인정하는 것이라고 생각하여 일주일, 이주일이고 한 문제를 고민하려고 했었다. 지금 와서 생각해보면 상대성이론이나 만류인력의 법칙을 바로 떠올리려고 한 것이나 다름 없다고 생각한다. 기본이 되는 이론이므로 일종의 수학 공식이라 볼 수 있는 코드 템플릿과 아이디어를 스스로 떠올리기 힘든 것들이 상당히 많았다고 생각한다.
수학적 엄밀함에 대한 집착: 다른 블로그 문제 해설을 봐도 살짝 엄밀한 수학적 증명을 하지 않는 모호한 부분들이 있었는데 이를 전부 내 나름대로 명확히 하려는 시도를 하는데 시간을 쏟았다.
학자적인 접근에 취해있다보면 돈을 벌지 못한다. 역사적으로 특정한 이론을 발견해낸 사람들보다 그것을 배워서 문제 해결에 사용한 사람들이 돈을 벌었다. 영화 이미테이션 게임의 주인공 엘런 튜링은 컴퓨테이션 이론의 창시자지만 살아생전에 부유하게 지내지는 못했다. 반면 IT 기술을 대중화에게 보급한 빌게이츠, 마크 주커버그, 제프 베조스 등은 돈을 쓸어담고 있다. 이렇듯이 실제로 현실적으로 코딩테스트를 통과하는 사람들이 돈을 더 잘 버니까, 요즘에는 납득 가능한 범위에서 수학적 설명을 생략하려고 시도하는 경우도 많아졌다.
초보자가 힘든 시기, 더욱더 실패 인정하기
2024년부터 현재까지 인턴 및 정규직 지원을 꾸준히 하였는데, 채용 전형의 난도가 날이 갈수록 올라간다고 느낀다. 우수한 지원자들이 많다보니 조금이라도 회사의 문화에 맞지 않거나 기술적 역량이 부족해 보일 경우 탈락 당한다. 따라서 서류나 면접이 떨어질 때마다 일희일비하기보다는 부족한 부분을 성찰하는 학습의 과정으로 보고 마음의 짐을 좀 덜어놨으면 좋겠다. 이 글을 읽는 독자와 나 모두 말이다. 나는 10번이 넘는 인턴/정규직 면접에 탈락했지만, 올해까지는 프론트엔드로 취업을 시도해볼 예정이다. 면접 경험을 통해 지식의 공백과 언어적 능력이 개선되는 것이 체감되지만, 아직 결과로는 증명을 하지 못했다.
앞으로 어떻게 할래?
전통적인 알고리즘 코딩테스트도 같이 준비를 하고 있다. 여기에는 세가지 이유가 있다. 첫번째, 신입 개발자로서 코딩테스트가 없는 전형의 경우 면접을 통해 걸러지기가 너무 쉽다고 생각한다. 두번째, 문제에서 주어지는 가능한 상태를 사전에 탐색하고 데이터를 모델링하는 설계 능력이 부족하다고 생각했기 때문이다. 이는 토스 프론트엔드 과제를 보고 피드백을 받으면서 체감했는데, 알고리즘 문제의 경우 설계가 중요해서 문제를 풀다 보면 개선이 되지 않을까 생각한다. 세번째, 프론트엔드 취업에 계속 실패하여 백엔드, 또는 다른 IT 직종의 일을 하더라도 기본 능력에 가까운 알고리즘 문제 해결 능력이 취업에 도움이 될 수 있다고 생각한다.
점점 사회가 초보자를 경멸하는 시대로 전락하고 있다고 생각한다. 그에 따라 독자분들도 작은 실패와 큰 실패를 경험하고 더 많은 실패가 두려워질 거라고 생각한다. 나도 그랬기 때문이다. 하지만 실패했을 때 일어날 일들을 생각해보면 좋겠다. 나만 쪽팔리고 주변 사람들은 별로 신경도 안 쓴다. 인생 망하지 않고 알바라도 해서 먹고살 수는 있다. 요즘 나는 면접에 들어갈 때마다 이런 생각을 하면서 최대한 부담을 덜어보는데 효과가 좋은 거 같다. 혹시 도움이 될 거 같다면 시도해보시면 좋겠다.
Top comments (0)