최근에 저자 이벤트를 통해서 “시지프스를 다시 생각하다”라는 책을 받았다. 처음에는 선착순 10명에게만 보내주는 이벤트였는데, 이벤트 마감시에 응모한 모든 분들에게 책을 보내주신다고 하신 덕분에 책을 받게 되었다.

감사합니다. (_ _)~

저자님이 직접 보내는 것이 아닌, 인터넷 쇼핑몰에서 오는 것이기에 안타깝게도 저자님의 친필 메시지는 없었다. 대신, 고객메세지에 이렇게 한 줄의 메시지가 대신. ㅎㅎㅎ

저자님의 메시지

책은 받자마자 읽기 시작해서 하루 만에 다 읽었다. 약 200페이지 정도로 부담없이 볼 수 있을 정도의 분량이었다. ^^

책 제목에 시지프스가 나오는데, 무엇인지 몰라 검색했다. 그리스 신화에 나오는 사람이었다. 너무 똑똑한 인간으로 신들을 이용하여 신들에게 미움을 받게 된다. 사후에 형벌로 바위산에 바위를 굴려서 정상에 올리는 형벌을 받게되는데, 바위를 정상에 올리면 바위가 미끄러져서 굴러내린다. 그리고 다시 그 것을 밀어 올리게 되는 영겁의 형벌을 받는 인물이다.

곰곰히 생각해보면 소프트웨어 개발에 종사하는 사람들이 “시지프스”가 아닌가 싶다. 개발이 끝났다고 생각하는 순간 유지보수의 시작이니...쩌업... 책 표지에 소스 코드로 시지프스를 표현한 것이 예술이다. 생각할 수록 너무나 딱 들어맞는 다는 느낌이 든다.

내가 고민했던 것들을 저자도 했구나 하는 동질감을 느꼈다. 자세한 책 내용 소개는 생략한다. 궁금하시면 꼭 읽어 보시기를 ㅋㅋㅋ

책을 읽으면서 예전에 내 모습들이 떠올랐다. 소프트웨어 개발자로 9년 넘게 일해오면서 이직을 세 번 했다. 이때마다 많은 고민을 했던 기억이 난다. 다양한 것들이 복합적으로 작용해서 이직을 결정하기는 했지만, 새로운 회사를 선택하는 기준의 으뜸은 원하는 분야의 소프트웨어였다. 처음은 임베디드 리눅스를 하는 곳, 두 번째는 OS 개발을 하는 곳, 세 번째는 시스템 소프트웨어 개발을 하는 곳을 선택을 하였다. 이직을 하면서 다른 분야의 소프트웨어를 개발하게 되면서 긴장도 많이 하였고, 후회없는 선택을 하기 위해 고뇌하고 다짐을 하던 모습들이 생각난다.

지금의 내 모습에 대해서도 생각하게 된다. 소프트웨어 개발자, 30대 중반, 두 아이의 아빠, 남편, 아들, 사위.... 다양한 나의 역할들이 머리속을 스쳐 지나간다. 어느 것 하나 소중하지 않은 역할이 없어 보인다. 한 쪽에 치우치지 않고, 이 많은 역할들에 충실한 지에 대해서도 생각한다.

미래에 대해서도 궁금증들이 생긴다. 미래가 불투명하다. 40살 넘어서는 어떤 일을 하고 있을까? 50살 넘어서는? 40살 넘어서도 소프트웨어 개발자로 일을 할 수 있을까? 그 것이 내가 원했던 모습일까? 주변에 보이는 경비, 청소하시는 분들의 모습이 나의 미래인가? 어떤 꿈을 꾸고 있는 거지?

이 책을 읽으면서 잠시 머리 안쪽에 접어 두었던 다양한 생각들이 하나씩 물 위로 떠오른다. 그래서 머리가 아프다. ㅠ.ㅠ;;

이런 생각을 할 수 있게 기회를 만들어준 저자님에게 감사의 마음을 전합니다. ^^

책을 읽고서 me2day짧게 감상을 남겼으나, 이번에는 인사이트 출판사서평 이벤트도 생각해서 겸사겸사 남긴다. 이 책은 역자 중 한 분이신 박재호님의 이벤트를 통해서 만나게 되었으며, 자세한 내용은 여기를 참조하시라~~


퇴근 길 지하철에서 이 책을 읽었다. 책의 크기가 사람이 많은 지하철에서 한 손을 잡고 보기에 딱 좋은 크기이다. 역자님의 강력한 주장으로 책의 크기가 줄어들었다고 하는데, 덕분에 만원인 지하철에서도 잘 읽을 수 있었다. (역자님 쌩유~~)

책 표지를 보면 달마도사가 키보드를 들고 있는 동양화이다. 이 그림 선택이 제대로이다. 책 구성을 보면 전체 356페이지인데, 86개의 장으로 구성되어 있다. 대략 1장당 3, 4페이지 분량이다. 이 장을 읽어 보면 동양화의 이미지하고 딱 일치한다. 동양화에서 여운을 남기는 여백과 같은 느낌이다. 한 장의 분량은 작지만 읽은 뒤 여운은 오래 간다. 

책을 읽는 도중에 Presentation Zen에서 얘기하는 프리젠테이션이 떠오른다. 각 장의 첫 페이지에는 그 장에 내용과 관련된 멋진 사진으로 시작을 한다. 내용을 읽어 보면 왜 이 사진을 선택을 했는지 아하! 하는 느낌이 온다. 이 사진들을 모아서 프리젠테이션 자료를 만들고, 그 장의 내용을 대본으로 사용하면 정말 근사한 프리젠테이션이 될 거라고 생각 된다. 책이 더 유명해지기 전에 함 시도 해보고 싶은 마음도 생긴다. 이 책 소개 블로그에서 어느 정도 맛을 볼 수 있다.

저자들은 노가리텔러들이다. 복잡하고 어려운 내용들에 대해서 쉽게 잘 설명을 해준다. 어렵다 싶은 것은 알맞은 사례를 들어서 얘기를 풀어준다. 그렇다고 쉽게 설명을 하기위해 장황하게 늘어놓지도 않는다. 

책을 읽는 동안 Déjàvu가 머리 속에 맴돌았다. 언젠가 보았던 것 같은 그 느낌. 그리고 왠지 또 일어날 것 같은 느낌. 약 8년 동안 소프트웨어 개발을 하면서 경험했던 것들이 이 책에서 얘기하는 패턴들로 깔끔하게 설명이 되어 있다. 계속 일을 하면서 앞으로도 이런 패턴을 보게 될 것이라는 것도...게다가 여기서 얘기하는 패턴들은 꼭 소프트웨어 프로젝트가 아닌 곳에서도 볼 수 있는 것들이라고 생각된다. 사람들이 모여서 일을 하면서 발생할 수 밖에 없는 문제들을 잘 떠올려 보면 많은 부분들이 여기서 얘기하는 패턴들과 유사하다.

끝으로 책을 읽는 동안 부드럽게 읽혔다. 즉 역자 분들이 깔끔하게 번역을 해주신 덕분에 이런 좋은 책을 편하게 잘 읽을 수 있었다. 양질의 번역서를 출판해주는 인사이트 출판사와 능력자이신 박재호, 이혜영 두 번역자 님에게 감사를 드립니다.

Ps.
공짜로 얻은 인사이트 출판사 증정본으로 쓴 후기라고 이벤트에서 빼시면 안됩니다. ㅎㅎㅎㅎ

최근에 소프트웨어 컨플릭트 2.0 한글판을 읽었다. 소프트웨어와 관련된 여러가지 논쟁들과 관련된 재미있는 글들로 엮어 있는 책이다.

책 내용 중에서 내가 소프트웨어 개발자라는 직업을 선택하게 된 이유를 다시 생각하게 되는 글이 있다. 책의 끝 부분에서 "사라진 즐거움을 다시 찾아 주시겠습니까?"라는 수필에 다음과 같은 문장이 나온다.

재미. 바로 이 단어가 소프트웨어의 핵심이 아니던가.

그렇다. 내가 대학에서 전산이라는 전공을 선택한 것도, 소프트웨어 개발자라는 직업을 선택한 것도 바로 "재미"가 있기 때문이다. 특히 그 재미라는 것에 대해서 나는 새로운 것을 만들어 갈 때, 머리를 아프게 만든 버그를 잡아서 수정할 때, 호흡이 잘 맞는 팀원과 일을 할 때 등에서 느낀다.

문득 광고 중에 "go with visa"라는 광고의 문구 들이 인상 깊었는데, "go" 대신 "재미"라는 단어를 이용해 바꿔보면 어떨까 생각이 든다.

"재미". 작고 평범한 이 단어에서 변화가 시작된다.

"재미"는 행동, 모든 행동을 촉발시키는 불꽃.
낯선 경험에 과감히 뛰어들고, 더 넓은 세상을 향해 발을 내딛는 것.

"재미"는 그 모든 도전의 또 다른 이름이다.

"재미"는 매일 우리의 가능성을 시험하며 우리가 한계에 부딪혔을 때
이 세상이 얼마나 넓고 아름다운지, 얼마나 많은 가능성으로 가득 차있는지 알려준다.

이것이 바로 더 많은 사람들이, 더 넓은 세상으로 "재미"와 함께 나아가는 이유이다.

이것은 하나의 기적.

모든 놀라운 일은 이 한 단어에서 시작된다.

"재미"

세상 속 더 많은 사람들이 "programming with 재미"



그러고 보니 리눅스도 바로 이 "재미"로 인해서 리누스 토발즈가 만들었던 것이 생각이 난다. "이것은 하나의 기적"이라는 말이 실감이 난다. ㅎㅎㅎ

오늘 Ubunut 9.04 버전이 릴리즈 되었다. 릴리즈가 되면 새 버전을 내려 받기 위해 서버가 뜨겁게 달가진다. 릴리즈 되기 하루 이틀 전에 릴리즈 이미지를 미리 내려 받는 방법이 있다.

시디 이미지를 배포하는 서버를 보면 메인 서버가 있고, 지역 별로 미러 서버가 있다. 릴리즈 된 버전이 공개 되기 전에 미리 이 미러 서버들로 복사가 된다. 이 위치가 겉으로 보이지 않게 가려져 있다. FTP 서버에 release 된 이미지 들이 저장되어 있는 ubuntu-releases 디렉토리안에 ".pool" 이라는 디렉토리이다.

한국에서 Ubunut 서버를 미러링 하는 Daum FTP를 보면 "ftp://ftp.daum.net/ubuntu-releases/" 가 릴리즈된 이미지가 저장되는 위치이다. ".pool" 디렉토리가 보이지 않는다. 그러나 "ftp://ftp.daum.net/ubuntu-releases/.pool/" 로 직접 들어가면 내용이 보인다. 9.04 시디 이미지 갱신 시간을 보면 4월 20일로 되어 있다. 9.04가 미국시간으로 4월 23일에 릴리즈가 되기 전 시간이다.

같이 책 읽기에 대한 느낌

소프트웨어개발 2008. 11. 11. 15:33 posted by whiterock
회사 팀 내에서 "코드 리딩" 이라는 책을 가지고 같이 책 읽기를 하고 있다. 김창준님의 "바쁜 직장인을 위한 스터디 비결"의 방식을 참고하여 진행 중이다. 이 방식을 선택한 이유는 읽고자 하는 책이 어렵지 않을 것이라는 가정에서 출발한다. 같이 모여서 책만 봐도 이해가 가능할 정도의 난이도로 판단을 했기 때문이다.

참여하는 사람은 나를 포함하여 6명이다. 진행은 다음과 같은 순서로 진행하고 있다.
  • 30분간 책 읽기 - 읽기 시작하는 페이지만 정해져 있고, 분량은 미정. 30분후 어느정도 읽었는지 공유 후, 목표를 정한다.
  • 5분에서 10분 정도 추가로 읽기 - 목표로 정한 페이지 까지 읽는다.
  • 20분간 내용 공유 - 3색 볼펜으로 줄을 그은 부분을 공유하면서 얘기한다.
약 3번 정도 걸쳐 진행을 해보았는데, 예상보다 읽는 속도가 느리다. 30분 정도에 10페이지 정도 읽는 것 같다. 점점 속도가 붙을 것으로 예상은 하지만, 이 정도의 속도로 책 한 권을 다보는기 위해서는 상당히 많은 모임이 있어야 할 것으로 보인다.

6 명이서 내용을 공유하다 보니 공유하는데도 시간이 많이 소요된다. 전체적으로 1시간 정도 시간을 예상하고 시작을 했는데, 좀더 시간이 소요가 된다. 3 명이 모여 내용을 공유하게 하는 것이 대안으로 생각되고 있다.

아직 많이 하지는 않았지만, 참여하는 구성원들의 반응은 긍정적이다. "신선하다.", "재미있다" 등의 긍적적인 평가가 나오고 있다. 나로서는 나름 새로운 시도이기에 이 책을 다 마무리 했을 때의 평가는 또 어떨지 기대 된다.
간만에 시간을 투자하여 꼼꼼히 보는 책이다.  구입은 KLDP 공동구매를 이용해 한달 전 쯤에 했지만, 3, 4월 어학원을 가지 않음으로 시간이 생겨 이제서야 보고 있다. 간만에 제대로 보는 전공 기술 서적이라 재미있게 잘 보고 있다.

Linux 내부 동작에 대한 부연 설명을 통해, Linux 상에서 System Programming을 할 때 보다 효율적으로 코딩을 할 수 있게 도와 준다. 보통 Linux 상에서 시스템 프로그래밍을 할 때, W. Richard Stevens의 책 들을 주로 참고를 했었다. "UNIX Network Programming", "Advanced Programming in the UNIX environment" 책을 항상 옆에 두고 참고 하였다. 필요할 때에 몇몇 부분을 참고하는 방식이었고, 또한 이 책들에서는 Linux 환경에 대한 내용은 없다.

코딩 하면서 흔하게 자주 사용하는 함수 였지만, 책을 보다 보면 아하! 그래서 그랬구나 하는 것들도 많이 눈에 들어온다. 예를 들면 fgetc() 함수의 return 타입이 int 인 이유 같은 것을 알게 되었다. C에서 문자열은 보통 char 타입으로 사용이 되는데, fgetc() 함수의 결과인 읽은 문자의 return 타입이 int 타입이다. 그 이유는 문자를 읽다가 발생하는 오류 상황에 대한 값을 넘겨 주기 위함이다. char 타입은 0x0 ~ 0xff 까지 이기 때문에, char 타입으로는 그 외 오류 상황을 나타내는 값을 추가적으로 정의 할 수 없다. 그래서 char 타입보다 더 많은 값을 저장할 수 있는 int 타입으로 함수를 정의했다고 한다.

"아는 만큼 보인다"고 하는 말 처럼, 같은 내용을 보더라도 예전에는 눈에 잘 안들어 오던 것들이 눈에 잘 들어 온다. 때로는 몇 년전에는 이해 못 했을 내용도 이해가 되기도 한다. 그러나, 어떤 것들은 알면 알수록 모르는 것들이 꼬리를 물고 나오기도 한다 ㅡ,.ㅡ;;;

여럿이 같이 보면서 얘기를 하고 싶지만, 상황이 그렇지 못해 좀 아쉽다. Linux 기반에서 시스템 프로그래밍을 하는 사람이면 한 번쯤 읽어 보라고 권하고 싶은 책이다.

5throck 님이 쓰신 "개발자 부족이 낳은 기이한 현상" 글을 보고 저의 생각을 남깁니다.

이 글에서는 "기이한 현상" 이라고 표현을 했는데, 저는 이미 예상되었던 현상으로 봅니다. 그리고 또한 개인적으로 환영하는 현상입니다.

몇 년 전부터 IT 업계가 건설업과 같은 3D 업종으로 알려지기 시작했습니다. 힘들고, 더럽고, 건강에 안좋고 게다가 급여도 상대적으로 적다라는 것들이 알려졌습니다. 똑똑한 학생들은 이 쪽으로 전공 선택을 하지 않으려고 합니다. 게다가 기 전공자들도 다른 분야로 직업을 찾아 갑니다.

대부분의 개발자들이 기술, 경험이 쌓이면 회사에서는 관리를 요구를 합니다. 관리를 하지 않고서는 더 높은 직급, 급여를 받을 수 없는 시스템으로 되어 있습니다. 고급 개발자에서, 초급 관리자로 변하게 됩니다.

추가 되는 개발자는 줄어고, 또한 기존 개발자도 없어집니다. 개발자 수요는 점점 늘어 가는데, 공급 및 기존 개발자가 줄어 드는 상황으로, 개발자가 희귀해집니다. 당연히 더 높은 값을 지불해서라도 고용을 하고자 하겠지요. 그래서 저는 이미 예상했던 현상으로 봅니다.

컴퓨터 관련 전공자이고, 7년차 개발자로서 이런 현상을 환영합니다. 당연히 몸값도 올릴수 있을 것이고, 좀더 좋은 환경을 찾아 갈수도 있겠지요.

참고로 해외로 아웃 소싱 및 해외 개발 인력 채용에 대한 제 생각은 이렇습니다. 인건비로 보면 개발 비용이 줄어 들 것처럼 보입니다만, 실제로 일을 하게 되면서 의사 소통 문제, 문화적인 문제 등으로 인해서 다른 추가 비용이 만만치 않을 것으로 생각 됩니다. 중간에 요구사항 변경시 이에 대한 적절한 조치가 한국 개발자와 일할때 보다는 많은 시간과 비용이 소요될 것입니다. 원할하지 않은 의사 소통으로 서로 다르게 진행함으로 발생하는 손실도 있을 것입니다.

이런 시장의 원칙으로 인해서 개발자들이 좀더 좋은 환경, 대우를 받는 날을 기대합니다.