산업기사 책으로 공부하고, 얼떨결에 합격
가채점 결과, 평균 84점으로 다행히 합격이었다.
컴퓨터 베이스(CBT) 시험으로 바뀌어서 응시 직후 합격/불합격 여부 확인이 가능해졌다.
거의 10여 년 전에 정보처리기사 필기를 한 번 응시한 적이 있었는데, 그때 개정되기 전의 과목 중 하나로 전산계산학(?)이라는 과목이 있었다. 지금의 AI 연산의 기초이기도 하고, 현재 삼성전자와 SK 하이닉스가 제조하고 있는 HBM3 메모리의 기본 연산이기도 한 이산수학의 '행렬계산'을 푸는 문제도 출제된 걸로 기억한다.
바뀐 시험은 공부할 때 분명히 전산영어랑 정보통신기술이 신설된 과목으로 생각했었으나, 엥? 데이터베이스를 제외하고 시험과목명 자체가 달랐다. 뭘까? 필자가 공부한 책은 개정된 시험이 프로그래밍의 실습 문제 위주로 개편된 것으로만 알고 있었는데, 막상 시험장 컴퓨터화면에서 마주하게 된 과목은 달랐다.
'아, 뭐지, 도서관에서 빌린 필기 수험서가 분명히 신간이었는데 출제 과목이 왜 다른 거지??'를 생각할 겨를도 없이, 20분이 지나자 한 학생이 후다닥 나갔다. 30분이 지나자 서너 명의 학생들이 우르르 나가기 시작했다. 계속해서 문제를 풀어나가자, 다행히 10여 년 전에 시험문제로 본 기억이 난 스택 알고리즘(Push, Pop)을 묻는 단순계산 유형들도 보였다.
알고 보니, 필자가 공부했던 책 표지의 제목이 '기사'로 끝나는 게 아니라, '산업기사'로 끝났다. 여유 있게 접수하려 했으나, 오전에 이미 거의 접수일자가 마감되었었고, 급하게 일주일 정도 여유를 가지고 접수한 정보처리 기사 필기시험을 산업기사 책의 기출문제를 몇 번 환기하고 본 거다.
합격자들의 후기를 보면 전공자 평균 공부 시간이 3~5일 정도의 베이스로 가는 것과 달리 필자는 10년 전 개정되기 전의 버전으로 공부했었던 이론의 기억을 더듬어 본 거였다. 전공자는 학교에서 배운 수업과 이론을 바탕으로 정(보)처(리)기(사)시험을 치기 때문에 한 번 정리하는 느낌으로 시험을 볼 수 있는 반면, 필자처럼 컴공 비전공자인 경우는 파편지식들의 나열을 '기사' 자격증 기출문제를 통해서 한 번 환기할 필요가 있긴 했으나...
어쨌거나, '와우~ 실무경험과 그간 쌓은 정보보안업계 내공만으로도 합격이 가능한 시험으로 개정되었구나~' 하며 5일 간 필기보다 실기를 대비하기 위해 본 '혼자 공부하는 C언어'의 진도를 계속해서 빼면 될 것 같다.
컴공이나 컴과(컴퓨터과학) 전공자는 작금의 AI시대에 불필요한 컴공 이론과 코딩이라며 학교에서 배운 지식은 금방 쓸모가 없어진다고 하소연하는데, 필자의 생각은 다르다. AI (딥러닝)든, 데이터 과학이든 컴공의 이론이 기본으로 깔려있지 않으면 같은 줄기의 파생된 이론을 주입하더라도 나의 것이 되기는 힘들다. 비전공자에게는 펀더멘털 격인 컴퓨터 공학 이론의 가늘지만 오래된 줄기를 통해 새로운 트렌드의 이론을 확장해 나가야 한다는 생각이다.
10년 전 애플리케이션 계층(Layer 7)에서 추상화되는 프로그래밍 언어(자바, JSP, 스프링 프레임워크, 자바스크립트... )들의 코딩교육이나 받을 당시, 괜히 대학교 도서관에서도 끊임없이 쏟아지는 신간 IT 서적을 뒤척인 게 아니다. 필자는 이때 무엇보다 컴공 이론의 토대에 해당하는 책들이 뭘까 고민했다.
어떠한 책이 사이버 보안 전문가로서의 기본기를 다져줄 것인가에 대한 고민을 많이 했기 때문에, 점심때 밥을 먹을 땐, CISSP 문제를 스마트폰 앱으로 풀거나, 도서관에서는 운영체제나 흔히들 말하는 효율적인 유지보수를 위한 '리펙터링', 그리고 컴퓨터의 밑바닥에 해당하는 개념들에 더욱 이끌렸다.
국내 출간된 이도 저도 안 한 번역서에서 튀어나온 컴공 개념이 이해가 안 되면 아래의 추천 도서들을 제본 떠서라도 같은 개념을 설명한 부분을 찾아 이해가 될 때까지 반복해서 읽은 기억이 난다.
반효경 교수의 강의는 아래 오픈 강의 사이트(KOCW)에서 청강 가능하다.
책 수준이 좀 높다. 교양서적으로 도전하기에 전공자들도 좀 벅찰 듯…
https://www.google.co.kr/books/edition/Refactoring/HmrDHwgkbPsC?hl=en&gbpv=1&printsec=frontcover
현재 번역본은 재출간했다.
원서 'CODE', 마소 출판사에서 낸 단행본인데 번역본과 느낌이 다르다. 페이퍼북인데, 똥지가 아니라서 광화문점 교보문고에서 구매한 이후(35,000원)로 5년이 지났는데도 하얗다~.
초보 개발자가 보기에는 거리가 멀지만, 이 책만큼은 개발자가 아니더라도 단순히 개발을 하기 위한 논리적 사고력이 글쓰기의 과정과 동일하다는 저자의 말에 한 번 훑어볼만하다. 정처기에서 출제되는 '단위 모듈의 테스팅' 개념은 덤으로 얻을 수 있다.
위의 네 책의 저자는 말 그대로 컴퓨터를 하드웨어로의 변천사로만 바라보던 시대부터 전자계산학과의 천재 2명 (반효경 교수는 서울대 전자계산학과 수석 졸업, 동대 석사 마친 후 이화여대 정교수로 최연소 나이에 부임, 이광근 교수는 미국의 벨연구소의 정규 연구원 지냄)과 마틴 파울러(유명한 개발자이자 유튜버 사업가), 찰스 펫졸드, 앤드류 헌트라는 개발 업계의 시조새와 같은 존재들이다.
그리고 요즘의 가장 앞단(Cutting Edge)에서 접할 수 있는 트렌드를 살펴보자. Microsoft가 인수한 'Hugging face'라는 생성형 모델 개발에 필요한 GitHub와 같은 플랫폼에 관한 최신 정보다.
다음 편에 비전공자라도 데이터 과학의 입문을 위해 Coursera 과정을 통해 혼자서 교양지식으로 쌓을 만한 데이터과학 커리큘럼도 공유할 예정.
정보처리기사에서도 정보보안과 관련된 개념을 묻는 문제가 꽤 출제되었는데, 참고로 필자는 정보보안기사를 8년 전에 취득한 경험이 있어서 4지 선다형이라 수월했다. 제출 후 화면에 집계된 다섯 과목의 점수는 아래와 같았다.
1과목 (SW 설계) | 70
2과목 (SW 개발) | 90
3과목 (DB 구축) | 90
4과목 (프로그래밍 활용) | 85
5과목 (정보시스템 구축 및 관리) | 85