소프트웨어, 실무형 인재의 신화

1. 들어가며
며칠전 쓴  “소프트웨어, 잉여와 공포”, 이 글이 생각보다 흥해서 충격을 받았다. 음, 솔직히 말하자면 회사에서 일은 안하고 방문자수를 체크하며 혼자 흐뭇해 하는 저질스러운 나를 발견했다. 흥한 글 다음에 망글을 쓰면 어쩌나 하는 부담감에, 좀 더 좋은 주제가 생각나면 써야지 생각하다가 다음과 같은 제목의 기사를 읽게 됐다:  “SW 실무 인재 직접 양성”…NHN ‘SW 아카데미’ 설립. 마음에 타오르는걸 꼭 써야할것 같아 어쩔수 없이 키보드 앞에 앉았다 (솔직히 재미없을까봐 두렵다).

예상되듯, 국내의 큰 포털회사가 실무와 동떨어진 대학 커리큘럼에 실망해 직접 큰 규모의 SW학원 (어쩜 학교일지도)을 시작한다는 것이다. 그동안 삼성이 언론을 통해 자주 이야기 하던 그것인 듯 하다 (더 글을 쓰기전 이점을 밝혀두고 싶다: 나는 삼성이나 타 IT기업에 전혀 악감정을 갖고 있지 않다. 오히려 선후배, 친구들이 많이 그곳에서 일하니까 잘 되었으면 하는 바램이다. 이글에서 삼성은 특정 회사를 지칭하기 보다 한국의 대기업 전체를 지칭한다고 보는게 좋겠다).

“요즘 졸업생들은 실무 교육이 너무 안돼 있다. 다시 재교육을 시켜야 하는데…(짜증난다). 학교들아, 좀 제대로 가르쳐라”

물론 호통만 치는게 아니라 학교들에 돈을 좀 쥐어주고 졸업생 취업을 보장하는 등의 당근을 제공한다. 학교는 이에 맞추어 커리큘럼을 “삼성형 인재” 개발로 최적화 하는 패키지로 보답한다. 이 스토리엔 삼성취업 xx% 라는 문구에 따라 변하는 입학생 수능점수 때문에 어쩔수 없이 자존심 굽히는 학교의 애잔함이 녹아있다.

교육덜된 학생에게 호통치는 삼성은 개인적으로도 경험했다. 작년 영원할것 같던 박사과정을 마치면서 삼성 계열사에 면접을 본적 있다 (해커의 자존심을 지키기 위해 밝히자면 면접보자고 연락을 먼저 해왔다). 먼 도시까지 달려가 임원 면접이라는 것을 보게됐는데, 이런 상황이 연출됐다:

막내 대리 : (생글 생글) 박사님 연구 방향을 좀 소개해 주시죠?
나: (짐짓 태연) 네 저는 가상화 어쩌고, 운영체제 어쩌고, …., 를 했습니다 (그래서 제가 이렇게 잘났습니다 크흠)
임원님: (처음부터 쉿 드신 표정이었다) 그래서 어쩌라고요? 그게 우리 회사랑 뭔 상관이냐고? 박XX씨가 우리 회사를 위해 할수 있는게 뭔지 한번 말해 보라고.
나: (급 당황) 아 예..어 저는 삼성의 요번 새로 시작하는 비지니스에…(더듬 더듬) ..
임원님:  난 당신 그 말이 이해가 안된다고(요)..우리가 얼마나 큰 회사인지 아냐고(요). 학교에서 컴터 몇대놓고 조물대던거 가지고 무슨 도움이 되는지 얘기를 해보라고요.. 
나: (망했다). 

위의 상황은 정확한 대화 기록은 아니지만 대충 기억에 따르면 그랬다. 임원분은 호통만 치다가 면접이 끝났다. 물론 나중에 압박면접 이었노라고 날 달래주었고 나쁘지 않은 조건으로 입사를 제의받았다. 하지만, 분명히 알것 같았다. “아 저런 상황을 견딜수 있는 대인배들만 받겠다는 거구나” — 즉 공포의 관리에 내가 얼마나 견디는지를 시험해본 것이다. 난 소인배여서 가지 않았고, 다음날부터 교수님에게 “제발 자리좀 알아봐 주십쇼…” 애걸했다.

이 블로그는 제목 그대로 소프트웨어 실무형 인재 그 허구를 이야기 하고자 한다. 또 대학과 정부에 대해서 한소리 하고자 한다.

2. 실무형 인재
실무형  인재란 회사마다 정의가 다를 것이다. 삼성의 TN 부서라면 임베디드 시스템을 알고, 통신 프로토콜을 구현할 수 있으며, 인도사람 영어를 잘 알아듣는사람일 것이다. NHN이라면 기사에 나와있는 그대로 웹, 스마트폰, 게임 프로그래밍 전문가를 이야기 할 것이고. SI라면 DB설계, SW 디자인, ‘을’로 살아가는 법을 아는 사람을 실무형 인재라고 이야기 할 것이다. 스펙트럼이 이렇게 다양한 회사들이 학교에게 ‘실무형’ 인재를 가르치라면, 학자로서의 자존심 있는 대학들은 “엿이나 드쇼” 하고 싶지만, 수능점수가 아쉬워 어쩔수 없이 커리큘럼 세트를 만들어 낼수 밖에 없다. 빅맥 삼성 탤런트 세트, NHN 웹퍼 세트, SI 을고기버거 세트.  이제 몇년간은 아이폰, 안드로이드에 정통한 졸업생들을 만날 생각에 마음이 뿌듯하기 그지 없다.

3. 소프트웨어 – 추상적 사고 (Abstract thinking) 와 우연한 구현 (Accidental Implementation)
좋은 소프트웨어 엔지니어 교육을 이야기 하는 것은 쉽지 않고, 위험하다. 누구나 다른 관점에서 바라보고, 자신이 걸어온길을 돌아보며 설명하려 하기 때문이다. 나 역시 내가 유학시절 경험한 과정과 미국 벤처생활을 통해서 배운것으로, 좋은 소프트웨어 교육을 이야기 하려고 한다. 참고로 나는 버지니아 주립대학 (UVA)이라고, 나름 잘 가르친다고 평가받는 학교에서 낮은(!) 학점으로 박사를 마쳤다.  소프트웨어의 본질은 Fred Brooks 의 No Silver Bullet [1] 이라는 에세이에서 가장 정확히 다룬 듯 하다 (혹시 Mythical Man-month를 안 읽어보았다면 절대 강추다. SW고전중의 고전이니까; 번역도 되었으리라 생각한다).

6-70년대에 운영체제 같은 소프트웨어가 본격 개발되면서, 엄청나게 돈이 많이 들고 매번 데드라인을 넘기면서 나오는 작품들이 거지같다는 것을 (그제서야) 깨달았다. 기계나 HW는 안 그런데, 왜 SW만 그런것인지 사람들은 분개하기 시작했고, 최고의 엔지니어이자 Writer였던 F Brooks 는 이렇게 설명했다. 소프트웨어에는 내제된 어려움 (Essential Difficulties)과 우연한 어려움 (Accidental Difficulties)이 있다. 내제된 어려움은, 세상에 어떤 기술로도 해결할 수 없는 소프트웨어의 특성 때문이다. 즉 문제 자체가 워낙 복잡하고, 쉽게 바뀌며 (고객이 요구사항 바꾸듯), 보이는 실체가 없다는 점이다 (즉 얼마나 진행되었는지 알 방법이 없다). 반면 우연한 어려움들은 HW와 SW의 진화를 통해서 그동안 해결되었다. 우연한 어려움과 해결의 예로는:

  • 0/1 이진법으로 돌아가는 기계를 코딩하기가 쉽지 않다. ==>  C와 같은 하이레벨 언어를 써라
  • 컴퓨터를 여러 사람이 쓰기 쉽지 않다 (혹은 초기 아이폰처럼 여러 프로그램을 돌릴수가 없다). ==> 멀티 태스킹을 운영체제에 구현해라.
  • A에서 짠 프로그램을 B 컴퓨터에서 못 돌린다. ==> 라이브러리를 통합해라.

좋은 대학교의 컴퓨터 과학(공학) 전공은 본질과 우연한 어려움 두가지 모두를 해결하도록 돕는다. 즉, 알고리즘, 컴퓨터 이론, 데이터 구조, 소프트웨어 개발론 이런 과목들은 본질적인 어려움을 깨부수는데 필요한 이론들을 가르친다. 원체 복잡한 문제를 해결할때는 문제를 추상화 시키고,  잘 알려진 자료구조(예를 들어 그래프)로 표현해 낸후, 이미 알려진 알고리즘 혹은 새 알고리즘을 적용해서 해결한다 (참고로 컴퓨터 전공자들은 [2]를 강추한다. 이론때문에 고생하던 내가 눈물을 흘리며 읽었던 명서적이다). 반면 우연한 어려움을 해결하는데 역사적으로 사용된 기술들은 운영체제, 컴파일러, 네트워크 이런 과목들을 통해서 배운다. 즉 한국형 안드로이드 투자액 30억중 5만원으로는 운영체제책을 (공룡책 강추) 사야한다.

나의 경험을 통해 보면 미국에선 본질적 문제를 해결하는 과목에 좀 더 집중한다. 반면 한국은 우연한 문제를 해결하는 과목에 치중하고 있고, 이에 더해서 삼성은 그들만의 어려움을 해결할 테크닉을 가르치라고 닥달한다.  나는 본질적 문제를 해결하는 것을 교육하라고 주장한다. 왜나면 거기에 SW 경쟁력이 있기 때문이다. 검색의 예를 들어 보자. 초기 검색엔진 시장은 알타비스타 라는 엔진이 장악했다. 이 엔진은 알고리즘은 그저 그랬는데, DEC라는 예전 대기업에서 운영했기 때문에 서버와 데이터를 많이 갖고 있었다 (즉 우연한 문제를 해결했다). 반면 구글 창업자 래리 페이지와 세르게이 브린은 스탠포드 대학원시절 Page Rank라는 뛰어난 알고리즘을 가지고 데스크탑 한대로 서비스를 시작했다 (즉 본질적 문제를 해결했다). 결과는 우리가 잘 알고 있다.

좋은 소스 코드를 보면, 마치 좋은 책을 읽는듯 마음이 흡족하다. 좋은 소스 코드는 프로그래밍 언어의 숨겨진 마법을 잘 쓴 (이를테면 C의 포인터 장난) 그런 것이 아닌, 프로그래머의 뛰어난 표현력 (자료구조), 논리력 (알고리즘), 그리고 디자인 (소프트웨어 공학) 이 드러나는 그런 창작물이다.  어떤 이는 이렇게 주장할 것이다 “한국처럼 후발주자가 미국 따라가려면 좀 덜 고상한 방법을 써서라도 구현만 하면 됩니다!” . 그건 기계와 HW에 적용될지 몰라도, SW 엔 절대 안된다. 제 아무리 빠른 삼성 CPU를 써도 버블소트는 퀵 소트를 이기지 못한다.

4. 정부와 학교의 놀음
이 글을 높으신 누군가 보고, “옳커니 그럼 이론쪽을 강화하는 교육을 하면 되겠구만 (…할리도 없다 사실은…)” 라고 마음 먹어도, 문제는 그리 간단하지 않다. 학교들에 그쪽을 전공한 교수들이 많지가 않기 때문이다. 이유는 그동안 정부와 대학의 이런 놀음 때문이다:
“정부: 000 대통령 취임에 맞추어 xxx (예:유비쿼터스,그리드,클라우드,스마트폰,월드클래스) 프로젝트를 하사하노라. 대학들은 줄을 서도록 하라”
“대학:  예이”
“정부:  전문가를 프로젝트에 집어넣거라”
“대학: 뽑겠나이다”

이렇게 뽑은 교수들은 모두 우연한 어려움을 해결하는데 전문가들이다. 그쪽 분야가 쓸모 없다는 뜻이 아니다. 절대적인 비율로 그 분야들만 뽑아들이는것이 문제다.  내가 학교 생활을 하면서 세번의 정부가 바뀌었는데, 이 패턴은 늘 같았다. 사실 이 이야기는 내 발등을 찍는것과 같은데, 왜냐면 나 자신도 분야가 그쪽이기 때문이다.

5. 결론
이 블로그는 결론이 제일 어렵다. SW의 본질적인 어려움을 해결하는 대학 본래의 모습을 찾아라, 이것이 하고자 하는 말인데, 그럼 어떻게 해야 지금 우리 현실에서 그게 가능할지 이 질문에는 답이 나오질 않는다. 하지만 제일 문제있는 그룹은 공무원과 정치가라고 자신있게 이야기 할 수 있다. 왠지 한참 전에 읽은 J.C.R Licklider 라는 양반의 일대기 [3] 가 기억에 남는다. Licklider는 원래 MIT (인가 하버드인가) 심리학 교수였는데, 대단한 잉여자였다. 전공도 아닌 컴퓨터에 홀려서 카드를 집어넣는 집채만한 컴퓨터앞에 매일처럼 앉아 일과 상관없는 프로그래밍 하던 사람이다. 아마 나중에 교수도 그만두고 슈퍼컴퓨터 만드는 회사에서 일한 것으로 안다. 이 사람이 나중에 어쩌다보니 미 정부의 연구 프로젝트를 총괄하는 사업 책임자가 되었다 (즉 공무원이 되었다).  이 사람의 잉여력과 비전으로 추진된 두가지 사업이 있다:
1.  미 국방부의 ARPANet : 국방부 산하 슈퍼컴퓨터를 네트웍으로 연결해보는 프로젝트
2.  MIT의 Multics 라는 운영체제 개발

어떤분들은 이미 아실것 같다. 1 사업이 나중에 인터넷이 되었고, 2 사업은 그 자체는 빛을 못봤지만, 프로젝트에 참여했던 사람들이 회사로 옮겨 곧 C언어와 Unix 를 만들었다 (Linux는 Unix의 후손이고). 즉, 한 공무원이 IT기술의 물줄기를 열어버린 것이다.

우리 정부와 학교에도 그런 잉여와 비전이 넘치는 분이 나오길 기대하며 글을 마친다.

– 박상민 http://twitter.com/#!/sm_park

[1] No silver bullet – The Mythical Man-Month 챕터 16, by Fred Brooks.
[2] The Universal Computer: The Road from Leibniz to Turing by Martin Davis
[3] The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal (http://en.wikipedia.org/wiki/J._C._R._Licklider)

67 thoughts on “소프트웨어, 실무형 인재의 신화

  1. 글 잘 읽고 가요.
    “빅맥 삼성 탤런트 세트, NHN 웹퍼 세트, SI 을고기 세트”에서 빵!! 터졌습니다.ㅋㅋ
    소프트웨어가 쉽게 만들어지는게 아닌데 너무 쉽게 생각하는 윗어른(?!)들의 생각이 참 답답하네요.
    일단 구현만 되면 다 된다는 식의 생각….. 계속 불에 데이고 아파봐야 달라지겠죠.
    그냥 시험공부만 해서 그런지.. 아직까지는 잉여력이 모자르네요 ㅎㅎ!

  2. 또 제가 강추를 할 수 밖에 없는 좋은 글이네요.^^ 잘 읽었습니다. 그리고 좋은 책을 소개해주셔서 감사합니다. 읽을 여력과 실력은 안되지만 점찍어 두고 있겠습니다.

    저처럼 엔지니어가 아니면서 엔지니어들을 매니지해야하는 사람에게 정말 도움이 되는 글입니다. 맨 마지막의 “한 공무원이 IT기술의 물줄기를 열어버린 것이다.”라는 말이 정말 인상적이네요. 감사합니다.^^

  3. 그동안 쉽고 빠르게 갈 수 있는 길만 찾았던 회사들이 이제부터라도 돌아가야하지만 궁극적인 문제를 해결할 수 있는 길을 선택하게 하려면 박성민님과 같은 분의 좋은 의견이 많이 모아져야 될 것 같습니다. 잘 읽고 갑니다.

  4. 그게 가능할지 이 질문에는 답이 나오질 않는다. 하지만 제일 문제있는 그룹은 공무원과 정치가라고 자신있게 이야기 할 수 있다. ”
    동의합니다^^IT전공은 아나고 소위 아카데미거쳐
    웹SI하다사 갑이 최고인줄알고 공무원으로 전직했죠 근데 생활하다보니 한8,90년대에서 직장생활하는기분이네요…매번 공감가는글에 마음에 잔잔한 요동이 치네요^^

  5. 이번 글도 곱씹을 내용들이 너무나 많네요. 사실 ‘실무형’ 인재라는게 “양산” 과정을 거쳐 나올 수 있는지 여전히 의문투성이입니다. 경험을 축적해 가며 스스로에게 더 큰 즐거움과 만족을 주는 솔루션/비즈니스 부문의 전문가가 되어 가는 것이지 붕어빵 찍듯이 팡팡 찍어낼 수 있는 건 아닌데… 한국에서도 잉여력의 발산이 자연스러운 문화가 만개하는, 그런 순간이 하루빨리 오기를 바라 봅니다. 차츰 변해 가겠죠. 🙂

  6. 아침부터 흘러다니다 이 블로그에 들어왔는데 제목이 확 띄어 순식간에 정독했습니다.

    뭔가 머릿속에 있던 생각들이 싹 정리되는 느낌입니다.

    잘 읽고갑니다. 다음 글도 기대하겠습니다.

  7. 대기업 계열 SI회사와 미팅후에 벤처에 있는 개발자 왈, ” 대기업 SI회사는 너무 심하게 일시켜서 가기 싫다” SI회사가 대표적인 우연한 구현을 하는 사례죠. 검색엔진 경우도 그렇지만 스마트폰 운영체제, 클라우드 컴퓨팅 등 세상을 바꾸는 핵심 SW는 모두 근본적인 원리가 필요한 시스템소프트웨어죠.

  8. 두편 연속으로 멋진글을 쓰셔서 피드를 얼른 등록했네요. 다음에는 기업의 입장에서 한번 써주시면 좋겠다는 바램이 생기네요. 좋은 글 잘 읽었습니다.

    • 아아아 이런 부담이.. 저 졸업한지 갓 1년지난 새내기 입니다. 기업의 입장을 이야기 하기에는 경험들이…
      하지만 지금 몸담고 있는 미국의 startup 문화, 역사 라던가 그런 것들은 한번 써보고 싶습니다.

      • 미국에서 느끼는 현실적인 이야기라면 더욱 도움이 되겠지요. 아무쪼록 앞으로도 간간히 좋은 이야기 기대하겠습니다. 🙂

  9. 읽고 있으니, 핵심을 잘 짚어주어 너무 속이 시원하네요. 종종 들려 Insight를 얻어가겠습니다. 소프트웨어는 미국이라는 나라의 문화( Culture)와도 많은 관련이 있는 것 같습니다. 겸손과 절제가 미적인 동양의 문화와 잘 맞지 않는 것을 많이 보아왔습니다. 다음글들도 기대할께요.

  10. 좋은 글 잘 읽었습니다. 제 전공이 컴퓨터 공학인지라 이런 글을 보니 많은 생각을 하게 되네요. 앞으로도 좋은 글 많이 부탁드리겠습니다.

  11. 좋은글 감사해요. 그런데 accidental은 ‘비본질적’이라고 해석했으면 더 읽기 편했을 것 같아요. 사전을 찾아보니 두번째 뜻이 그거더라구요. 아무튼 좋은글 감사드려요.

  12. 멋진 글이네요. 내공이 남다르십니다. 잉여의 다른 표현은 ‘신명’이라고 하고싶네요. 시키지도 않은 짓을 하는 행위정도 될까요.^^

  13. 좋은 글 잘 보았습니다.

    대학 본연의 교육의 중요성과
    정부/학교의 장기적 비전 부재에 대해 공감합니다.

    그런데 또 보면, 저도 전공이 컴퓨터 공학인데
    커리큘럼은 말씀하신 것처럼 짜여져 있거든요.
    다만, 문제는 그것의 내제화가 현재 학교 교육만을 통해서는 안이루어지는 것 같고요.
    저같은 경우도 중간에 병특으로 벤처 생활을 하지 않았다면
    학부 졸업하고 나서도, 어떤 게 아름다운 코드인지 모르는 상태이지 않았을까 싶기도 하고.

    실제 이론이 현실화될 수 있는
    예를 들어, 공룡책과 리눅스 코드의 간극을 이어줄 무언가를 학교에서는 못 채우고 있는 것 같아서
    그런 것 때문에 기업 입장에서는 불만이 있는 것 같습니다.
    (말씀하신 것을 확장해보면, 현재 교수님들이 그런 것에 약해서 그런건가 싶기도 하고요.)

    다음 글도 기대하겠습니다 🙂

    • 네 좋은 커멘트 감사합니다. 저도 우리 대학교 커리큘럼이 기본적 틀은 잘 유지하고 있다고 생각합니다.
      문제는 자꾸 정부나 회사에서 우연한 시스템들을 더 가르치라며 스펙트럼을 자꾸 그쪽으로 강요하는 것 이고요…
      미국 학부생들은 넷웍 프로토콜은 한국 학부생들보다 잘 모릅니다. 대신 알고리즘, 랭귀지 이론 이런쪽은 훨씬 강하고요.
      근데, 이제는 소프트웨어의 기본이 그쪽이라는게 우리가 고민해야 할 문제인거고요..
      미국에선 여름방학에 3개월 인턴쉽을 거의 다 합니다. 아마 그게 말씀하신 간극을 이어주는 시스템인것 같습니다.

  14. 핑백: inylove82's me2day

  15. 좋은글 잘 읽고 갑니다.
    작년에 사촌동생이 컴퓨터 쪽을 전공하여 요즘 학교에서의 커리큘럼이 어떤지 물어봤었는데, 유행을 따라 간다는 느낌이 확 왔었습니다. 참으로 이상한 것은 졸업하고 실무에서 굴러보다보면 기본이 중요하다는 것을 느끼게 된다는 것이네요.
    앞으로도 좋은 글 많이 올려주세요 ^^.

  16. 커리큘럼 잘 짜여져있으면 뭐합니까… 학생들이 듣지않습니다.
    과제 적게내주고 학점 높게주는 교수의 커리큘럼은 아주그냥 수강신청에 불이납니다.
    그 반대 교수의 커리큘럼은 수강신청 마지막날에 해도 됩니다. ㅎㅎㅎ
    그 결과, 컴퓨터공학 학사를 마치고도 포인터도 잘 모르는 학생들이 대거 양산되죠…

    한걸음 더 나아가서, 기업들은 어떤사람을 뽑아야되는지도 모릅니다.
    인사 채용자들은 비전문가들로 구성되어있죠.
    전공에 대한 질의는 아주… 단순한 것으로 이루어져있습니다.
    그렇게 뽑아놓고는 ‘요즘 대학에서 가르치는게 형편없다. 기업에서 재교육을 다 시켜야된다’
    하고있지요… (엄한 압박면접이나 하고있고 ㅋㅋㅋ)

    그렇게 뽑힌 사람들이 또 나중에 인사채용 담당하고있겠지요.
    그렇게 일단 악순환이 되고있는거 같고요.

    그래도 요샌 밑에서 치고올라오는 인력 자체가 거의 없어서,
    기존 프로그래머들의 대우가 차차 나아지지않을까…싶기도 합니다.
    물론 10년전처럼 ‘3개월 마스터’ 프로그래머들이 대거 창출되지않는다면요…;;;

    • 말씀하신것 보면 정말 겨우 10년만에 나라가 많이 변한것 같습니다. 저 학부때만해도, 어려워도 해보자 라는 분위기가 있었거든요….왜 그렇게 된걸까요? 아…

  17. ^^… 친구가 링크해 줘서 좋은 글을 발견하게 되네요.

    그 대기업 계열사에서 근무하고 있지만, 충분히 공감하고도 남음이 있습니다.
    요즘의 인터뷰란 압박이 아니라, 그 사람이 가지고 있는 걸 모두 보여줄 수 있도록
    여유와 배려를 하도록 노력하고 있답니다. (몇몇 분들은 아직 옛날 티를 못 벗고 계신가봐요. ㅋ)

    언제쯤 우리나라도 Geek들이 인정받으며, 그 잉여력으로 세상의 변화를 이끌 수 있는
    기회를 줄 지… 안타까운 마음입니다. 박사님의 피드를 제 RSS에 상단으로 모시겠습니다.

    좋은 말씀 감사합니다.

  18. 좋은글입니다만, 저는 약간 다른 의견이 있어서 글을 남겨봅니다.
    미국의 교육은 본질적 문제에 집중하고, 한국의 교육은 우연한 문제에 집중한다고 하셨는데,
    학생들의 수준 차이가 그런 현상을 만들어내는 부분이 크다고 생각됩니다.
    본질적 문제와 우연한 문제로 구분하셨는데, 다른 관점에서 보면 본질적 문제와 그 해결을 위한 도구라고도 볼수 있을 것 같습니다.
    간단한 예로 c언어 같은 경우, 컴파일러나 새로운 랭귀지를 만드는 일등을 하지 않는다면, 도구에 해당한다고 봅니다. 다른 어떤 문제를 접해도 알고 있어야 하며 포인터의 마법 같은 것도 그리 어렵지 않게 해독할 수 있는 능력이 있어야 겠지요.
    하지만, 학생의 능력에 따라서 그 도구적인 부분까지 스킬을 끌어올리는데만, 많은 시간과 노력이 필요한 경우도 엤습니다. 이런 경우에 그런 도구적 능력을 기본적으로 가지고 있으며, 본질적인 문제에 대한 사고까지 하기를 바라는 것은 약간 무리가 아닐지요?
    실제로 같은 과목 공룡책으 사용하는 os과목만 하더라도, 같은 교재를 사용해도 학교 별로 진도 차이가 심하게 납니다. 강의자료는 다들 미국 유명대학 자료를 베끼는지 다 비슷비슷한데, 미 대학 커리큘럼을 보면 한학기에 책 전체를 끝내고, 국내 sky급은 뒷부분의 내용은 스킵해버리고, 그 이하 대학의 경우는 아예 2학기 동안 진행하는 경우도 많더라구요.
    사실, 미공대는 전세계의 내노라는 사람들이 모이는 곳인데, 그 커리큘럼을 국내 대학이 따라가는건 무리가 아닐지요? 똑같이 4년간의 시간만 주어지는데요.

    너무 부정적으로 글을 쓴 것 같은데, 제 의견은 현실적으로 우리나라가 전세계의 인재들이 모이는 미국을 똑같은 방법으로 따라가는 건 힘들지 않을까? 입니다. 쓰고 보니 암울하군요 ㅠㅠ

    • 좋은 의견 감사합니다. 학생들의 수준 차이 부분에 저도 동감합니다. 그런데 제 생각에 학부 1학년으로 들어오는 학생들의 수준 차이는 그닥 크지 않다고 생각합니다. 대학원이야 전 세계에서 인재들이 모이지만 학부 같은 경우 괜찮은 주립대학교 경우에도 그 주에서 그럭저럭 중상위 유지만하면 들어오거든요. 한국의 고등학교 교육열 생각하면 학부생들은 비슷하거나 오히려 한국이 나을수 있지않나 생각이 듭니다… 미국 학부들이 공부를 더 많이 시키는것도 아웃풋 차이의 이유겠죠…

    • 고등학교때 미적분 공부한 학부 신입생들의 재능은 오히려 한국이 더 낫다고 봅니다. 문제는 커리큘럼이 얼마나 프로그래밍 실무와 전산이론간의 균형을 더 잘 잡느냐 인것 같은데요. 미국 일반 주립대에서 수년간 TA를 하면서 느낀점은, Programming Language나 Computational Theory와 같이 CS안에서도 너드들만 즐길수 있는 분야가 상당히 깊게 다뤄진다는 것이었습니다. 물론 절반 이상의 학생들이 중도에 포기하거나 근근히 따라가는 정도이지만, 한국처럼 “이거 졸업하면 써먹을데도 없는데” 하는 분위기는 아닙니다. 그런 수업에서 두각을 보인 학생들이 결국 구글이나 투자은행, MSR 혹은 뜨는 벤처기업으로 가서 갈고닦은 실력을 발휘하고 오픈소스커뮤니티도 이끌기 때문이죠. 결국 차이점은 ‘근본에 다가선 지식을 써먹을 곳이 얼마나 있나’에 있는듯 해요.

      • 글 잘 읽었습니다.
        한편으로는…고등학교 교육 역시 입시위주 교육으로 몰아가는 형태로, 깊이 있는 사고를 할 환경이 갖추어 지지 않는것이 현실입니다. 미적분 문제풀이보다는, 왜 그런 풀이과정이 나오는지를 이해해야 하는데 말이죠…

  19. 정말 잘 보고 갑니다. 현업에 있으니 ‘본질적 문제를 해결하는 과목’이 정말 중요하다는 걸 깨닫고 있습니다.

    추천해주신 책 The Universal Computer 도 꼭 읽어봐야겠네요.

    PS : 다음 글은 언제나오나요? 빨리요. 현기증 난단 말이에요.

    • 네 감사합니다. The dream machine 이 책은 미국에서도 그닥 인기는 없는 책인듯 합니다.. 내용은 정말 좋은데…

  20. 좋은 글 고맙습니다!
    저도 잉여력에 투자하고 있습니다.
    전에 The Universal Computer를 번역서로 읽었고
    요즘은 다익스트라의 A discipline of Programming과 페졸드의 The Annotated Turing를 읽고 있습니다만, 이런 책에 관심을 보이는 사람들은 많지 않더라구요.
    같이 토론할 사람이 없어 늘 심심하지만 계산가능성 이론, 언어론, 오토마타, 알고리즘 디자인 공부에 잉여력을 멈추지 않는 이유는 제 호기심을 충족시켜주기 때문입니다. 그리고 결국엔 기초가 내공이라는 생각 때문이기도 하구요.
    오늘 이 글을 읽으니 너무 공감이 되어서 행복했습니다. ^^
    다음에도 좋은 글 부탁드립니다.
    감사합니다.

    • 지금쓰고 있는 글도 그쪽 관련해서 만들고 있습니다…전 컴 이론은 지독하게 못했지만, 그래도 제일 사랑한 분야입니다..애증의 관계랄까요? ^__^. 그쪽 잘하시면 앞으로 잘 나가실거라는데 제 손모가지를 걸어봅니다…

  21. 이런쪽엔 문외한 이지만, 내용이 내포한 뜻은 나름 잘??? 이해 됩니다.

    선지자가 얼마나 잘 이끄느냐에 따라 결정 되죠.

    그런 인재를 키울수 있는 분위기가 조성 된다면, 좋겠지만, 아주 부정적이지만은 않네요.

    이렇게 걱정해주시고, 이렇게 쉽게 이해할수 있는 답변을 주시는 분들이 계시니까요!

    깨어나라!!! 대한민국~~

  22. “나 지금 제대로 하고 있는건가..”라고 스스로에게 질문을 던지고 있는 시기입니다.
    그런 질문에 상민님(저랑 이름이 같으세요;;)의 글은 멋진 답을 주고 계시네요.
    역시 “기본”이 중요합니다.

  23. 핑백: nambak80's me2day

  24. 소프트웨어, 잉여와 공포와 이번 글 매우 잘 읽었습니다.
    하지만 글에서 약간 아쉬운 점은 S/W 개발을 위해 모든걸(인재, 인프라, 시장) 갖춘 미국에 비해서 모든 것이 턱없이 부족한 한국에서 전략적으로 고민해야하는 부분은 별로 보이지 않는 것 같습니다. 사실 이번글과 같이 응용보다는 근본을 중시하자는건 90년대부터 모든 산업계에서 꾸준히 재기된 문제입니다. 하지만 그럴 수 밖에 없었던건 부족한 인재와 자원에서의 전략적 판단이었던걸로 알고 있습니다.

    • 읽어 주시고 답글도 남겨주셔서 감사드립니다.
      하지만 제 생각엔 소프트웨어는 급하게 따라잡는 전략으로는 절대 해결이 불가능하다고 생각해서 글을 올렸습니다. 그동안 정부에서도 SW프로젝을 여럿 추진했고 기업들에서도 fast follower 전략을 시도해봤겠지만, SW 에서 성공한 경우는 거의 없다고 생각합니다. 제가 지적한 이유는 10년넘게 지속된 정부의 그 전략적 판단이란 것이 소프트웨어의 속성과는 어울릴 수 없다는 점입니다. 제 주장은 아무리 5-10년후가 걱정 되더라도, 전략을 버리고 근본으로 돌아가라 라는 것입니다.

      • 동감합니다 ….

        잔머리 굴리는 테크닉이나 기술보단 , 기본 자료구조 알고리즘 프로그래밍언어좀
        제대로 배우고 오는 사람이 왜이리 없는지………………….

        면접때 제출한 포트폴리오나 기술들은 좀만 깊이 물어보면 , 기본기가 다 들통납니다

        열정과 기본기만 제대로 갇췄으면 더는 바람이 없을거 같네요

  25. IT관련 글을 읽으면서, 감동 받기는 이업계 15년만에 처음이네요.
    그간 나를 짓눌렀던 뭔가가 뻥하고 뚫리는 느낌입니다.
    자주 찾아오겠습니다.

  26. 좋은 글 감사합니다. IT관련 글을 읽으면서 감동받기는 업계 종사 15년만에 처음입니다.
    가슴을 눌러왔던 뭔가가 뻥하는 느낌입니다.
    자주 찾아오겠습니다.

  27. 핑백: 변화는 느리다. 하지만 전면적이다: IP 기반의 주문형 스트리밍 TV 경험이 기존 TV 경험의 각분야를 해체하고 있다. « Empathy Powered

  28. 질문: 공룡책이 어떤 책을 말하는지 알려주실래요?
    Operating System Concepts [Hardcover]
    Abraham Silberschatz (Author), Peter B. Galvin (Author), Greg Gagne (Author)
    이건 가요?
    그럼 미리 감사.

  29. 전직 삼성맨으로 인도 영어에서 뻥 터졌습니다.

    국내 대학에서 이론 교육에 소홀한 이유와 학생들에게 매력이 없는 이유 중 하나가 이를 전공한 인력이 갈 곳이 없다는 것이 문제인 것 같습니다. 국내 기업이 원천 기술 개발 보다는 기존 기술을 통합하고 상품화하는데 더욱더 치중되어 갈수록 그런 문제가 심각해지는 것 같습니다.

  30. 안녕하세요. 아직 입사도 하지 않은 4학년 대학생입니다.
    수업을 들으면서 항상 느끼던 생각들이었는데, 읽다가 흠칫 했네요. 심지어는 정치하는 사람들에 대한 생각까지 비슷하다니요. 많은 분들이 느끼고 계신 걸 보니 다행이네요. 저의 생각이 틀린 것만은 아니었구나 싶네요. 본질적은 문제가 중요하죠.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중