왜 COS Pro를 따게 되었는가?


소프트웨어 전공인 나에게 자격증은 필수적이지 않으며, 있으면 좋을 수도 있는 계륵 같은 존재이다. 대부분의 소프트웨어 전공자들은 자격증이 없는 경우가 정말 많으며, 가장 흔한 자격증이 정보처리기능사/산업기사/기사 자격증일 정도로 민간 자격증은 관심 외의 존재이다. 하지만 소프트웨어 전공자들에게도 자격증이 필요해지는 한가지 상황이 있는데, 그것은 바로 정부 관련 기관과 업무를 진행할 때 학력과 더불어 자격증의 유무를 보기 때문이다.

이때 소프트웨어 전공자들이 가장 흔하게 접하는 정부 관련 업무는 바로 군 입대이다. 대부분의 대학생이 그렇듯이 소프트웨어 전공자들 또한 자신의 전공을 살릴 수 있는 군 보직을 얻기를 윈하며, 전공 관련 보직을 얻기 위해서는 자격증 취득을 통해 높은 점수를 획득하는 것이 유리하다. 나 또한 육군 SW개발병을 희망하였기 때문에 COS Pro를 취득하게 된 것이다.

이유는 모르겠지만 육군 SW개발병 모집시 COS Pro 1급을 정보처리기사 혹은 전자계산기기사와 같은 점수를 부여한다. 따라서 SW개발병을 희망하는 학부 재학생 입장은 정보처리기사 응시 자격이 안되기 때문에 SW코딩자격 1급과 더불어 COS Pro 1급은 가장 높은 점수를 얻을 수 있는 유이한 자격증인 것이다. 나 또한 이러한 이유로 COS Pro 1급에 응시하여 취득하게 되었으며, 부가적인 이유로는 코딩테스트 연습 혹은 자기개발 목적이 있었다. 물론 학교에서 자격증 응시비를 지원해주었던 것도 부담 없이 응시하게된 이유 중에 하나였다.


COS Pro 알아보기


COS Pro란?

COS ProYBM에서 발급하는 등록(비공인) 민간자격으로 C, C++, C#, Java, Python의 5개 언어에 대해 코딩전문가자격을 부여하는 자격증으로 한국어로는 코딩전문가자격시험이라는 명칭을 가지고 있다. 우리에게는 토익으로 유명한 YBM에서 코딩 자격증을 부여한다는 것이 특이하며, 어찌 보면 프로그래밍 언어도 언어이기 때문에 YBM에서 이러한 자격증을 만들지 않았을까 하는 생각도 든다.

아무튼 YBM 공식 홈페이지에서는 COS Pro에 대해 다음과 같이 안내하고 있으며, 더 쉽게 설명하자면 코딩 테스트와 정말 유사한 유형의 자격이라 할 수 있다. CBT(Computer Based Test) 방식으로 평가가 이루어지기 때문에 코드 작성 후 바로 결과 제출을 통해 합불 유무를 알 수 있으며, Online Judge를 자주 풀어봤던 사람이라면 매우 익숙한 평가 방식이라 생각이 든다.

COS Pro 안내
C, C++, C#, JAVA, Python에 대한 자격증으로 높은 수준의 프로그래밍 활용능력이 있음을 증명할 수 있습니다.
시작부터 종료까지 100% 컴퓨터상에서 진행되는 CBT(Computer Based Test)로 평가 방식이 정확함은 물론 시험 종료 즉시 시험 결과를 알 수 있습니다.

급수별 의미

COS Pro는 1, 2, 3급의 급수를 두어 자격증의 난이도를 구분하고 있으며, 1급이 가장 높은 단계의 자격이고 3급이 가장 낮은 단계의 자격이라 할 수 있다. 공식 홈페이지 에서는 1급의 수준을 "개발자 채용 시 출제되는 문제와 유사한 수준", 2급의 수준을 "프로그래밍 언어의 기초적인 개념을 충실히 배운 다음 이를 활용해 간단한 문제를 해결할 수 있는 수준", 3급의 수준을 "프로그래밍 언어의 기초적인 개념을 이해한 수준"라고 설명하고 있다.

따라서 각 급수 마다 다른 난이도와 유형의 문제가 출제되며, 시험 시간도 다르기 때문에 자신의 수준을 객관적으로 판단하고 응시할 급수를 정하는 단계가 필요하다고 생각이 든다. 조금 더 자세히 설명하자면 1급과 2급의 문제 유형은 동일하게 '프로그램 설계 및 이해(빈칸 채우기 = 코드이해)', '프로그램 구현(함수 작성 = 설계)', '프로그램 검사 및 수정(디버깅)'의 3가지이고 난이도 차이만 존재하며, 3급은 '프로그램 검사 및 수정(디버깅)' 유형이 제외된 2가지이고 난이도 차이가 존재한다.

조금 더 자세한 내용은 YBM IT COS Pro 시험 소개에서 상세하게 볼 수 있으니, 자격증 취득을 고민하고 있다면 해당 웹페이지에 접속하여 직접 확인하는 것을 추천한다. 사실 소프트웨어 전공자라면 상술한 3가지 유형 모두 학부에서 주구장창 경험해 봤던 유형들이기 때문에 정말 익숙한 평가 방식일 것이라는 생각이 들며, 개인적으로 소프트웨어 전공자는 무조건 1급을 응시하는 것을 추천한다.


COS Pro 1급 C언어 응시


시험 접수 및 준비

나는 소프트웨어 전공이고 SW개발병 자격 점수에서 가장 높은 점수를 얻는 것이 목표이었기 때문에 아무런 고민 없이 COS Pro 1급을 선택하였으며, 2023학년도 1학기 종강 후 약 2주일 정도의 준비 후 YBM종로CBT센터에서 2023년 7월 22일에 COS Pro 1급 시험을 응시하였다. 나의 경우 시스템 소프트웨어 개발이라는 진로를 가지고 있었기 때문에 C언어를 가장 능숙하게 잘 다루는 편이었기 때문에 C언어를 선택하였다.

나의 경우 이전 SW마에스트로 연수생 선발 과정을 거치면서 코딩테스트 준비가 어느정도 되어 있었기 때문에 오프라인 환경에서 코딩을 위해 C언어 레퍼런스를 학습하는 것과 YBM IT에서 공식적으로 공개하는 COS Pro 1급 샘플 문제를 푸는 정도로 준비하였다. 준비한 기간은 2주 가량이었지만 당시 해외 현장 연수와 랩실 스터디 일정이 함께 있어 실질적으로 공부한 일자는 3일 정도였다.

약 이틀 정도는 COS Pro 1급 샘플 문제를 쉽게 풀 수 있도록 Groom Edu에서 제공하는 COS PRO 1급 기출 문제 - C언어를 풀었으며, 하루에 3개의 샘플 문제를 풀고 막혔던 부분이나 틀렸던 부분을 확인하는 방식을 사용했다. 물론 샘플 문제 자체는 백준 높은 브론즈 ~ 낮은 실버 수준의 난이도였기 때문에 시간이 오래 걸리지는 않았으며, 학부 과제를 무난하게 수행하는 실력이라면 모두 쉽게 풀 수 있는 수준이었기 때문에 문제 유형이 익숙해지는 것을 목표로 공부하였다.

마지막 하루는 C언어 레퍼런스를 통해 자주 사용하는 문법과 함수들을 복습하고 암기하는 방식으로 진행하였다. 평소 개발 할때 당연하지만 구글링을 정말 많이하고 IDE의 제안 기능을 애용하는지라 문법과 함수를 자세히는 암기하지 않고 있기 때문에, 이를 복습하고 암기하여 오프라인 환경에서도 원활하게 구현하는 것을 목표로 공부하였다.

시험 진행 및 결과

2023년 7월 22일 토요일에 YBM종로CBT센터에서 COS Pro 1급 시험을 응시하였으며, 전체적인 응시장은 토익 응시장에 프로그램만 COS Pro 응시 프로그램으로만 바꿔둔 느낌이 드는 열악한 환경이었다. 시험은 신분 확인 후 선택한 급수와 언어에 따라 배정 받은 자리의 컴퓨터에 응시 프로그램이 설정 되면서 진행되었으며, 전형적인 저렴한 사무형 컴퓨터로 키보드와 마우스 품질이 매우 조약하여 시험 환경에 적응하는데 꽤나 애를 먹었다.

나의 경우 개발용 컴퓨터로 macOS를 사용 중이기 때문에 Windows 환경의 컴퓨터에서 코딩을 하기란 더더욱 어려웠다. 또한 응시 프로그램에도 런타임에 대한 Timeout이 설정되어 있지 않아 실수로 무한루프를 돌렸을 때 응시 프로그램이 멈추었다가 다운되었기 때문에 현업 개발자에게는 더더욱 어렵게 느껴질 수 있는 시험 환경이었다.

하지만 시험 시간 자체가 90분으로 길기 때문에 시간이 절대 부족할일은 없었으며, 약 10분 정도 환경에 적응하는 시간을 가지고 약 30분 정도 본격적으로 코딩을 진행하여 시험에 응시하였다. 시험 난이도는 COS Pro 1급 샘플 문제와 거의 비슷하다고 느꼈으며, 많은 블로그에서 샘플 문제보다 어렵다는 후기가 있었는데 난이도는 정말 평이하였기 때문에 무난하게 응시할 수 있었다.

다만 일반 코딩 테스트와 달리 코드이해(빈칸 채우기)와 디버깅 유형이 있기 때문에 남의 코드를 많이 읽지 않은 사람이라면 샘플 문제보다 어려울 것이라고 느낄 수 있겠다는 생각이 들었으며, 현업에서 개발을 해보았거나 협업을 많이 해보았다면 더더욱 쉽게 문제를 풀 수 있을 것 같다는 느낌이 들었다.

그리고 모든 문제를 다 푼 이후 제출 버튼을 누르면 현장에서 즉시 채점되어 시험 결과가 나오게 되며, 나는 1000점 만점에 904점을 취득하여 무난하게 합격을 하였다. 준비를 안한 것 치고는 나름 괜찮은 점수를 받아서 만족스러웠으며, 문제를 풀면서 설계와 구현에 대한 큰 고민 없이 무지성으로 풀었기 때문에 1문제를 틀렸던 것이라 생각이 들었다.


COS Pro 1급 준비 조언


COS Pro 1급 취득을 고민하고 있다면 내가 묻고 싶은 한가지 질문이 있다. "왜 이 자격증을 취득하려고 하시나요?"라는 질문이다. COS Pro는 코딩테스트 스타일에 나쁘지 않은 시험이라고 생각하고 나름 재미있는 시험이라고 생각한다. 하지만 전공자가 취득하기에는 너무나 쉽고 의미 없는 시험이고, 비전공자가 취득하기에는 성장에 크게 도움이 안되는 시험이라 생각한다.

따라서 COS Pro를 취득하고자 하는 목표가 정말 명확하고 확고해야 한다 생각한다. 만약 당신이 육군 SW개발병을 준비한다면 COS Pro 취득은 필수적인 선택이라 할 수 있다. 또한 당신이 코딩테스트를 준비중이고 자격증 취득 비용은 학교나 회사에서 지원해준다면(은근 취득 비용이 비싸다...) COS Pro 취득은 성장에 있어서 나름 괜찮은 시험이라 생각한다. 이 2개의 경우를 제외한다면 COS Pro를 취득하는 것을 추천하지 않는다. 준비할 시간에 CS 공부를 더 하거나 더 높은 수준의 코딩테스트를 준비하는 것이 이롭다고 생각한다.

만약 당신이 COS Pro를 취득하기로 결정했다면, 구현 보다는 타인의 코드를 이해하고 문제를 찾아내는 코드리뷰에 대한 경험을 쌓아보는 것이 가장 좋다고 생각한다. 전체적인 시험의 난이도는 쉬운 편이므로 전공자라면 아무런 준비없이 자격증을 당연히 취득할 수 있을 것이지만, 대부분의 실수 사례를 보면 타인의 코드를 이해하고 문제를 찾아내는 코드이해와 디버깅 파트(물론 나는 설계 파트를 가라로 해서 틀렸다...)에서 발생했다.

그렇기 때문에 합불을 가르는 요소는 "타인의 코드를 얼마나 많이 읽어보고 이해했는가?"에서 오는 것이라 생각하며, 대부분의 코딩테스트 준비가 설계 및 구현에만 집중하기 때문에 코드이해와 디버깅 문제는 전공자들도 충분히 실수하거나 당황할 수 있는 부분이라 생각한다. 그리고 코드이해와 디버깅을에 집중하는 것이 성적을 빠르게 올릴 수 있기 때문에 전략적인 선택이라 생각이 든다.

마지막으로 일반적인 코딩테스트 처럼 메모리 관리와 실행 시간 관리에는 신경쓰지 않아도 된다는 조언을 해주고 싶다. 나의 경우 설계 파트에서 모든 알고리즘을 브루트포스 알고리즘으로 무식하게 설계 했으며, 테스트 케이스 정도만 맞추는 수준으로 구현을 진행하였다. 물론 어느정도 감점을 받긴 했지만 나의 무식한 알고리즘이 정답률 76%를 기록한 것을 보면 전체적인 메모리와 실행 시간에 대한 요건은 까다롭지 않을 것이라 추측 된다. 따라서 "나이브하게 풀어도 좋다."라는 조언을 하고 싶다.

결론적으로 나는 육군 SW개발병으로 입대하지 않았기 때문에 해당 자격증은 쓸모없어 졌지만, 개발을 좋아하고 사랑하는 입장으로 나름 재미있는 시험이라 생각이 든다. COS Pro 1급 취득을 계획하고 있는 모든 사람에게 내 글이 도움이 되었기를 바라며, 모두 한번에 합격하기를 기원하겠다.


profile
짬통 개발자 & 창업가 블로그

0개의 댓글