지난주 토요일 오전에 정보처리기사(이하 '정처기') 실기 시험을 보고 왔다.
개발자가 정처기를 준비한다는 것은 주위에서 많은 말들을 만들어내는 것 같다.
실제로 그동안 정처기 공부를 하면서 '아무 의미 없다', '개발만 잘 하면 되지 그게 뭐가 중요하냐' 등등의 이야기들을 많이 들었다.
이런 말들을 들으면서 '진짜 의미 없는 행동을 내가 하는 건가?'하는 걱정이 들기도 했지만, 그래도 열심히 공부한 결과 개인적으로 많은 것들을 배우고 얻을 수 있었다.
그래서 혹시 정처기 공부를 시작할지 고민 중이신 분들께 도움이 되지 않을까 하여 어떤 점을 배우고 얻었는지에 대해 기억나는 것 위주로 간략하게 공유하고자 한다.
약 3년간 개발자로서 실무를 경험했기 때문에, 이번에 정처기를 공부하면서 이전 실무 경험이 많이 떠올랐다.
그 예시는 아래와 같다.
..등등 공부하다가 '아하!'하고 실무 경험이 떠오른 순간들은 매우 많았지만, 일단 이 정도만 적어본다.
정처기를 공부하며 또 하나 좋았던 점은 어떠한 이유로든 놓치고 있었던 부분들을 보완할 수 있었다는 점이다. 정처기 과목은 광범위한 내용을 다루고 있기 때문에, 개념은 알고 있었는데 활용할 기회가 적었거나 아예 모르고 있었던 개념들을 보완할 수 있었다.
개념에만 익숙했던 객체지향
프로그래밍을 공부하고 개발팀 코드 리뷰 및 스터디 세션을 진행하며 객체지향이라는 것을 알고 있었는데, 이번에 정처기를 공부하며 왜 객체지향이 등장했으며 코드에서 어떻게 구현되는지를 구체적으로 배울 수 있었다. 대표적인 객체지향 언어인 Java, Python을 실무에서 다룰 경험이 없었는데, 직접 코드 실행 과정을 손으로 따라가며 객체지향 개념을 익힐 수 있어서 매우 유익했다.
실무에서 다뤄보지 못했던 프로그래밍 언어
정처기 프로그래밍 파트에서는 C, Java, Python을 다루고 있다. 실무에서는 JS를 주로 다뤘는데, 다른 언어들도 배울 수 있어서 너무 유익했다. 배열, 문자열, 함수 등 동일한 개념을 언어별로 정리하며 언어별 차이를 배웠는데, 기존에 알고 있던 JS와 비교되면서 재미있었다.
네트워크, 보안 관련 다양한 지식들
그 동안 프론트 개발을 하며 관심은 있었지만 자주 접하지 못했던 네트워크, 보안 관련 지식들을 이번에 정처기를 공부하며 배울 수 있었다. OSI 7계층, SSL, HTTPS 등 실무에서 많이 들어서 익숙하지만 잘 몰랐던 부분들을 보완할 수 있었다. 이러한 부분들
...등등 방법론, 프레임워크, 역사적 맥락 등 여러 재밌는 개념들을 배울 수 있었다. 소프트웨어 개발에 있어서 전체적으로 개념을 배울 수 있어서 앞으로 더 열심히 공부해야겠다는 동기부여가 되었고, 앞으로 어떤 분야를 공부하든 그 분야에서 한 단어 정도는 정처기에서 들어본 개념이라서 보다 친근하게 개념을 뻗어나갈 수 있게 된 것 같다. 뿐만 아니라 '아는 만큼 보인다'는 말처럼 앞으로 실무 개발을 하면서 관련 개념이 나오면 한 번쯤 들어본 개념이기 때문에 더욱 잘 공부할 수 있는 바탕을 마련한 것 같다.
앞서 언급한 점들이 쓸데없다거나, 그럼에도 정처기는 굳이 필요 없다고 하는 분들이 있을 수 있다. 그리고 정처기를 취득하는 것도 개인의 자유이다.
또한 정차기를 통해 엄청난 지식을 습득할 수 있는 것도 아니다.
하지만 정처기를 통해 그동안의 경험을 확장할 수 있었고, 놓치고 있던 부분을 보완할 수 있었으며 앞으로 개발 공부를 해나갈 수 있는 발판을 마련한 것 같아 개인적으로 매우 유익했다. 그래서 만약 내 가족이 개발 업무를 하고 있거나 준비 중이라고 하면 정처기를 꼭 취득하라고 추천하고 싶다.
더불어 컴퓨터 전공이 아니거나 개발자를 준비하고 있는 분들에게도 충분히 유익한 경험일 것이기 때문에, 취득을 고려해 보면 좋을 것 같다.