학부 시절 때 (3-2) – 번외편 (TA)

Standard

대학 전에 CCNA/CCNP 공부를 하고 자격증도 따고 왔으며…
컴퓨터 네트워크 수업도 2학년 때 듣고 A0라는 나쁘지 않은 성적을 가지는 나는….
네트워크 전공 교수님께 발탁(?)당했다.

3학년 2학기 때 3학년 수업인 컴퓨터 네트워크 TA를 했으며…..
2009년도에 1학기 과목으로 처음 열릴 네트워크실습 과목 (4학년 과목)의 첫 TA를 했다.
덤으로 네트워크실습 과목의 교재 집필 보조도 했었고…
(덕분에 나는 네트워크실습을 수강할 수 없었다는 슬픈 이야기)

TA를 하게 되면 과제 채점을 위해서 공부를 다시 하게 됐다.
아무리 답안 가이드가 있어도, 부분 점수라거나 좀 일반적이지 않은 답이라거나 하면 내가 찾아볼 수 밖에 없었고… 질문도 막 들어오고 하니까..?
어디선가 쉽게 다른 사람에게 풀이할 수 있으면 제대로 아는 거라고 하는데, 그러한 것을 훈련하는데 큰 도움이 되었다.

지금 생각해보면 학부생으로써 참 많은 경험을 한 것 같다.
보통 4학년들이 하는 3학년 과목 조교도 그렇고, 대학원생들이 하는 4학년 과목 조교도 그렇고…
사실 네트워크 쪽은 병특을 위해 한 공부였는데.. 병특을 안 가게 되면서 묻혀지나 했는데… 결국 커리어에 큰 영향을 준… 그런게 되어 버렸다.
(21살 때 그런거 어디서 읽어 본 안목 있는 나란 녀석…)

이 영향은 대학원 연구실 컨텍 때도 이어졌는데….
네트워크 하는 연구실로 애초에 좁혀놓고 선택하게 됐다. 그리고 그 중 하나로 왔고… 졸업도 했고… 비록 세부전공은 대학원 와서 달라지긴 했지만…

21살 때의 선택이 대학 와서도, 대학원 와서도, 졸업하고도, 회사 가서도 계속…… 꾸준한 커리어의 밑바탕이 되고 있다. (회사에서 뭐하게 될지는 입사 확정되고 나서…)
다르게 말하면, 씨앗을 잘 심고 가꾸면 그 것이 내 지속적인 전문성이 된다는 것. 나는 그런 면에선 매우 운과 시기를 잘 타고 났다고 생각한다.

(4학년 이야기 하기 전에 뭔가 쓰고 싶어서 3-2편으로..)
(일단 잠이 오므로 후속편은 또 시간나는 대로)

학부 시절 때 (3) – 압축(?) 수강의 3학년

Standard

제목에서도 짐작할 수 있을지 모르겠지만….
조기졸업할 조건을 만들어놓고도 그냥 나는 4년을 다녔다 (…?)
그 이유 중 하나는 대학원 면접 준비였고, 또 다른 하나는 1년 빨리 졸업한다고 뭐 당장 할게 없었기 때문이다.
(3학년 겨울 계절을 두 개 들었으면 조기졸업 가능이었는데… 한 개만 들어서 2학점 모자란 상태로 4학년을 갔다. 그럼 조졸을 포기하고 4학년을 어떻게 살았느냐.. 그건 4편에서!)

3학년이 되기 전, 겨울 계절학기로 C++ 프로그래밍을 수강했다.
뭔가 절대 안 열릴만한 과목이 열렸다기에 망설이지 않았다….
계절학기 답게 숙제의 주기는 참 짧았고, 압축적으로 C++를 배우는 시간이 되었다.
(다른 OOP 언어를 먼저 배우면 헷깔린다는데, 다행히도? 별로 헷깔리진 않았다)

3학년이 되고 “오직 6학기 조기졸업”만을 생각한 나는…….
1학기 때 객체지향설계패턴 (OODP), 알고리즘, OS, DB, 컴파일러, 임베디드프로세서응용 이라는 전공몰빵의 22학점의 삶을 살았다.
(이 중 컴파일러는 4학년 과목이다….. 교수님이 3학년인데 왜 듣냐고 해서 조기졸업하려고 한다 해서 수강 승인을 받았던 기억도..)

3학년이 되니 좀 실험 과목이 생겼다. 임베디드프로세서응용… 이라고 arm프로세서 기반의 실험 보드로 프로젝트 하나 구상해서 짜는 과목이 있다. 리눅스 같은 OS에 의존하는게 아니고, 좀 더 로우레벨에서 레지스터 건든다거나 이런 식으로 짰던 기억이… (실험 과목이 하나쯤은 있어야 학기가 재밌어진다는건 진리인가 봄)
(임베디드프로세서시스템 이라는 다른 과목이 2학기에 있는데, 이건 리눅스 기반으로 하는거..)
OODP야 뭐 자바 응용판…..이었고, 알고리즘은 열심히 따라간 덕에 재밌게 했었고… OS도 재밌었고… DB도 괜찮았고………..
문제는 컴파일러였다. 어디서 ‘컴공과라면 컴파일러는 들어야지’라는 소리를 들어서 호기롭게 신청하기는 했는데… 같이 듣는 사람들은 거의 다 4학년이다.. 그것도 좀 한다 하는 선배들……….
22학점을 들으면서 전공 6개의 과제를 해내야 하는 나와… 그것보단 좀 더 시간 투자가 가능한 선배들…
(돌아보면 이 때부터 밤새서 쫙 하고, 방전되서 아침에 뻗어있는 패턴이 몸에 박힌거 같다….)
이 때의 프로그래밍 경험은 차후에도 꽤 도움이 됐다. 취미로 파서 같이 뭘 분류하는 프로그램 짤 때도 물론이었고….
여담으로 다른 과목 프로젝트 때문에 마지막 선택과제를 포기했더니 A0를 받았다.. (눈물)

눈물겨운 3학년 1학기를 끝내고… 2학기는 좀 널럴하게 수강신청했느냐? 라고 한다면 당연히! 아니었다…
전공을 몰아서 듣는 고통과 쾌감을 같이 즐긴 나는…. (!???) 소프트웨어공학, 웹개발, PL, 운영체제실습, 임베디드시스템프로그래밍, 디지털시스템설계…. 또 전공 6개의 삶을 택했다.
소프트웨어공학이나 웹개발은 뭐 적당히 넘어갔고.. PL도 원래 2-3학년 때 듣는 거니까 크게 힘들진 않았고 (사실 PL듣고 컴파일러 듣는게 학과 커리큘럼이었는데, 그걸 거꾸로 들으니 PL은 참 편했다.)… 임베디드시스템프로그래밍은 응용을 들었었기 때문에 크게 다르진 않았고….
문제는 4학년 과목인 운영체제실습과 처음 생긴 2학년 과목인 디지털시스템설계였다.
운영체제실습은 꽤 어려웠고, 내가 바본가…? 라는 생각을 엄청 하게 만든 첫 과목이었다. 내가 기초가 부족했다 라는걸 참 많이 깨닫게 해줬고, 그 덕에 많이 배웠다. (여담으로 이 과목도 컴파일러와 마찬가지로 쟁쟁한 선배들이 너무 많았다…)
디지털시스템설계는 논리설계실험이 없어지면서 생긴 과목인데, 안 듣고 넘어가기는 아쉬워서 3학년이지만 듣게 되었다. VHDL을 처음으로 접해본 과목인데 이 것도 FPGA로 실제 실험을 하는 과목이라서 꽤 재밌는 과목이었다. (실험 과목은 안 피해가는 나란 사람…)

두 학기 모두 전공이 1개씩 A0고 나머지는 A+이라는 꽤 괜찮았던 성적….을 주었는데, 성적이라는 건 결과물이고 결국 내가 잘 배웠느냐 라는게 중요한데…. 정신 없기는 했지만 그만큼 짧은 시간에 많이 성장했다고는 생각한다.
(1학기는 컴파일러가 A0, 2학기는 소공이 A0… 이 교수님께 들은 4개 수업 중 2개는 A+, 2개는 A0……..
사실 이 교수님의 수업은 A0까지는 어렵진 않지만, A+을 받기 위해선 완벽을 기해야한다는 말을 들어왔던 터라……. 크게 아쉽진 않았다. 두 개라도 받은게 어디야…)

(4편 예고)
이렇게 빡시게 3학년을 보내서 졸업학점을 2학점만 남긴 나는…
4학년 때 뭐하지 고민을 하게 되는데…….
(하지만 고민할 필요는 없었죠..?)

학부 시절 때 (2) – 컴공과의 환상이 깨짐

Standard

물론 컴공과가 컴퓨터 조립 배우는 과가 아니라는 것은 진작 알고 있어서 이게 환상은 아니었고…
나는 구체적으로 뭔가 하는 걸 배우는 게 컴공과 라고 생각했는데.. (뭔가 나 이거 할 줄 알아 하는 멋있는 모습…?)
컴공과에 배워야 할 이론이 아주 많다는 것이 나에겐 환상이 깨지는 것이었다.

1학년 때 C 프로그래밍를 할 때는 몰랐는데..
2학년이 되고 1학기 때 데이터 구조 (Data Structures)와 논리 설계 (Logic Design)를 들으면서 이게 뭐지…? 라는 생각을 많이 한 것 같다.
이게 내가 알고 있는 내용들이랑 무슨 상관이지..? 라는 의문도 꽤 가졌었고…
그래도 커리큘럼이니 해야지 뭐.. 정도로 생각하고 공부를 했던 것 같다.

그래도 재밌게 공부하기는 했었다. Linked list가 뭐고, stack/queue가 뭐고, graph가 뭐고… 이런 개념들을 새롭게 알아간다는 자체에 재미를 느꼈다. (??)
논리 설계는 크게 어렵지는 않았던 것 같다. (다만, 증명은… 머리가… 아팠다…)

2학기가 되고, 나는 무슨 깡으로 그랬는지는 모르겠지만…
당시 3학년 전공인 컴퓨터네트워크나 윈도우프로그래밍 같은 과목을 넣는 미친 짓(?)을 했었다.
이 때 들은 전공이 이산수학, 자바, 컴퓨터구조, 윈도우 프로그래밍, 컴퓨터네트워크 (회로이론2……도 있긴 하지만?) 이었으니 그렇게 낮은 로드는 아니었던거 같다.
근데 역설적으로 전공에 둘러쌓인 삶을 사니 수업이나 과제하는거 자체는 엄청 재밌었던 기억이 난다. (???)
이산수학이야 애초에 엄청 어려운 과목은 아니었으니 괜찮았고, 자바는 최초로 접해본 OOP였는데 뭔가 신개념의 언어라 재밌게 배운 기억이……
윈도우프로그래밍은 WinAPI로 주어진 과제를 하는.. OS의 실습 버전? 이었다. OS를 안 듣고 하느라 쉽지는 않았지만 어찌어찌 잘 넘기긴 했었고…
컴퓨터네트워크는 애초에 CCNA/CCNP 공부 좀 하고 와서 크게 어렵진 않았다. (그리고 2학년 때 이 것을 수강한 건…. 3학년 때 이 과목 (3학년 과목….이다) TA를 하게 된 특이한 경험의 발판이 되었다)
컴퓨터구조가 개인적으로는 헬파티? 였는데… 그 중요성에 비해 내가 그렇게 잘 따라가지 못했던 슬픈 기억이 있다. (이 컴구는 대학원 QE (박사자격시험) 때도 유일한 탈락 과목으로 QE를 한 번 더 치게 만들었던 아픈 기억이 있다…)

그래도 윈도우프로그래밍 덕에 2학년이 지루하지는 않았다. 이론 범벅인 2학년 과목에서 삶의 긴장감(?)을 놓을 수 없었으니….?

(3편 예고)
뭔가 이렇게 3학년 같은? 2학년이 지나가고….
전공에 재미들린 나는… 조기졸업을 노리고 3+4학년 수업을 1년만에 듣기 프로젝트를 수행하게 되는데….

학부 시절 때 (1) – 컴공과에 오게 된 계기?

Standard

(제목은 나중에 바꿀 수도 있음)
(애초에 두서 없는 시리즈니 짜임새를 기대하는건…….)

진로 고민은 누구에게나 있는 법이다. 그 정도는 차이가 있겠지만…..
대학을 컴공과로 오게 된 건 어떻게 보면 “컴퓨터라는 게 너무 익숙해서”가 나에겐 답이었다.
어렸을 때부터 컴퓨터 게임은 다들 해 봤을 것이고…

중학교 때 컴퓨터 잡지를 접하게 되면서 리눅스라는 세계를 알게 됐다.
윈도우에 길들여진 일반인에게 리눅스는 뭔가 신비의 세계처럼 다가왔었고…
당시에는 뭔가 윈도우 대신 쓸 수 있는 데스크탑 환경을 제공하는 무료 OS? 이런 이미지였다. 당시엔 redhat linux 배포판 시디가 들어 있었던 기억이….

물론 뭔가 제공은 하지만, 윈도우를 이길 수는 없었기에…… 잠깐 깔아보고 응? 하고 다시 윈도우 깔고……
(나중에는 좀 스마트하게 듀얼부팅으로 깔고 리눅스 날리고……가 되었다)
그렇게 리눅스는 뭔가 스쳐 지나간 존재였지만, 그래도 꾸준히 두들겨 보는 곳이 되었다. (지금이야 아주 익숙하지만..!?)

고등학교 때는 야자만으로도 바빠서 그렇게 많이 도전해 보지는 못했다.
아, 고등학교 때 특별활동이 웹 프로그래밍 (2001-2003년도에 PHP라…..니? 당시는 cgi라는게 많이 쓰이던 시절이다.)이라 웹페이지를 넘어 뭔가 게시판 같은 것을 따라서 만들어 본 기억은 있다. (무슨 웹서버를 썼는지까지는 기억이 안나는데 아마 apm (apache/php/mysql)이었겠지..?)
리눅스도 그렇고 php도 그렇고 뭔가 신비해 보이는 것에 겁없이 (?) 덤벼들었던 것 보면 호기심과 모험심이 강했나 보다.

그렇게 고등학교 시절은 지나가고, 대학에 가기 전까지 2년간의 수험 생활이 있었다. 물론 재수/삼수 할 때 딱히 뭘 손대보진 못했고…
삼수 끝나고 대학 가기 전까지 병특을 대비해야지(!)라는 대의를 가지고 MCSE/CCNA/CCNP 자격증을 위해 학원을 다니게 되었다.
(사실 내가 어떤 기준으로, 어떤 정보력으로 저 자격증들을 선택했는진 기억이 안 난다….)
MCSE야 윈도우 서버에 관련된 이야기라 그냥 좀 신기한 정도이고, CCNA/CCNP가 네트워크 쪽에 대한 지식을 처음 접하는 것이기도 했고 장비도 처음 다뤄보고 해서 신기한게 많았다. 21살의 청년에게 수능 끝나고 무료한 시기에 이 자격증 공부는 참 흥미로울 수밖에 없었던 건가.
(그리고 뒤돌아보면 이 때의 경험이 대학교와 대학원 전공까지 영향을 끼쳤다)

대학을 갈 때까지 온갖 스펙타클한 이야기가 있지만, 한 줄로 요약하면 다행히도 수능을 네 번 치는 불상사는 없이 대학을 가긴 갔다.
(정시 추합 기간도 지나고 아예 추가모집 기간으로 따로 뽑는 전형에서 40:1 정도의 경쟁률을 뚫고 붙어버린 나란 사람…)
그럼 다시 컴공과 계기로 돌아와서…
내가 온 한동대학교라는 곳은 1학년 2학기가 끝나고 2학년이 되기 전에 자기가 갈 전공을 자유롭게 고르는 곳이다. (무전공 입학.. 지금은 다른데들도 좀 하고 있긴 하지만?)
보통 그냥 중고등학교 공부만 하다 대학 와서 전공을 고민하는 사람들에 비해서, 리눅스와 php와 네트워크 자격증 쪽의 백그라운드를 들고 온 나란 사람은 아주 자연스럽게 컴공을 고르고 있었다. (다른 쪽은 1의 고민도 안 하고 전산전자공학부를 클릭하고 있었던 나란 사람…)
즉 정리하면, 그냥 익숙해서 고른게 컴공과…!?

(2편 예고)
그렇게 익숙한 환경에 길들여진 선택을 한 나는….
컴공과는 내가 알던 것과 다르다는 것을 너무나 일찍 깨닫게 되는데…..ㅠㅠ

여기다 써 보려고 하는 이야기.

Standard

박사 졸업을 겨우 (?) 하게 된 마당에..
학부 때나 대학원 때 기억에 남는 에피소드들이 있으면 써 볼까 함.

그 외의 이야기도 생각 나는게 있다면..?!