Think about it.2009.03.16 10:39

중학교 2학년때 처음 컴퓨터가 생겼다. DOS에서 여러가지 명령어를 쳐 보고 화면에 나타나는 글자들이 신기해서 컴퓨터 살때 DOS메뉴얼을 달달 외운적이 있다. =ㅁ=;
당시 Mdir 이라는 툴이 굉장히 유명했는데, 그 툴을 만든 개발자는 최정완(?) 이라는 사람인데, 여자친구가 컴퓨터를 못해서 쉽게 사용하도록 만든 유틸리티이다.


이 유틸을 보면서, 개발자가 정말 멋있다 라는 생각을 하게 되었고, 나도 사랑하는 사람이 생기면 이런 프로그램을 만들어서 줘야겠다는 다짐... 그 다짐으로 프로그래밍을 시작하게 되었다.

우선은 유틸리티를 만들기 위해서은 OS 쉘과 커널을 알아야 했고 C언어도 알아야 했다.
터보C를 익히기 위해서 책을 사서 3번정도 따라치며 정독했던것 같다. 그때 만든 프로램이 한글 조합형/완성형을 읽을수 있는
text reader 이다. 장문일때 스크롤도 생기게 했으며, 당시로는 훌륭했던것 같다.


그렇게 프로그램을 만들면서 자료구조나 알고리즘은 필요하지 않았다.

하지만 대학에서 컴퓨터공학을 전공하면서, 컴퓨터구조론, 소프트웨어 개발 방법론, 시스템프로그램 등의 수업을 들을때 아~ 왜 이게 이렇게 됬구나!! 하는 생각이 들었다.

 
 
 
 


왜 Hash, B+ Tree, R-Tree 가 빠른 검색을 하는지도 알게 되었다.
또한, 어러운 수식을 함수로 쉽게 만들수 있는 방법도 알게되었다.

많은 사람들이 이런말을 한다. 뭘 하던간에 기초가 중요하다고~ 하지만 나같은경우는 좀 다르게 접근했다. 어릴때 부터 머리가 나쁘고 이해력이 부족하다라는 소리를 많이 들어서 이해 하려 하지 않고, 무작정 코드를 따라치며 왜 이게 이렇게 동작하는지는 한권의 책을 4번, 3번, 2번 따라치며 자연스레 알게되었다. 꼭 기초가 없어도 두려워 하지 않으면 할 수 있다.

영어를 공부할때 문법이중요하다, 단어가 중요하다 라는 말을 많이 하는데, 보통 그렇게 가르치고 배운다.
하지만, 영어를 잘 하는 외국에서 몇년 살다 온 사람은 정렬이라는 한글 단어는 몰라도 arrangement라는 영어 단어와 뜻은 안다. 머리가 좋지 않은 나로써는 이게 최선이다. 나는 Smart 하지는 않지만 Clever 하다고 생각한다.

물론 기초가 중요하지만, 요즘 대세는 Know-How 보다는 Know-Where 이다. 정말 의욕이 있다면 기초보다는 열정 하나면 충분하다. 그 열정이 식지 않도록 꾸준히 자기개발을 해야 한다.

컴퓨터 공학적 기초지식은 연구원으로 일하지 않는한 그리 많은 도움을 주지 못한다. 그저 한줄 더 타이핑 해 보는게 현실적으로 더 좋다고 생각한다.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바