안드로이드 연구소

전공자들이 코딩 테스트를 해야하는 이유(To. 컴공과 후배와 친구들) 본문

스타트업을 위한 작은 코딩테스트

전공자들이 코딩 테스트를 해야하는 이유(To. 컴공과 후배와 친구들)

안드로이드 연구원 2023. 7. 27. 03:22

안녕하세요. 안드로이드 연구원입니다.

이제 장마가 끝나고 다시 무더운 땡볕이 다가오기만 기다리고 있는 여름입니다.

 

최근 두달간 써오던 안드로이드 기술블로그를 쭉 포스팅을

한달 정도 멈추게 되었습니다.

 

여름이여서 휴가를 간 것도 아니고

블로그가 이제 쓰기 싫어서 도망친 것 도 아니고

그동안 처음으로 코딩 테스트라는 것을 공부하였습니다.

(참고로 저는 코딩테스트 혐오주의자였습니다.)

 

간단한(?) 코딩 테스트 샘플(뭔 소리여)

 

1. 취업을 해도 달라지지 않는 현실

저는 사실 첫 회사에서 알고리즘 코딩 테스트는 따로 보지 않았고

대기업은 나와 먼 일이라 생각을 해서 준비를 한 적이 없었습니다.

 

저는 컴공을 나와서 필수 과목인 "자료구조"와 "알고리즘" 수업을 들었는데

다 소화시키지도 못한 채 6-7년의 시간만 흘러 제 기억 속에서는 찾을 수 가 없게 되었습니다. 

 

그리고 회사를 다니게 되면서 일을 하다 보면

자연스럽게 자료구조와 알고리즘 실력을 늘어갈 것이라 생각했습니다.

 

하지만 제가 참여했던 프로젝트 중에서

String, Int, Boolean와 ArrayList말고 사용한게 없더라구요.

심지어 Array마저도 사용한게 별로 없습니다.

자료구조들도 그런데 알고리즘은 더 할 말이 없겠죠?

잘했는데?

 

2. 업무에 코딩테스트는 전혀 도움되지 않아!

그러면 많은 개발자들은 이렇게 말합니다.

"업무 할 때 그런거 아무것도 필요 없어"

 

저도 이 말에 동의했습니다.

하지만 이제는 조금은 동의하지 않을 것 같습니다.

 

최근 코딩 테스트를 공부하며 CS기초를 다시 배우면서

"그때 ArrayList말고 Array로 사용하는게 더 효율적이였겠다."

"그때 Map으로 작성했으면 O(1)으로 처리했을텐데."

"아 그 Set을 사용했다면 진짜 심플하게 해결했겠구나."

 

저는 백엔드에서 가공된 데이터를 받아서 처리하는데도

이러한 생각이 들었는데 백엔드나 데이터를 관리하는 직무는 더욱 그렇게다라고 생각했습니다.

(아니라면 댓글 달아주세요 ㅎㅎ;)

 

3. [전공자 우대] 진짜 우리가 전공자?

요즘 정말 많은 기업 채용들을 많이 보고 있는데요.

전공자 우대라는 말을 간혹 볼 수 있었습니다.

그 말은 CS지식이 쫌 더 있는 전공자를 뽑겠다는 얘기인데

정말 우리가 그런 전공자들이 그런가요?

 

대부분의 전공자들이 한 학기 자료구조, 한 학기 알고리즘

총 1년간 수업을 들으면 과제도 하고 시험도 쳤을 겁니다.

 

하지만 저의 개인적인 의견으로 코딩 테스트를 한 달 빡세게 준비한 비전공자들이

CS지식으로 더 우수하다고 생각합니다.

 

그 차이는 "나의 것으로 만들지 못했나? 만들었나?"의 차이인 것 같습니다.

수업은 그저 무엇이 선형구조인지 비선형구조인지, 이해도 하지 못한채 시간복잡도 O(logN)이야하면서

그저 외웠기 때문입니다.

 

하지만 코딩테스트를 하면 자신만의 언어로 자기가 아웃풋하게 됩니다.

물론 처음에는 어떻게 쓰는지 헷갈리고 까먹기도 하지만 3번만 하다보면

자동적으로 사용하게 됩니다.

 

또 난이도가 점점 높여가면서 응용을 하면서

더 높은 수준의 체내화를 하게 됩니다.

https://e.kakao.com/t/youre-mine_2

 

4. 취업의 현실

전 창업을 꿈꾸고 있어 다양한 스타트업에서의 경험을 하고 싶어했고

지금도 크게 바뀐 것은 없습니다.

 

그래서 대기업보다는 서비스를 잘 런칭중이거나

정말 흥미가 가는 사업아이템을 구상중인 스타트업에 도전하고 있습니다.

 

대부분의 스타트업들은 코딩테스트를 보지 않습니다.

하지만 반대로 몇 몇 스타트업만이 코딩테스트를 보고 있습니다.

또는 해당 직무의 과제 테스트로 채용 인원을 선별하고 있습니다.

 

가장 키포인트는 이 부분입니다.

우리는 좋은 스타트업을 고를 때 코딩테스트를 보는 기업들을 가야합니다.

 

왜 그럴까요?

그 이유는 첫번째로 코딩 테스트로 선별된 인원이 곧 나의 팀원이다.

코딩테스트가 좋은 개발자를 가르는 척도는 아니지만

제가 아는 코딩 테스트 준비했던 지인들은 10명중에 10명이

현재에 안주하지 않고 계속 공부하는 학구열이 있는 성향들이었습니다.

아무래도 이런 사람들과 있으면 자극도 되고 배울 것 도 많을 것일 생각합니다.

 

두번째 채용 과정에 코딩 테스트가 있다는 것은 회사의 최소한의 프로세스가 갖춰졌다.

우리는 코딩테스트를 쳐보기만 하는 입장입니다.

하지만 회사 입장에서 생각해보면 문제를 선별하고 커트라인을 설정하고 

지원자들이 어떻게 코드를 작성했는지 확인하고(안하는 경우도 있다고 함)

테스트 방법을 안내하고 통보하는 등 단순히 생각해도 작지 않은 프로세스가 생깁니다.

자신의 일로 바쁜 10명 밖에 없는 작은 회사라면 감당할 엄두가 생길까요?

 

세번째 기업 복지와 분위기

코딩테스트를 보는 기업과 보지 않는 기업은 복지와 분위기부터가 다릅니다.

너는 많은 회사들을 가보지도 않았는데 어떻게 아냐구요?

그 답을 잡플래닛에서 확인할 수 있었습니다.

잡플래닛은 자신의 입사자나 퇴사자들이 평점과 리뷰를 남기는데 이를 확인하면

두 회사의 차이는 너무 극명하게 보입니다.

 

아래는 채용 프로세스에 코딩테스트가 있는 기업의 리뷰입니다.

당연히 단점과 낮은 점수를 준 리뷰도 있지만 5점 만점에 4.3점을 받을 만큼 기업 문화가 좋은 기업이라 생각합니다.

 

코딩테스트 프로세스가 없는 회사들은 캡처를 해서 보여주지 못하지만

"월급 밀림", "만연한 갑질", "학연,지연,혈연, 낙하산 등 등"

코테가 있는 기업들에서는 볼 수 없는 댓글들이 보입니다.

 

반드시 코테가 있다고 좋은 회사는 아니지만 

자신이 취업이나 이직을 위해서 기준을 갖고 채용 시장을 본다면

위의 흐름을 보실 수 있습니다. 

 

 

5. 달라진 꿈의 크기

앞 전에도 얘기했지만 저는 창업에 관심이 많아 스타트업만 생각했는데

이는 어쩌면 코딩 테스트는 죽어도 하기 싫은 저의 핑계일지도 몰랐을 것 같습니다.

 

위에서 얘기한 성장할 수 있고, 좋은 팀원이 있고, 기업의 복지와 분위기가 좋은 곳의 끝판왕은

대기업과 네카라쿠배당토와 그에 버금가는 회사들이지 않겠습니까?

 

대기업은 저와 정말 먼 길이라고 생각을 했지만

고작 이 한달 코딩 테스트를 해놓고

'내가 왜 대기업을 못가?' 라는 생각을 하게 되었습니다.

 

당연히 지금으로는 너무 부족하지만

업무와 직무를 병행하면서 조금씩 코테를 준비한다면(근데 이게 제일 어려움. ㄹㅇ)

언제가는 도전해볼 수 있지 않을까라는 생각이 문득 들었습니다.

 


램군의 아웃풋의 법칙을 읽고

저의 귀여운 한 달 간의 코딩테스트 과정을 정리하려하였는데

어쩌다보니 그 시작은 잔소리로 시작하게 되었습니다.

 

저는 좋은 개발자가 되는 방법을 선배들이나 친구들에게 물어보고 싶었지만

객관적으로 그러기에는 힘든 환경이었습니다.

 

저라도 똑바로 해서 과거의 저 같은 후배들에게 알려주고 대답해줄 수 있는 선배가 되고 싶었지만

이제보니 저도 선배놈들(?)이랑 똑같이 되었습니다.

 

이미 꼰대 소리를 듣고 있다면 그건 나 자신

반성하는 의미로 이렇게 블로그에 올리고

다음 포스트에서 한달간 코딩 테스트를 공부하여

백준 브론즈~실버, 프로그래머스 1단계 정도(부끄) 풀 수 있는 과정들을 올려보겠습니다.

 

(겨우 저정도 풀면서 블로그 올리냐는 분들은)

(저 쫌 멱살 잡고 쫌 갈켜주소)

Comments