[회고] 준비만 하는 겁쟁이(2)

- 9 mins

지금까지 나는 ‘잘’해왔는가?

2018년의 중반이 넘어갔다. 올해가 시작될 때 부모님과 지인들에게 했던 말이 있다.

“나는 아직 프로그래밍을 시작한지 얼마 안되어서 공부를 더 해야한다. 그래서 상반기는 공부를 중점적으로 할 것이다.”

말 그대로 준비만 하겠다고 한거다. 그래서 결과적으로 공부를 열심히 했는가 하면..

2018 상반기

1, 2월

나는 더 배우고 싶었다. 학교에서 배운 것은 기초 JAVA 문법, 운영체제, 유닉스, 자료구조가 전부였다. 주도적으로 개발한 프로젝트는 처음 만든 강의평가사이트뿐이었다.

그래서 6개월 동안 교육 기간을 가진다는 모 SI 대기업의 인턴과 모 게임회사에서 진행하는 코딩캠프를 야심 차게 지원하였다. 하지만 당연하게 모두 서류에서 탈락하였다. 이대론 아무것도 못 할 것 같아, 가산에 있는 모 국비지원학원에 다니게 되었다. 국비지원학원에 다니게 된 이유는 세 가지다.

  1. JAVA와 Spring을 가르쳐준다.
  2. 학비가 들지 않는다.
  3. 정기적으로 생활비를 받을 수 있다.

일단 유료학원은 가격이 너무 비쌌다. 그리고 많은 대기업이 JAVA와 Spring을 쓴다는 이야길 들었기에, Spring을 배우고 싶었다. 집에는 학원비와 생활비를 지원해 줄 여유가 없었기에 생활비를 받으면서 학비도 들지 않는 국비지원학원이 최고의 선택이라 생각했다.

나는 1월 말부터 학원에 다니기 시작했다. 해당 반의 수강생 대부분이 전공자들이었고, 나를 포함한 세 명 정도가 비전공자였다. 처음에는 기대감이 컸다. 학부의 이론수업 말고 실무를 겪은 전문가에게 듣는 수업은 처음이었기에 더 그랬던 것 같다.

하지만 몇 주가 지나고 그 기대는 실망으로 바뀌었다. 절반 이상의 학생들은 의욕이 없었고, 강사님은 대학원 준비로 수업에 열정이 없었다. 강사는 다수의 학생들의 수준은 고려하지 않고 종강까지 남은 시간이 별로 없다는 말만 하며 빠르게 진도를 뺐다.

항상 강사님 혼자 말하고 바로 응용문제를 내주었다. 하루 수업시간의 절반을 자습 명목으로 방치하였다. 자습시간 동안 강사님은 항상 대학원 과제를 했다.

물론 프로그래밍을 배울 때 혼자 만들어보는 시간은 중요하다. 나에겐 문법적인 것은 익숙한 부분이었고, 응용한 문제도 간단한 편이었다. 하지만 대부분 학생들은 수업을 따라오기 힘들어했다. 강사님은 학생들의 질문에 책을 보고 찾아보거나 옆자리 짝에 물어보라고 대답했다. 모든 국비지원강의가 이렇지 않겠지만, 굉장히 실망했었다. 이대로 가면 남들보다 앞서가기보단 뒤처질 것 같다는 두려움이 생겼다.

나는 한 달정도 지난 2월 말에 학원을 그만두었다. 사실 학원과 강의에 대한 실망도 컸지만, 당시 개인적으로 멘탈이 흔들릴 일이 있어서 새롭게 시작하고 싶었다. 지금도 해당 학원을 그만둔 것은 후회하지 않는다. 다만 이후 시간을 알차게 보내지 못한 것이 아쉽다.

3, 4, 5월

우발적으로 학원을 그만두고, 17년도에 교내 프로그래밍 교육 동아리 활동을 같이했던 전공자 친구와 연락을 했다. 그 친구도 취업준비를하고 있었다. 다만 그 친구는 전공자라 학교에서 Spring을 배우고 프로젝트를 해본 경험이 있었다.

나는 그 친구의 동기와 선배가 사는 자취방에 가서 공부하기 시작했다. 친구의 동기는 N 포털에 이미 취업하여 일을 하고 있었다. 친구의 선배도 대형 쇼핑몰 전산팀에 근무하였기 때문에 낮에는 집이 비어있었다. 우리는 빈 자취방을 공부방처럼 사용했다.

우린 5월에 있을 N 포털이 대학생 인턴을 뽑기 위해 진행하는 해커톤에 지원하기 위해 Spring으로 프로젝트를 만들 준비를 했다. 해당 해커톤으로 친구의 동기가 N 포털에 입사하였기에, 해커톤에 지원할 때 만들 프로젝트의 큰 틀을 짜주었다.

- 클라이언트들은 서버에 개별적으로 필요한 만큼의 데이터를 요청한다.
- 서버는 다수의 클라이언트에게 동시에 요청을 받아 필요한 데이터를 csv파일로 만들어 서버에 저장한다.
- 각 클라이언트는 요청을 비 동기적으로 보낸다.
- 서버는 요청을 각각의 API 서버로 분배하여 처리한다.

우린 같은 내용의 프로젝트를 따로 개발하였다. 같이 시작한 친구는 이미 Spring을 다룰 줄 알기에 바로 개발을 시작했고, 난 인프런에서 JSP부터 Spring까지 기초 강의를 들었다.

나는 친구보다 한 달 반 정도 늦게 프로젝트를 만들기 시작했다. Spring은 Rails처럼 MVC 패턴을 가진 프레임워크다. 하지만 내부 로직을 정확히 모르고 사용해도 별 문제 없었던 Rails와 달리 Spring은 세팅부터 하나하나 까다로운 게 많았다.

해커톤에 지원하는 시기가 왔을 때 쯤 기본적인 기능은 모두 완성하였다. 친구는 기본 기능 이외에도 추가적인 부분까지 구현하였다. 결과적으로 나는 떨어졌고, 친구는 붙어서 해커톤 행사에 다녀왔다. 지금와서 떨어진 이유를 생각해 보면, 나는 요구하는 문항에 모두 자신 없게 답변을 작성했었다. 실제로 해보지 않은 것들이었지만, 비슷한 거라도 어떻게든 엮었어야 했는데 너무 의기소침하게 쓴 듯하다.

이 때쯤 블로그를 만들었다. 하지만 프로그래머스의 알고리즘 문제풀이 두 개를 끝으로 어떠한 글도 쓴 적이 없다.

친구가 해커톤에 붙었을 때 더는 같이 공부할 이유가 없어졌고, 마침 지인이 프로그래밍 교육을 하는 데 보조강사가 필요하다는 연락을 받았다. 정기적으로 갈 곳도 없었고 돈도 없었기에 보조강사 아르바이트를 하기 시작했다.

6월

6월 초부터 역삼으로 출퇴근하기 시작했다. 강의내용은 총 9주간 평일 9시부터 6시까지 Rails로 웹서비스를 개발하는 법을 가르치는 것이었다. 주 강사는 친한 지인이고 내 역할은 수강생들의 질문들을 받아주는 것이었기에 큰 어려움은 없었다. 주로 주 강사인 지인에게 질문을 했고 나는 몇몇 사소한 질문들만 받으면 되었다. 수강생들은 모두 국비지원으로 교육을 받는 분들이었다. 같이 취업준비를 하는 처지에서 먼저 배운 것들을 설명하려니 조금 쑥스러웠다.

이 쯤 5월 말에 넣었던 e커머스들의 인턴 결과가 나왔다. t모 기업과 e모 기업에 서류를 넣었었는데, 다행스럽게 둘 다 서류에 붙어 코딩테스트를 보게 되었다. 5월에 프로그래머스에서 하는 스타트업 인턴 연계 테스트를 본 적이 있다. 이때 코딩테스트는 처음 보았는데 세 문제 중 한 문제만 맞추고 나머지는 제대로 풀지 못했었다. 알고리즘 공부의 필요성은 느꼈지만 당장 못하는 게 많아서 미루고 있던 차에 또 테스트를 보려니 걱정을 많이 했다.

e모 기업의 코딩테스트는 총 6문제였고 DP(다이내믹 프로그래밍)와 기본 자료구조를 활용해서 풀 수 있는 문제들이었다. 3시간이 주어졌고 나는 시간 안에 2문제 정도밖에 풀지 못했다. 반면에 t모 기업의 코딩테스트는 작은 프로젝트를 만드는 것이었다. 물론 이것도 시간 안에 완성하지는 못했지만, 일반적인 알고리즘 테스트보단 더 재미있게 풀었다.

e모 기업은 떨어졌고, t모 기업은 합격하였다. 기대를 안 하고 있었는데 놀라웠다. 동시에 또 다른 걱정이 밀려왔다. 기술면접은 본 적이 없었기에 면접 보기 일주일 전부터 부랴부랴 구글링을 해가며 기술면접에 나온다는 질문들을 찾아보았다.

비슷한 시기에 같이 공부했던 친구도 N 포털 인턴 면접 준비를 하였다. 친구는 나보다 미리 준비하고 있었기에 친구에게 예상 질문들을 공유 받았다. 친구가 공유해준 예상질문은 Java와 Spring에 대한 질문들을 주를 이뤘다. t모 기업도 Spring을 이용해 개발하고 있었기에, 관련된 질문만 집중적으로 정리했다. 나는 추가로 http와 https의 차이, URL과 URI 차이 같은 웹 개념도 물어볼 것 같아 블로그들을 뒤지며 정리했다. 하지만 AOP, DI 같은 개념이 처음에 이해가 안 돼서 제일 많은 시간을 쏟았다.

면접은 30분 동안 별실에서 두 분의 면접관과 진행되었다. 사실 예상했던 질문들은 거의 나오지 않았다.

기술 외적인 질문은 주로 전공이 아닌 분야를 선택한 이유가 무엇인지, 어떤 언어들을 할 줄 아는지였다. Spring에 관해서는 일절 물어보지 않으셨다. 인턴에게는 프레임워크를 잘 사용할 줄 아느냐보단 기본 이론을 얼마나 잘 아는지 테스트해보고 싶은 듯했다.

질문 중에 Hash Map에 대한 질문도 있었다. key와 value로 이루어져 있다는 식으로 대답하였는데, 나아가서 내부 구조가 어떤지 물어보는 질문에 제대로 답변하지 못했다. GC에 대해 답변하니 JVM에서 객체 주소를 어디서 참조하는지 물어보셨다. 이런식으로 질문은 꼬리를 무는 식이었다. 다른 질문들에 모르는 것이 있을 땐 솔직하게 말했다. 하지만 며칠 이불 킥을 하게한 답변이 있다.

클래스와 오브젝트의 차이는 무엇?

객체지향언어를 다루다 보면 자연스레 익혀지는 개념이다. 보통은 “붕어빵틀과 붕어빵” 같은 예시를 들며 설명하는데, 나는 뭔가 다른 답변을 하고 싶었다. 욕심부려 인종 예시를 들며 설명하였다. 결국 상속에 관한 설명이 되어버렸고, 아차 싶었다. 면접관분들의 표정이 굳는 걸 생각하며 한동안 혼자 자책했었다.

사실 제일 당황한 것은 자기소개이다. 인턴 면접은 두 세 번 경험한적 있지만, 항상 자기소개에서 말이 막혔었다. 작년 합격자들의 면접 후기에 자기 소개시간이 없어서 오히려 신선했다는 말을 보고, 크게 준비하지 않았기에 더 당황하였다. 지금도 어떻게 말했는지 기억이 나지 않는다.

미숙한 태도로 임했던 첫 기술면접은 결국 떨어졌다.

7월

원래 보조 강사 계약 기간은 6월 초부터 7월 후반까지였다. 단, 시작할 때 인턴을 지원했었기에 만약 둘 중 하나를 붙게 되면 7월부터 그만둘 수 있다고 말했었다. 강의를 주최하는 측에서도 7월부터는 대체 인원을 구할 수 있다고 답변해줬었다. 결국, 두 곳 모두 떨어졌기에 계속하려 생각했었다.

6월 말에 아는 동생에게 본인이 계약직으로 일하는 곳에서 단기 아르바이트를 구한다고 연락이 왔었다. 그 동생은 MSP활동을 할 때 만난 친구로 또래와 비교하여 실력이 좋은 친구였다. 동생이 계약직으로 있는 회사는 이름만 들어도 아는 큰 외국계 기업의 한국 연구소였다. 동생도 지인 소개로 아르바이트로 시작하였고, 어느 정도 실력이 있어 계약직으로 전환하게 되었다.

동생 소개로 연구소 수석님과 식사를 한 적이 있었는데, 나중에 동생에게 수석님께서 일종의 테스트 겸 아르바이트해볼 생각 있느냐고 내게 물어보라 하셨다고 한다. 업무는 사실 프로그래밍과 좀 거리가 있는 업무이지만 동생에게 들었던 계약직 보수가 매우 좋았기 때문에 하고 싶다는 생각을 했었다. 그래서 강의를 주최하는 측에 양해를 구하고 보조강사일을 그만두었다.

그리고 7월 초부터 2주간 Q기업의 한국 연구소로 출근하게 되었다.

Q기업의 연구소는 자율주행 AI를 만들기 위한 데이터를 모으는 작업을 하고 있었다. 데이터는 각기 다른 업체에게 받고 있었는데, 나는 그 중 한 업체의 파트타이머로 일했다. 업무 자체는 어렵지 않았다. 단순한 검사를 반복하는 업무였기에 많이 답답할 뿐이었다.

만약 계약직을 하게 되도 업무는 단순한 검사를 반복하고 보고하는 업무를 할 것이었다. 가끔 수석님을 마주치면 나에게 일은 할만한지 물어보셨다. 수석님은 아무리 이곳이 좋은 곳이고, 돈을 많이 받아도 하고 싶은 일이 있는 사람이 기약 없이 할 만한 일은 아니라고 말씀하셨다. 진지하게 학원을 알아보거나 공부를 더 하라고 말씀해주셨다. 수석님께서 말한 테스트는 개발자가 하고 싶은 친구가 이 업무에 적응해서 할 수 있을지였다.

그렇게 짧은 2주간의 아르바이트 생활도 끝이 났다.

결론

이렇게 내 상반기의 활동들도 끝이 났다. 내가 글의 제목을 준비만 하는 겁쟁이라고 지은 이유가 있다.

모든 대학생활이 끝났을 때 생각했던 것도 준비가 부족하다였으며, 현시점에 생각하는 것도 준비가 부족하다는 것이다. 나는 준비가 안 된 게 맞다. 근데 준비가 안 되었다는 핑계로 시작을 미루고 있었다.

올해초에 여유가 있었기에 정보처리기사 를 따려고 마음먹었다. 1차 필기시험 접수를 하고 공부는 설렁설렁하였다. 필기 시험날이 가까워졌을 때 학원에서 만들어야 할 조그마한 프로젝트가 생겼었다. 공부는 거의 하지 않았고, 나는 필기시험 준비가 덜 되었다고 시험 5일 전에 취소했다.

우발적으로 국비지원학원을 그만두었을 때, 편하게 공부하고 싶다는 생각 으로 친구를 찾았다. N 기업의 해커톤을 지원하기 전까지 정말 편하게 공부했었다. 나는 공부하는 장소에 가고 싶을 때 가고, 집에 오고 싶을 때 왔다. 강의만 보면서 내가 직접 공부한 것처럼 착각했었다.

두 번의 코딩테스트를 볼 때, “난 공부 안 했으니까” 라는 생각으로 테스트에 임했다. 당연히 떨어질 거라 생각하면서 끝난 이후에도 알고리즘 공부를 따로 하지 않았다. 이후 알고리즘 공부를 같이할 스터디를 찾았지만 스터디원들의 실력이 나보다 월등하다고 지레 겁먹고 첫날에 그만두었다.

부끄럽다.

부족함을 느끼는 것은 좋다고 생각한다. 부족하면 준비하면 되니깐. 하지만 나는 준비를 핑계로 내 마음이 편해질 곳으로 도망치며 시작도 하지 않았다. 내 전공이 아니라고, 나는 이제 시작한 사람이라고 혼자 위로하면서 몸과 마음이 편해지도록 행동했다. 결국, 그렇게 도망치다 보니 내가 생각하는 준비는 하나도 하지 못했다.

지금까지 난 ‘잘’ 못했다.

내 실패 요인은 불분명한 목표, 그리고 이다. “이 정도 하면 저 정도는 할 수 있겠지” 라는 목표 없는 행동들, 시작도 안 하고 나한테는 수준이 높을 거라고 착각하는 겁쟁이 짓. 이 글을 보면서 계속 되새김질 하고 싶다.

준비가 안되었다는 건, 당장 시작해야한다는 뜻

내년 회고 때는 목표와 실행내용들을 상세히 적고 그에 따른 결과가 어땠는지 후기를 쓰겠다.

Sehun Kim

Sehun Kim

하다보니 되더라구요.

comments powered by Disqus
rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora