Logo

코딩 테스트에서 어떤 언어를 사용해야 할까요?

코딩 테스트을 볼 때 어느 프로그래밍 언어를 사용해야하나요?

코딩 테스트나 코딩 인터뷰 준비를 하시는 분들이 정말 많이 물어보시는 질문입니다. 😄

본인에게 가장 친숙한 언어

이런 질문을 받으면 저는 보통 어떤 프로그래밍 언어로 코딩을 하시는 게 가장 편하신지를 여쭈어 봅니다. 대부분의 경우, 본인이 현재 가장 잘 쓰고 익숙한 언어가 코딩 테스트을 볼 때 사용하기 가장 적합한 언어이기 때문입니다. 어떤 시험에서든 자신감이 무엇보다 중요한데 본인에게 친숙하지 않은 언어로 코딩을 해야한다면 시작부터 불안한 마음이 들 것입니다.

인턴 채용 인터뷰에서 직접 고른 프로그래밍 언어의 API도 잘 몰라서 코딩 테스트 도중에 구글링해보면 안 되냐는 질문을 하는 대학생 지원자를 간혹 만나게 됩니다. API를 숙지하고 있는 게 중요한 부분은 아니므로 허락을 해주지만, 이런 지원자가 만족할만한 코드를 작성하는 경우는 극히 드뭅니다. 코딩 테스트 내내 문법 오류 때문에 진땀을 흘러거나, 자신감을 상실하여 시간이 아직 남았는데도, 본인이 지레 포기하는 경우가 많습니다.

본인이 가장 자신이 있는 프로그래밍 언어로 코딩 테스트을 보셔야 주어진 문제를 해결하는데만 온전히 집중할 수 있습니다. 어떤 프로그래밍 언어로 코딩 문제를 해결을 하려면 단순히 if 조건절과 for 반복문과 같은 기본 문법을 아는 것만으로는 부족합니다. 해당 프로그래밍 언어가 지원하는 자료구조를 잘 이해하고 있어야 하고, 내장 모듈도 적절히 활용할 줄 알아야 효율적인 코드를 작성할 수 있습니다.

코딩 테스트에 가장 유리한 언어

아직 익숙한 언어나 특별히 선호하는 언어가 없으신 코딩 입문자분들께는 파이썬(Python)이라는 언어를 추천해드립니다. 파이썬은 소프트웨어 개발의 거의 모든 분야에서 사용되고 있어서 한번 배워두면 활용할 때가 많은 높은 범용 프로그래밍 언어이기도 하지만, 저는 개인적으로 여러모로 코딩 테스트에 가장 최적화된 언어라고 생각하고 있습니다.

제가 한국에서 개발자로 일할 때는 자바(Java)를 상당히 오랫동안 주 언어로 사용했었고 그래서 자연스럽게 자바로 코딩 테스트을 많이 보았습니다. 그러다가 손으로 코딩을 하는 스터디 그룹에서 우연히 파이썬을 쓰시는 다른 개발자 분의 코드를 접하게 되었는데요. 그 때 그 분의 간단 명료한 파이썬 코드와 A4 용지 한장을 빼곡 채우고 있는 저의 자바 코드를 비교해보니 뭔가 참 억울하다는 기분이 들었습니다. 그리고 그 이후로는 저는 직장에서 어떤 언어를 사용하든 코딩 테스트을 볼 때는 항상 파이썬을 애용하고 있습니다.

파이썬의 문법은 여타의 프로그래밍 언어와 비교가 안 될 정도로 간단합니다. 그래서 다른 언어로 수십 줄의 코드가 필요한 알고리즘을 파이썬을 사용하면 단 몇 줄의 코드로 구현할 수 있는 경우가 많습니다. 즉, 파이썬은 더 적은 코드로 더 많은 것을 할 수 있게 해주는 언어입니다.

일반적으로 제한된 시간 내에서 진행이 되는 코딩 테스트나 코딩 인터뷰에서 이러한 파이썬의 특징은 엄청난 강점으로 작용합니다. 예를 들어, 자바로 작성하면 15분이 걸리는 어떤 코딩 문제의 해답을 파이썬을 사용하여 10분 내에 작성을 할 수 있다면, 그 절약한 5분으로 면접관과 코딩 문제에 대한 추가적인 토론을 하는 등 분명 본인에게 좀 더 유익한 방향으로 인터뷰를 이끌어 갈 수 있을 것입니다.

또한, 문법이 간단한 언어로 코드를 짜면 일반적으로 코드를 읽기에도 수월합니다. 특히 파이썬의 경우 의사 코드(pseudo code)와 거의 유사하게 쓰여지기 때문에 자연스럽게 작성자의 의도가 읽혀지는 경우가 많습니다. 즉, 코딩 인터뷰에서 면접관에게 나의 코드가 어떻게 동작하는지 구구절절이 식은땀을 흘리면서 설명할 필요가 적어지겠죠?

뿐만 아니라 적은 양의 코드를 작성할 수 있다는 것은 그 만큼 버그가 발생할 가능성을 줄일 수 있다는 말이 되기도 하는데요. 코드를 많이 작성해야 되면 그만큼 오타를 낼 확률도 높아지고, 특히 화이트 보드 같은데 손코딩을 해야하는 상황이라면 피로감도 커질 것입니다.

코딩 테스트에서 사용 가능한 언어

무엇보다도 간과하기 쉬운 부분이 모든 코딩 테스트에서 지원자가 스스로 프로그래밍 언어를 선택할 수 있는 것은 아니라는 것입니다. 따라서 사전에 반드시 해당 코딩 테스트에서 사용 가능한 프로그래밍 언어에 제한이 없는지 확인해보는 것이 중요합니다.

코딩 테스트 도중에 본인이 원하는 프로그래밍 언어를 찾지 못해서 난감해하는 지원자를 의외로 많이 보게 되는데요. 온라인으로 진행되는 코딩 테스트의 경우, 내가 사용하고 싶은 프로그래밍 언어가 코딩 플랫폼에서 지원하는지 확인해야하고, 채용 담당자를 통해서 한 번 더 컨펌받는 것도 좋습니다. (일부 코딩 플랫폼은 응시자의 언어 선택 옵션을 추가로 제한할 수 있습니다.)

그리고 어떤 포지션에 지원하는냐에 따라서 특정 프로그래밍 언어를 사용하라고 요청하거나 또는 암묵적으로 그러기를 기대하는 경우도 있습니다. 예를 들어, iOS 모바일 개발자를 채용하기 위한 코딩 테스트에서 Swift나 Object C를 쓰라고 할 확률이 안드로이드 진영에서 주로 사용되는 Kotlin이나 Java를 쓰라고 할 확률보다는 당연히 훨씬 높겠죠? (실제로 그런 제한이 없다고 하더라도 면접관에게 익숙한 프로그래밍 언어로 코드를 작성하는 편이 의사소통 측면에서 유리할 것입니다.)

본인이 지원하시고 싶은 분야에서 어떤 프로그래밍 언어가 많이 사용되는지를 미리 파악해두시면 엉뚱한 언어로 코딩 연습을 하시는 실수를 줄이실 수 있으실 것입니다.