2005년 4월 12일 화요일

기술 진보

사실 기술 진보는 기술 대체라고 하는 편이 더 맞다.
과거의 모든 것을 그대로 하면서 그 위에 새로운 것을 덧붙이기는 한계가 있다.
과거의 것 중 많은 것을 포기해야 할 필요도 있고,
이미 된 업적을 그대로 가져다 써야 할 수도 있다.


요즘 .NET, MSDN으로 프로그래밍을 하고 있는 데,
Senior 프로그래머 한 분이 내게 이렇게 말했다.
".NET으로 배우면 프로그래밍 실력이 안 늘어,
 .NET은 너무 편해서 API를 외울 필요가 없어지거든."
"요즘 프로그래머들은 기초가 부족해"


그 많은 API를 왜 외워야 하는 지 모르겠다.
API도 너무 많고 해야할 일도 많아서 그런 걸 할 시간은 없다.
인간의 수명이 과거보다 늘었다고는 하지만 그건 10~20%에 불과하다.
많은 것을 포기하지 않으면 다 해낼 수 없다.


정말 중요한 것은 문제를 해결하는 것 자체이지,
API를 얼마나 능숙하게 담고 있느냐는 아닌 것 같다.
대신 우리는 더 윗쪽 레벨의 새로운 문제에 더
많은 시간을 투입해야 한다.


누적을 통해 새 기술이 나왔을 때,
발전 과정상의 기술을 모두가 배울 수는 없다.
그렇게 된다면 어떠한 기술도 한 인간의 수명보다 발달할 수 없다.
(100년이라는 한계에 묶인다.)


기술이 성숙하려면 분야를 나눠야 하고,
몇 명만 과거(상세한 내용)에 남겨두고
나머지 사람들은 미래로 나아가야 한다.


----------------------------------------------------
승마라는 고급 기술을 익히는 데는 10년이 걸리지만
자동차와 운전 면허 준비는 1개월이 걸린다.
검술을 잘 하기 위해서도 역시 10년이 걸리지만
총 쏘는 법은 군대에서 2주만 배우면 된다.
호미, 낫을 사용하는 법을 몰라도 트랙터를 다룰 줄 알면 되고,
어깨에 벽돌을 많이 쌓는 기술이 없어도
도르래를 쓰면 된다.


어떤 것이든 같은 값이면 미래의 기술에 투자하는 편이 대부분 승리한다.
과거의 기술이 물론 바보 같다고 할 수는 없다.
그 상황에서는 그게 최선이었을 테니까.
하지만 상황(환경)이 바뀌었으니 최선도 바뀐다.

댓글 없음:

댓글 쓰기