개발자

코딩테스트가 왜 중요한가요?

2023년 06월 24일조회 8,670

현재 프로젝트를 마무리하는 단계이고 곧 취업을 하기 위해 준비를 하고 있는 취준생입니다. 여기저기 회사도 알아보고 준비해야 할 것들이 무엇인지 찾아보고 있는데 코딩테스트를 준비해야하고 이것을 면접때 보는 곳이 많다고 들었습니다 저도 코딩테스트를 해본 적이 없거나 무엇인지 모르는 건 아닙니다 프로젝트를 하기 전 코딩테스트 공부를 했던 적이 있었는데 그때 공부했던 게 사실 프로젝트를 진행하면서 정말 1%도 영향이 없던 건 아니지만 코테를 시간을 들여 공부를 했던 거에 비해 도움이 됐던 부분이 없다고 느꼈고 그 이후에도 코테를 잘한다고 실제 프로젝트를 잘하는 게 아니라는 생각이 많이 들었고 이것을 왜 많은 회사에서 중요하게 보는 것인지 잘 이해가 되지 않습니다.. 왜 코딩테스트를 중요하게 보는 건가요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 7

인기 답변

달레님의 프로필 사진

개발자 채용 프로세스에서 코딩 테스트가 정말 필요한지에 대해서 세준님처럼 의구심을 갖는 분들이 많습니다. 코딩 테스트가 비단 신입 개발자로 취업할 때 뿐만 아니라 현직 개발자들도 이직할 때 마다 상당히 부담이 되는 부분이거든요. 저도 예전에는 아무 생각없이 지원자 입장에서 코딩 테스트를 보기만 하다가 최근에는 채용 결정에 참여하는 입장에서 코딩 테스트를 좀 더 다양한 측면에서 바라보게 되었습니다. 대부분의 코딩 테스트는 주로 지원자의 알고리즘/자료구조 지식과 이를 활용한 문제 해결 능력을 평가하도록 설계되었습니다. 따라서 대학교나 전문 교육 기관에서 관련 CS(computer science) 과정을 이수하지 못한 비전공자나 독학으로 프로그래밍 공부를 하신 분들에게는 매우 불리하죠. 요즘에는 꼭 전공자가 아니라도 소프트웨어 개발 분야로 들어오려고 하시는 분들이 많은데 개인적으로 코딩 테스트가 불합리한 진입 장벽이 되고 있다고 생각하고 있습니다. 게다가 말씀하신 것처럼 코딩 테스트에서 평가하는 능력은 실제 현장에서 개발 업무를 수행하는데 필요한 역량과 연관성이 크지 않은 경우도 많습니다. 예를 들어서 실제로 진행되는 많은 프로젝트에서는 이미 검증을 마친 안정된 라이브러리를 사용하거나 프레임워크를 기반으로 주로 비지니스 로직을 구현하게 됩니다. 따라서 개발자가 직접 자료구조를 이용하여 어떤 알고리즘을 구현해야 하는 경우는 흔치 않으며 오히려 경우에 따라 위험한 발상이 될 수도 있습니다. 이러한 지식은 소프트웨어에서 병목 지점을 찾거나 전반적인 최적화를 수행할 때 도움이 될 수 있지만 이 역시 주니어 개발자에게 요구되는 역량이라고 보기는 어렵습니다. 그럼 이러한 문제점에도 불구하고 왜 이렇게 많은 회사들이 코딩 테스트를 하고 있을까요? 이 부분에 대해서는 지원자 입장이 아니라 회사 입장에서 생각해보시면 이해가 쉬우실 것 같은데요. 채용 프로세스도 회사에게는 하나의 비용이며 대부분의 회사는 최대한 우수한 인재를 최소의 비용으로 채용하기를 원합니다. 따라서 기본 자격이 되지 않는 지원자들을 가급적 채용 프로세스의 초반에 걸러내는 것이 유리한데요. (보통 이 단계를 HR에서는 screening이라고 부르죠.) 왜냐하면 면접 전형까지 가게 되면 인사 담당자 뿐만 아니라 현업 엔지니어나 매니저까지 면접관으로 채용 프로세스에 참여해야하기 때문입니다. 이렇게 어렵게 실무자의 시간을 빼고 있는데 대부분의 지원자가 기초적인 기술 소양이 부족하여 맨날 탈락되고 있다면 회사 차원에서는 큰 기회 비용의 손해로 이어지겠죠? 기본적으로 코딩 테스트는 특히 온라인으로 진행되고 채점되는 코딩 테스트는 이렇게 낭비될 수 있는 채용 비용을 최소화하는데 큰 도움을 주는데요. 많은 분들이 꿈꾸시는 구글, 아마존, 마이크로소프트와 같은 글로벌 빅테크 기업이나 국내 네카라쿠베와 같은 기업에는 항상 감당하기 벅찰 정도 지원자들이 몰리고 있습니다. 따라서 자동화된 코딩 테스트 만큼 짧은 시간에 많은 지원자를 효과적으로 걸러낼 수 있는 방법이 현실적으로 없는 것이지요. 물론 부작용으로 실제 개발 역량이 띄어나지만 코딩 테스트를 준비하지 않은 우수한 인재들을 놓칠 수 있다는 단점도 있지만 어차피 이러한 레벨의 회사들은 평균 이상의 많은 엔지니어가 필요한 것이지 몇 명의 슈퍼스타를 찾는 게 아니라서 큰 문제가 되지는 않습니다. 다행이도 이런 코딩 테스트의 비실효성과 불합리성에 대해서는 여러 커뮤니티에서 활발한 논의가 이루어지면서 조금씩 개선하려는 시도가 보입니다. 실제로 코딩 테스트 대신에 포트폴리오나 과제로 대체하려는 스타트업들이 점점 늘어나고 있는데요. 여기서 한 가지 딜레마는 이러한 스타트업도 나중에 덩치가 커지게되면 일일이 지원자의 작업물을 검사하는데 결국 한계가 올 거라는 것입니다. 아무래도 업계 전반에서 글로벌 빅테크 기업을 따라가는 경향이 있기 때문에 이렇게 선도하는 기업에서 딱히 좋은 해결책을 내놓지 않는 이상 바뀌기가 어려울 것 같기도 하네요. 답변이 좀 길어진 것 같은데요. 정리해보자면 코딩 테스트는 단지 지원자를 효과적으로 거르기 위해서 많은 회사에서 채택하고 있는 채용 단계일 뿐입니다. 코딩 테스트에서 평가하는 능력은 실제 현업에서 필요로 하는 실무 개발 능력과 상당한 거리가 있으며 그래서 코딩 테스트가 좋은 개발자를 뽑는데 중요한 역할을 한다고 보기는 어렵습니다. 그래서 보통은 면접 전형과 같은 채용 프로세스의 남은 단계에서 코딩 테스트로는 측정이 어려운 지원자의 실제 역량을 추가적으로 검증한 후에 채용 결정을 하게 되지요. 좋은 싫든 코딩 테스트는 현재 업계에서 관행처럼 어느 정도 굳어진 채용 과정의 일부이기 때문에 우리는 개발자로서 코딩 테스트를 피하기 어려운 현실에 있습니다. 🥲

엄홍재님의 프로필 사진

엄홍재

커리어리 소프트웨어 엔지니어2023년 06월 26일

너무 좋은 답변이네요. 답변에서 정성도 느껴지고요. ^^ 좋은답변 남겨주셔서 감사합니다. 저도 코딩테스트를 열심히(?) 준비했던 사람으로서 위의 내용에 조금 첨언을 해보겠습니다. 질문자님이 코딩테스트를 시간을 들여 공부를 했던 거에 비해 도움이 됐던 부분이 없다고 느꼈고 그 이후에도 코딩테스트를 잘한다고 실제 프로젝트를 잘하는 게 아니다 라고 생각하셨는데 제 생각은 조금 다릅니다. 제가 느끼기에는 일정수준의 알고리즘 실력과 구현능력은 프로젝트에 도움이 된다고 생각합니다. 코딩테스트를 아예 못하는 사람이 프로젝트는 너무 잘한다? 는 아주 소수일 것 같아요. 어느정도의 일정 능력의 코딩테스트 까지는 필요한 능력이고 회사에서도 이것을 원하는 게 아닐까 싶습니다. 회사에서는 코딩테스트를 통해 응시자의 기본적인 언어에 대한 사용능력을 볼 수 있고 논리나 구현방식을 확인할 수 있으니까요. 그리고 코딩테스트를 통과한다고 해서 합격이 아니고 면접이 기다리고 있습니다... ㅋㅋㅋㅋㅋ 그래서 저는 코딩테스트가 1차 거름망이라고 생각합니다. 달레님이 말씀해 주신것처럼 회사들은 평균 이상의 많은 엔지니어가 필요한 것이지 몇 명의 슈퍼스타를 찾는 게 아니니까요. (굉장히 공감)

세준님의 프로필 사진

세준

작성자

프론트엔드2023년 06월 27일

좋은 답변 감사합니다!! 너무 정성스럽게 써주셔서 덕분에 궁금증이 많이 해소가 된 거 같아요! 아무래도 회사 입장에서 코딩테스트를 보는 이유에 대해 생각을 해보지 못 해서 드는 생각일 수도 있던 거 같아요! 많은 도움 얻어가요! 감사합니다~!!

인기 답변

현구님의 프로필 사진

회사마다 코딩 테스트를 보는 목적은 다양할 수 있겠지만, 결국 난이도를 통해서 최소한으로 이정도의 사고력/문제 해결력은 갖춰야 한다를 필터링 하기 위해서라고 생각합니다. 주니어의 역량을 파악할 지표로 삼을게, CS지식과 문제 해결 프로그래밍으로 제한적이기도 하구요, 경력직으로 넘어가면 코테는 없거나 기초 수준으로 난이도가 낮아지고 과제 위주로 보는 회사도 많습니다. 그러면 코딩 테스트같은 문제 해결 프로그래밍이 실제로 도움이 되냐? 라는 의문도 드실것 같습니다. 성능을 최적화 해야하는 상황에서는 알고리즘,자료구조와 함께 이러한 논리적 접근들이 사용됩니다! 만... 그정도로 최적화를 해야하는 케이스를 일하면서 만날 경우가 일반적으로 많지 않고, 실무에서 사용하는 프레임워크,라이브러리들에는 이미 내부적으로 적용이 되어 최적화 돼 있을 확률이 높습니다. 어떻게 보면 수학과 프로그래밍의 연관성과도 같습니다. 실제로 필요한 일이 생기면 사용하겠지만, 추상화의 끝단에서만 일을 한다면 거의 마주할 일이 없습니다. 반대로 딥다이브를 할 수록 마주할 확률이 높아지는것 같구요. 개인적으로는 한번 해결해낸 문제들은 수학 공식처럼 다른 문제들을 풀어내는데도 응용이 가능하고 전반적으로 문제 해결에 대한 접근 방식의 폭을 넓히고, 추후에 라이브러리나 무언가를 뜯어보며 파악해야 할 일이 생겼을때 이해도를 높이는데도 도움이 된다고 생각합니다! (체득해서 알고 있는것과 단순히 인지만 하고 있는것은 명확히 다르거든요.)

세준님의 프로필 사진

세준

작성자

프론트엔드2023년 06월 27일

친절한 답변덕분에 많은 지식을 얻고가요!! 왜 어떻게 코딩테스트가 도움이 될까? 라는 생각을 못 했던 거 같아요! 감사합니다~!!

인기 답변

ghilbut님의 프로필 사진

솔직히 코딩테스트가 중요하다기 보다 코딩테스트 욕하는 사람들 때문에 문제인 것 같습니다만... 코딩테스트가 문제가 있는 선별 방법도 아니고, 각 회사가 채용 기준을 자체적으로 정한 것 뿐인데, 일부 엇나간 사람들이 왜 헐뜯고 비웃지 못해 열심히인지 모르겠더군요. 토익이나 토스, 오픽 점수도 영어회화 실력과 괴리가 있는데 이렇게 시끄럽게 굴지는 않잖아요? 코딩테스트 잘한다고 다 일 잘하는 거 아니고 반대도 마찮가지 입니다. 그런데 입사 과제도 똑같아요. 가고 싶은 회사가 코딩테스트로 입사면접 보면 합격할 수 있도록 열심히 준비하면 그만이고, 아니면 안하면 그만입니다. 괜히 남의 회사 채용 프로세스를 외부에서 잘하는 짓이다 못하는 짓이다 평가할 이유가 없습니다. 참고로 제가 코딩인터뷰를 보는 이유를 적은 글을 공유드립니다. https://medium.com/@ghilbut/%EC%99%9C-%ED%99%94%EC%9D%B4%ED%8A%B8%EB%B3%B4%EB%93%9C-%EC%BD%94%EB%94%A9-%EC%9D%B8%ED%84%B0%EB%B7%B0%EB%A5%BC-%ED%95%98%EB%8A%94%EA%B0%80-6c15e5c868ff

현기님의 프로필 사진

저도 아직 미숙하기에 팩트는 아니지만, 점점 개발도 취업 도입벽이 높아지면서 마치 일반적인 취업 때, 토익점수를 보는 것과 비슷하다고 보시면 좋을 것 같습니다! (코딩테스트를 잘한다고 실무를 잘하는 것은 아니지만, 적어도 코딩테스트를 잘한 사람들 중에서 실무도 잘할 수 있는 사람이 있을 '가능성' 이 높기 때문에, 좀 더 실패 확률이 적은 인재를 찾기 위함)

이영준님의 프로필 사진

자료는 어차피 검색하면 다 나오는 시대니 알고리즘이 중요해지고 모든 사람을 다 면접 볼수는 없으니 기본이 안된 지원자를 거르기 위한 수단인거죠 면접에서 하는 경우도 있으나 요새는 온라인 코딩테스트 서비스하는 곳들이 있을 정도니 좋은 회사는 잘하는 사람이 많이 지원할 것이니 어려워질 수 밖에 없죠.

최원영님의 프로필 사진

IT쪽으로 프로그램 쓰는 회사로 님이 가고 싶은 회사들은 아마 코딩 테스트 해요.(그냥 테스트입니다. 합불합격자 가르기 용) 그리고 HW 쪽 이나 공정 업무는 이런거 보면 사람을 못 뽑을 꺼예요.

커리어리 AI 봇님의 프로필 사진

코딩 테스트는 기업이 지원자의 프로그래밍 능력을 평가하는 하나의 방법입니다. 프로젝트 경험을 바탕으로 개발 역량을 평가하는 것도 중요하지만, 프로젝트는 종종 팀으로 진행되며, 개인의 역량을 정확히 파악하기 어렵기 때문에 이를 보완하는 방식으로 코딩 테스트를 활용하곤 합니다. 코딩 테스트가 중요한 이유는 아래와 같습니다: 1. 기술적 역량 평가: 코딩 테스트를 통해 지원자의 문제 해결 능력, 로직 구현 능력, 코드 품질(가독성, 최적화, 리팩토링 능력 등) 등을 평가할 수 있습니다. 이를 통해 기업은 지원자가 실제로 코딩 작업을 수행할 때 어떤 수준의 역량을 보여줄 수 있는지를 알 수 있습니다. 2. 기본 지식 확인: 코딩 테스트는 지원자가 자료구조, 알고리즘, 프로그래밍 언어 등 기본적인 CS 지식을 얼마나 잘 이해하고 있는지를 확인하는 방법이기도 합니다. 3. 고르고 있는 여러 후보 중 선택: 많은 지원자들 중에서 누구를 면접으로 불러야 할지를 결정하는 기준이 될 수 있습니다. 4. 문제 해결 능력과 창의성 평가: 문제를 해결하는 데 필요한 논리적 사고와 창의성을 평가할 수 있습니다. 코딩 테스트에서는 일반적으로 문제를 어떻게 접근하고, 어떤 해결책을 생각하며, 이를 어떻게 구현하는지를 평가합니다. 이런 이유로 많은 기업들이 코딩 테스트를 진행합니다. 그렇지만, 모든 기업이 코딩 테스트를 요구하는 것은 아닙니다. 일부 기업은 포트폴리오, 프로젝트, 이전 경험 등을 중점적으로 보기도 합니다. 코딩 테스트에 너무 집착하기보다는, 전체적인 개발 역량과 프로그래밍 지식, 그리고 문제 해결 능력을 향상시키는 것이 중요합니다.

커리어리 AI 봇의 답변을 평가해 주세요!

석동현님의 프로필 사진

석동현

Software Engineer2023년 06월 29일

수능이나 기업인적성이랑 같은맥락 같다는생각입니다. 하등필요없지만 걸러내기 아주 좋은 시스템이죠

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!