즐겨 가보는 블로그 중 하나인 김창준님의 애자일 블로그에서 참 좋은 글이 있어서 여기에 적어본다. 프로그래머의 위기지학(爲己之學). 바로 남을 위한 프로그래밍이 아닌, 자기 자신을 위한 프로그래밍을 해야 한다는 뜻이다.

http://agile.egloos.com/2807583

여기에 많은 공감을 하게 되는 것은, 내가 보아온 많은 훌륭한 프로그래머들이 밥벌어 먹고 살기 위한 프로그래밍이 아닌, 자기 자신을 위한 프로그램을 만들고, 이로 부터 자신의 목적에 맞는 많은 생산성 향상과 즐거움을 얻는 것을 보면서 감탄한 적이 많았기 때문이다.
국내의 대표적인 백신 프로그램인 V3 도 안철수씨의 개인 PC 에 감염된 바이러스를 제거하기 위해서 만든 V1 백신이 그 시초였고, 현재 100만명 이상이 사용하고 있는 대표적인 사진 관리 프로그램중 하나인 포토웍스(
http://www.andojung.com ) 도 andojung 님의 개인적인 취미로 부터 시작된 훌륭한 프로그램이었다. ( 사실 andojung 님은 전에 나의 회사 고참이기도 했다... ㅋㅋㅋ )

많은 프로그래머들이 개발업무에 있어서 보다 효율적이고 퍼포먼스를 높이기 위해 부가적인 유틸을 만들어서 개발에 활용하기도 한다. 예를 들어 내가 본 예를 들자면 대량의 데이터를 읽고 처리하는 프로그램을 개발함에 있어, 데이터를 일일히 raw 상태로 읽지 않고 빠른 처리를 위해 데이터 파싱 프로그램을 별도로 만들어 활용한다든가, DB 작업을 할때 대량의 가상 유저 DB 를 무식하게 노가다로 만드는 것이아니라 제너레이터 프로그램을 따로 제작해서 이로 부터 데이터를 생성해서 DB 에 자동 인서트하는 쿼리 프로그램을 만든다든가 하는 것들이었다. 물론 그냥 노가다로 하는게 훨씬 더 빠른 경우도 많다. =) 그래서 현업에서는 대부분의 사람들이 별도유틸 제작시간보다 노가다 시간이 훨씬 긴 경우에만 별도 유틸을 제작할 생각을 하는 것 같기는 하다. 중요한것은 노가다를 하고말고가 아니고 항상 어떻게 하면 같은 일을 하더라도 자신의 코딩능력을 활용해서 효율적으로 일을 하느냐가 아닐까 싶다...;

그럼.. 내가 만든 위기지학의 프로그램이 있는가? 물론 있다  ;)
전에 회사에서 틈틈이 영어공부를 하기 위해서 만든 단어장 암기 프로그램... ㅋㅋㅋ




사용자 삽입 이미지
                  (클릭하시면 크게 보실수 있어요~ )




한창 영어공부를 열심히 하던 시절, 딴짓하면서도 단어를 외울 수 있게 고안된 프로그램이다. 나름대로 원본 토플단어장으로 부터 파싱해서 데이터 수집, 버튼 안누르고도 자동으로 단어가 넘어가는 타이머, 틀린단어 체크 및 로그 기능등 편리하다고 생각되는 기능들을 추가해서 만든 프로그램이다. (UI 가 허접한 이유는 화면에 띄어놓아도 다른 사람들 눈에 안띄게 하기 위함.. ㅋㅋ) 사실 이것과 비슷한 프로그램들도 여럿 있기는 하지만 그래도 직접 만들어서 써서 그런지 애착이 많이 가는 넘중 하나다. ㅎㅎ
댓글을 달아주세요!
이름 암호 홈페이지