개발자 품귀현상이 일어나면서 개발자는 많이 뽑지만 실력검증을 위해서 코딩테스트(이하 코테)를 많이들 채용과정에 넣게 되었죠.
이유는 실력이하의 지원자를 거르기 위해서, 면접을 잘봤는데 알고보니 코딩을 못하던 사례가 네이버, 카카오에서도 있더라
라는 이유긴한데 이렇게 도입한 코테가 다른 부작용도 많았습니다. 그건 좀더 밑에 적도록 하고..
보통 코테의 유형은 세가지입니다.
1. 코딩테스트를 가장한 언어영역의 문제해결 유형
2. 적절한 자료구조 유형
3. 알고리즘 유형(플로우차트가 아니고 컴퓨터공학의 알고리즘론의 알고리즘입니다.)
보통 1,2,3이 적절한 비율로 섞여서 나오는데 신입에 가까울수록 3번의 DFS,BFS,DP 등이 나오고
시니어에 가까울수록 1,2 정도만 나옵니다.
즉 신입의 코테 난이도가 가장높고, 그다음이 주니어 그다음이 시니어입니다.
왜 신입의 난이도가 가장높냐면.. 뇌가 잘돌아갈 젊은? 나이라서.
그리고 그것 외엔 검증할 것이 없기때문이기도합니다.
요즘 아이티업계는 블라인드채용이 늘면서 학벌을 보지 않는경우가 대부분이거든요.
전공관련 프로젝트경험과 코테밖엔 볼게 없기때문입니다.
반대로 시니어에 가까워질수록 코테를 안보는 케이스가 늘어나고, 코테라하더라도 슈도코드수준의 라이브코딩,
그리고 시스템디자인쪽의 질의를 더 많이하게 됩니다.
즉, 개발직군에게 코테는 사실 인문계열의 자소서 필터링과 같다고 보면됩니다.
그리고 코테도 대리시험의 문제가 많았었습니다. 그래서 실제로 카카오에서 뽑고보니 코딩을 못하길래
다음부터는 코테때 나왔던 문제를 그대로 1차면접에서 풀게했더니 전혀 못풀더라...라는 얘기가 전해져내려오죠.
사실, 지원자의 실제 코딩스타일과 실력을 보려면 과제테스트가 더 확실한데 이러기엔 회사나 지원자나 리소스가 너무 많이들어갑니다.
(신입의 경우는 비교적 시간여유가 많지만, 경력들은 그렇지 않죠.)
그러기에 위의 문제를 알면서도 코테를 치는거죠. 즉 비용문제가 큽니다.
실제로 코테는 욕을 많이먹었는데 대부분의 코테시스템이 언어와 라이브러리의 자동완성도되지 않고
외부IDE에서 복붙도 못하게 되어있습니다. (다른 지원자의 복붙을 막는다는 이유로.. 그런이유면 타이핑면되는데..?)
누가 요즘 세상에 라이브러리를 모두외워서 코딩을할까요? 오히려 리얼월드 코딩과는 거리가 먼..
형식에 집중한 테스트가 되어버리는것이죠. 그러다보니 코테가 욕을 많이먹습니다.
사실 코어 알고리즘을 짜는 극소수의 개발자를 제외하고는 과제테스트가 더 적합한 테스트거든요. 다만 시간의 문제일뿐..
개발자가 부족해서 개발자를 뽑는건데, 수천명의 개발자의 과제를 검토하는데 수많은 개발자가 들어가면.. 너무 리소스 낭비죠.
그래서 사실 이업계는 추천을 통해서 가는게 제일 좋긴합니다.
추천자도 나와 같이 일할 사람이고, 나의 평판이 걸려있으니 실력있는 사람을 추천할 수 밖에 없고,
회사입장에서도 검증되고 시간과 비용이 절약된 개발자를 뽑을 수 있으니까요.
그리고 면접관도 지원자에게 훨씬 덜 적대적(?) 입니다.
헤드헌터에게 맡기면 비용이 1000~3000만원은 들어가거든요.
그래서 시니어 한명영입하면 우수한 개발자 5~8명이한번에 넘어오는 케이스가 상당합니다.
그리고 주기적으로..이동도하구요 -_-;
요약
1. 코테유형 : 문제해결, 자료구조, 알고리즘
2. 코테난이도 : 신입일수록 어려움
3. 과제테스트가 더 좋은 유형이지만 비용문제로 어려움
4.요즘은 신입외엔 코테가 다시 없어지는 추세
5.IT업계도 평판이 제일중요. 추천제도가 최고.
6. 소위말하는 네카라쿠배에 입성하면 그들만의 리그
제가 다니는 회사는 꽤 많은 시간 투자해서 과제 테스트 하는데 확실히 이쪽이 비용이 많이 들어도 일하는 동료들은 훨씬 좋더라구요.
사실 코테로 뭉게는건 기업들이 아직 이직시장의 갑이라 그런거라 생각합니다 ㅎ
그럴 수도 있을것 같긴한대... 몇몇 회사들은 과제테스트로 바뀌고 있긴 하더라구요.
과제테스트가 최고인데 시간도 리소스도 없는 경우가 많아서 쉽지 않죠.
그리고, 모르는 사람 뽑을 땐 알고리즘 테스트라도 봐야 되더군요.
입코더들도 많아서 말빨은 좋은데 실제 뽑아서 개발 시키면 제대로 못 하는 경우가 많아서요.
알고리즘 테스트 통과한 사람 중에 기본도 못하는 사람은 단 한번도 본적이 없어서 개인적으로는 알고리즘 테스트를 선호합니다~^^
대신 기술면접의 난이도가 생각하시는것 이상으로 높아지죠. 물론 추천받은 지원자인 경우 추천 반영이 되기도 합니다만.
실제로 입사하신분 중에 입코딩만 하시다 본인이 못견뎌서 나간 케이스도 있었죠.
글 내용 모두 공감합니다.
구글 코드잼 문제 풀어보면서
문제 해석에만 몇시간 걸렸던 적이 있었어요
패션쇼가 어쩌고, 호떡집이 저쩌구
그냥 문제만 주면 되지 이게 뭐야 그랬었는데
이유가 있는 것이었군요
코테는 붙고 기술면접에서 떨어져봤던 1인..
아래 코드를 보고 뭐하는 코드인지 설명하고 문서화 하시오 이런 느낌으로요
요
간단하게 코테로 거르고 면접시 코딩을 하게 하는데도 있고
처음부터 과제테스트로 거른다음에 면접을 편하게 보는것이 있고요
말씀하신 추천제도도 돈을 받기 위해서 아는 사람 모두 추천하는 케이스도 많더라고요
각자 생각하는 좋은 개발자라는데 모두 달라서 충족시키기기가 힘든거 같더라고요
보통 엄청난 코딩 실력을 가지신분들이 많이 대접받긴하더라고요
좀 불만은 천재가 작성한 코드는 유지보수는 천재만 할수 있다라는것이 있네요
요
(자신이 어디서 근무했으며, 00년 차이다! ㅋㅋㅋㅋ)
하나같이 어디서 단기 코스 (교육받고) 받아서 금방 뽀롱나는데?
다른 사람의 의견을 무조건 차단(말을 못 하게)하던데요? ㅋㅋㅋㅋ
앞으로도 계속 먹고살만한... ㅠ
알고리즘 위주의 코테가 필요한 분야도 있겠지만, 죄다 할 필요는 없다고 생각합니다.
예를 들어
퍼포먼스가 더 중점이 되는 엔진 같은 쪽 개발자라면 알고리즘, 자료구조 위주의 코테가 당연히 필요하겠지만
확장과 협업이 중점이 되는 웹 어플리케이션 분야는 문제 정의, 계획, 분리 같은 영역 위주로 보는 것이 좋습니다.