티스토리 뷰

한국의 IT 체계가 발전하기 위해선 남다른 사고가 필요해


오늘은 재미있는 이야기를 한번 해볼까 합니다. 이 글은 원래 "RGM-79"님 블로그에 방문했다가 댓글 달면서 생각한 내용인데요. 한번 썰을 풀어보겠습니다.


아.. 그리고 참고로 "RGM-79"님은 IT와 연관성은 떨어지지만 고고학적 정보를 주로 다루는 블로거로 역사에 대해 공부하고 싶은 분께는 큰 도움을 받을만한 분으로 관련 전공과 공부를 하고 계신분입니다.


개인적으로는 얼마전 끝난 광개토대왕 관련 이야기로 비롯된 고구려 역사에서 군사의 의미를 이분 블로그의 올라온 글을 통해 많은 정보를 얻었네요. ^^


그럼 본격적으로 이야기를 해볼까요?





공식처럼 프로그래밍 공부하던 학부 시절이 싫었다..

엄밀히 말하면 개인적으로 프로그래머나 IT쪽에 체질적으로 잘 맞는 사람은 아닌 것 같습니다. 고등학교때 선택한 계열이 이과라 수학에 천부적인 재능이 일절 없음에도 공대에 진학하게 됬고 결국, 이로 인해 피말리는 고통속에 4년을 보냈습니다.


정보 통신 전공이라, 전자 계열 학과에 비해서는 덜 했지만 기초수학부터 회로이론, 전파공학, 전자기학등으로 이어지는 무수한 수학과 계산의 세계에서 정말 끔찍했지요.


사실 어쩌면 프로그래밍도 이런 수학적 사고가 좀 필요한데 그런 점에서 제 재능과 잘 맞지 않았다는 생각입니다.


근데 더 문제였던건 프로그래밍 공부를 가르키는데 무슨 수학 공식 외워서 문제 풀듯 리딩하던 교수들이 있었습니다.


개인적으로 남들 말하는 SKY도 아니었고 좋은 대학이 아니라 좋은 교수가 없어서 그랬는지 까지는 제가 평가 할 수 없는 부분이지만, 제가 경험한 프로그래밍을 가르키던 상당수 교수들이 조금씩 스타일은 다르지만 학생들에게 프로그래밍을 가르키는 접근법이 너무 기계적이었다는 생각입니다.



하나의 논리 구조를 만든다는 생각을 갖기 힘들었다..

프로그래밍은 어쩌면 수학적 사고가 도움은 되지만 기본적으론 매우 논리학적 접근법이 필요한 분야입니다. 이게 공식처럼 1+1=2다는 식의 답으로 계산된 다기 보다. if문 For 문등의 문법을 이용해 하나의 논리 구조를 가진 언어처럼 인식되어야 하는데 이런 접근법을 제시한 교수가 많지 않았어요.


보통은 책하나 구해서 대다수 프로그래밍책이 그러하듯 if, for문.. 등등으로 공식처럼 이해시키는데 치중했던 것 같습니다.


일반적으로 프로그래밍 언어를 "C언어, 자바언어... 등등"으로 표현하는데는 다 이유가 있죠. 논리 구조를 가진 언어의 형태기 때문에 언어라고 표현하는데.. 우리가 국어를 배우고 영어를 배울때 공식처럼 외우지는 안잖아요.


문장처럼 단어를 다양하게 조합하고 배치하면서 왜? 고유명사 뒤에 이것이 붙어야 제대로 언어 표현이되고 문장의 완성도가 높아지는지를 이해하면서 구조를 배워가는데, 결국 프로그래밍도 그런 접근이 필요한 것인데..


제 경우엔 스스로의 능력도 부족했지만, 언어를 전하는 교수도 제대로 전달 할 자세가 안되어 있다 보니 더더욱 능력 개발에 어려움을 겪었던 것 같습니다.



뒤늦게 그나마 재미를 붙였던 PHP..

그나마 PHP가 한 3~4 버전인지 2~3버전인지가 나왔을 때쯤인지 (이것도 가물가물한데.. 암튼 이때) 학교에 처음으로 PHP 강좌가 하나 생겨서 수업을 들었어요.


간단하게 HTML과 PHP를 이용해 게시판 만들고 회원가입 로직 만들고 하면서 언어를 익혀가는데 대다수 사람들이 잘 따라가지 못하고 이해력이 좋은 개발 역량이 있는 친구들만 겨우 쫒아가더군요.


저의 경우는 많이 더뎠지만 그래도 쫒아가긴 했고, 프로그래밍의 재미를 조금 알 수 있었던 것 같습니다. (물론, 책에 있는걸 따라하는 수준이었지만요 ㅡㅡ;)


제가 만들었던 게시판, 회원 로그인 폼등이 실제 화면으로 보여지고 구현되는게 재미있게 느껴지더군요. 그래서 그나마 막판에 좀 프로그래밍을 재미있게 여길뻔 했던 것 같습니다. 그래도 잘하는 친구들에 비해 너무 늦게 발전하는 제 실력에 프로그래밍은 내 직업이 아닌가보다라고 체념하고 바로 발길 돌렸던 것 같습니다. 


지금와서 찬찬히 생각해 보면 결국 언어를 수학처럼 여긴 제 사고와 교수의 가르침등이 절 프로그래머의 세계에서 멀어지게한 원동력이 아닐까 생각됩니다.



스타크래프트하자는 인상 깊었던 학교 선배의 프로그래밍 수업..

그러던 중 학교 선배님중의 한분이 시간 강사로와서 수업 하나를 배정 받았는데.. 지금 생각해도 이 선배는 외모나 생각, 행동 모두가 천상 개발자라는 생각이 들정도 였습니다.


정교수 임용에 거의 가시권에 있었는데도 불구하고 주임 교수가 영 맘에 안들게 한다고해서 교수직 때려치고 나오는가 하면, 대학원 시절엔 선배 하나가 실력도 없으면서 영 맘에 안들게 한다고 교수와 싸우다 박사 과정까지 포기한 전적이 있는 사람입니다.


일반적인 상식으론 도저히 이해 할 수 없는 사고를 가진 사람이었죠.


근데 지금와서 생각해 보면 이 사람 수업이 많이 어렵긴 했는데.. 그나마 가장 재미있었던 것 같아요. 책 펴놓고 공부하는게 아니라.. 자기가 만든 프로그램을 소스 뜯어가면서 왜? 이게 이렇게 구현되는지 설명하는가 하면..  (물론, 당시 실력으로 대부분 이해하는 학생이 없었죠. 프로그램 구조와 수준이 달랐으니 이해하는게 어려웠겠죠 ㅡㅡ;;)


스타크래프트로 자기랑 겨뤄서 이기면 앞으로 수업에 상관 없이 A학점 준다는둥.. 기행에 가까운 행동을 했었죠.


근데, 이때 이 수업 제대로 들었던 후배나 선배들은 지금 잘나가고 있어요. 이 역시도 결과론적인 접근이지만요.


수업 내용도 공식처럼 접근한게 아니라 논리적으로 이해시키려고 노력했던 것 같아요. if문, for문이 중요한게 아니라 왜? 다이어그램을 그리고 로직을 만들고 이를 실행하면서 언어로 구조를 잡는지를 이해 시킬려고 했던 것 같습니다.


그래도 전 어려워서 다 알아듣진 못했지만요. 지금와서 생각해 보면 여러면에서 꽤 괜찮은 인재가 아니었나 생각이 들었습니다.



IT 발전을 위해선 교육 현장의 사고를 바꿔야 한다는 생각..

그런면에서 최근 Naver가 자체 개발자 육성을 위해 교육 사업을 펼치는 부분은 긍정적이라고 생각합니다. 정규 과정을 만들어 체계적으로 개발자를 육성하겠다는 것인데.. 어떤 결과를 만들지는 모르겠지만 시도해 볼만한 사업이라 생각이 들더군요.


하지만 이런 상황을 되집어 보면 학교나 학원에서 육성되는 기존 개발 인력이 얼마나 인정 못 받고 있나 싶은 생각도 들었습니다.


저의 과거에 빗대어 비교하긴 어렵겠으나 최근 IT 인력의 수준이 점차 하향 평준화하는 추세를 생각해보면 현재 우리나라 IT 교육과 실제 사회적 여건에 깊은 생각을 하지 않을 수 없을 것 같습니다.


저 처럼 아예 기초 단계에서부터 어려움을 겪는 사람이 아예 개발자로서 자질이 부족한 사람이기 때문이라면 어쩔 수 없겠지만, 개발자로서 잘 이끌고 논리적 구조만 제대로 자리가 잡히면 잘 성장 할 사람을 제대로 이끌어주지 못해 도퇴되는 환경을 생각해 보면 더더욱 그런것 같습니다.


후배 개발자중에 지금 삼성 가전쪽 파트에서 개발하는 친구가 딱 이 케이스 였어요. 처음에 프로그래밍 시작한게 대학 1학년말이었는데 유독 이해가 늦고 과제도 늦어서 고생하던 후배데 조금식 논리적으로 프로그래밍을 이해하기 시작하니 1년이 지난 뒤에는 그 또래 친구들 중에선 꽤 괄목 할 만한 수준의 프로그래밍을 했던 것 같습니다.


기본적으로 자신의 자질도 필요하고 노력도 필요하겠지만, 가끔은 가르치는 사람의 능력도 중요한게 이런데 있는게 아니겠나라는 생각을하고 공대에서 꼭 공학을 가르치기에 앞서 왜 그 공학을 해야 하는지를 깨닫게 하는 교육자가 있었으면 한다는 생각이 들었습니다.


오늘 주제인 "공대에서 스트크래프트 같이 하자는 전공 교수는 없을까?"를 생각해보면 같이 스타하면서 그래픽은 어떻게 구현했고, 실제 백단에서 게임 엔진이 어떤 역할을 하고 이런걸 어떻게 프로그래밍 할 수 있는지를 이야기 할 수 있는 오픈 마인드의 교수들이 좀 많았으면 좋겠다는 심정에서 주제를 잡아봤습니다.


교수가 모두 해결하진 못하겠지만 좋은 길잡이가 되어 줄 수 있을텐데.. 학자로선 어떨지 몰라도 교육자로서 좋은 교수는 많지 않다는 생각을 해보면 한국 IT를 위해서 어떤 부분에 더 투자해야 할지 생각해보게 되는 것 같습니다.

댓글