본문 바로가기

알고리즘

취업을 위한 코테 톺아보기

아래 내용은 책 "이것이 취업을 위한 코딩테스트다"의 내용을 바탕으로 추가조사한 내용을 정리한 것입니다.

개발자 취업을 위한 여정

동아리 신규부원 뽑기

저는 별거 아니지만 교내 개발 동아리에서 운영진으로 참여한 경험이 있습니다.

나름 수준 높은(?) 동아리라서 서류 + 면접을 통해서 신입 부원을 선발했었고, 선발자로서 2번의 경험을 해보았었죠.

 

한 번은 해당 기술 파트의 교육자 또는 멘토로서 참여했었고, 또 한 번은 동아리의 운영을 담당하는 운영자로서 참여했었습니다.

총 합쳐서 50번 정도는 면접을 봤던 것 같고 그 반대로 면접자로서도 한 번 참여했었었죠.

"안녕하세요 지원해주셔서 감사합니다. 저는 00을 맡은 000입니다." X 50

 

그 동아리는 생긴 지 얼마 안되었기 때문에, 시스템이라고 할 게 그렇게 완벽하지 않았습니다.

말하자면, 아무나 들어오면 동아리가 망하는 상황이었죠.

막상 당시에는 선발을 신경쓰지는 않았었는데, 동아리 운영 짬(?)이 좀 차면서 "사람이 미래다"라는 걸 많이 느꼈던 것 같습니다.

 

채용 프로세스와 코테의 의미

정말 별 것도 아닌 교내 동아리도 이렇게 사람 뽑는 것이 중요한데, 회사는 어떨까요?

아무리 시스템이 잘 되어 있다고 해도 돌맹이보다는 원석이 당연히 나을 것입니다.

 

그래서 그런지 개발자 채용 과정은 제 서론처럼 길었습니다.

보통 아래와 같은 순서라고 합니다.

서류 - 코테 - 기술면접 - 인성면접

 

물론 기업마다, 코테와 면접을 동시에 보거나 AI 면접을 보는 곳도 존재합니다만 일반적인 형태가 이렇다는 말입니다.

 

일반적으로

대기업은 코테를, 스타트업은 기술면접을 중시한다고 합니다.

 

대기업은 코테와 같은 베이스가 잘 되어 있다면 이들을 키울 역량이 충분하지만, 그 많은 지원자의 면접을 볼 시간은 없고

스타트업은 바로 실무에 투입되어야 하며, 지원 인원이 대기업보다는 적기 때문이죠.

 

물론 저는, 스타트업 코테도 통과 못할 실력이고(내일 토스 코테가 있는데...)

대기업의 기술면접도 통과하지 못할 실력이긴 합니다.

또한 요즘의 유니콘 스타트업은 대기업만큼 아니면 그 이상으로 인기가 많은 것처럼 느껴집니다.

 

이 책이 쓰여진게 2020년이라는 점을 감안하면, 일반적인 의미로 받아들이면 될 것 같습니다.

 

이런 맥락 속에서,

개발자 채용 프로세스 속 코테의 위치는,

"우리가 면접에 할애할 시간은 이정도 있는데, 보잘 것 없는 애들에게는 쓸 시간이 없어

그 정도는 통과하고 와야 우리가 시간을 내어줄게"

정도로 볼 수 있을 것 같습니다.

 

출제 경향 분석

알고리즘 문제 풀이의 두 트랙

저는 알고리즘 문제 풀이에는 두 가지 트랙이 있다고 생각합니다.

하나는 대회 준비이고,

하나는 코테 준비이죠.

 

저는 분수에 맞지 않게 대회 준비 트랙을 탔다고 말할 수 있겠습니다.

운이 좋게도, 제 동기 분이 알고리즘에 정통하셨고, 그 분과 약간의 친분이 있었으며, 그 분이 만든 동아리에 들어가서 공부했기 때문이죠.

 

최근 반년 간 해당 동아리에서의 제 활동은 전무합니다만... 들어간지 반년 정도는 꽤나 열심히 활동했었죠.

교내 알고리즘 대회나 ICPC 같은 경험도 해보았으니까요.

 

그러나 저는 알고리즘 문제 풀이에 시간을 많이 쏟는 사람이 아니었고,

뭔가 듣고 본 건 많은데 실제로 문제를 많이 풀어보지는 않은 사람이었죠.

뭐랄까.. 대가리만 큰 상태라고 할 수 있었습니다.

 

그리고 해당 동아리는 대회에 초점이 맞춰져있었기에, 문제 난이도가 만만한 수준은 아니었습니다.

그래서 저도 모르게 두려움이 심어진 것 같습니다.

 

코테 문제 경향을 봤을 때

엥? 생각보다 쉬운데?

 

라는 생각이 머리에 가장 먼저 떠올랐기 때문입니다.

 

코테 = 문제은행

그렇습니다. 제가 어디서 줏어들었던 것처럼, 코딩테스트는 그냥 시간만 투자하면 넘길 수 있는 장벽이었던 것입니다.

좀 깔보는 투로 말하면, 문제은행이라고 생각해도 되는 것이지요.

머리에 이상이 없다면, 그냥 많이 풀어보는 것만으로도 충분한 실력에 도달할 수 있다는 것입니다.

 

그렇다면, 지난 6년 간(군 휴학 포함) 뭐 한 3일에 1문제씩만 풀어봤으면 됐다는 말인가요??

네 맞습니다.

 

저는 그것도 안한 게으름뱅이었던 것입니다.

블로그 닉값을 착실히 한 셈이죠.

 

구체적인 알고리즘 분류로 들어가면,

최단경로, DP, 그래프, 이진탐색 보다는

구현, 그리디, BFS/DFS가 많이 나온다고 합니다.

 

세상에 맙소사.. DP만 많이 풀었던 제 지난 날은 무엇이 되는 걸까요?

절대적으로 많은 건 아니지만... 제일 많이 푼 유형인데...

 

물론 작년 토스 코테에는 DP도 나왔다는 정보가 있는 걸 보니, 역시 2020년 책임을 감안해야겠습니다.

하지만 그럼에도 제가 생각하는 것보다 "수준"이 높은 것은 아닌 것입니다.

 

중요한 건 꾸준함

앞서 말씀드린 것처럼, 머리도 좀 큰 상태이고 줏어들은 것도 많은 상태인데..

코테를 통과하려면 이제 뭘 해야할까요??

 

네 맞습니다. 그냥 꾸준하게 많이 풀면 됩니다.

중요한 것은 "많이"보다는 "꾸준함"인 것 같습니다.

 

왜냐하면 최근에 수영을 시작하면서(3달 정도) 꾸준함의 힘이 무엇인지 살짝쿵 느끼고 있기 때문입니다.

분명 처음에는 수영장 물을 따로 갈 필요없을 정도로 제가 다 마셔버렸었는데, 이제는 자유형으로 25m는 하겠더군요.

수영장에만 가면..

 

많이 나간 것도 아니고, 1주일에 3회 45분 정도만 했는데 말입니다...

 

그러니까 코딩테스트는 하루에 1문제 하면 한 30분 정도 밖에 안되니까...

무슨 짐싸고 수영장까지 갈 필요도 없이 그냥 침대에서 노트북만 펴도 되니까....

제발 블로그 이름을 바꿀 수 있게 꾸준하게 문제를 풀어보도록 하겠습니다.