‘조엘이 엄선한 블로그 베스트 29선’ 이라는 책 중에 1~10번 까지의 내용을 읽고 인상깊은 포스트에 대해서만 제 생각을 적어 봅니다.
각 포스트는 원문 링크를 달아 두지만, 한글은 당연히 아닙니다 ^^;; (그리고 전 한글 번역서를 읽고 있겠죠? ^^;;)
<1> 스타일은 언어 요소다.(켄 아놀드)
요약하자면 “코딩 컨벤션을 아예 컴파일 체크에 포함시키자” 라는 것
소스를 버전 관리 시스템에 넣어 관리해 본 사람이라면 쌍수를 들고 환영할 것 같다.
작업 하나 하고 나면 commit 대상 파일 리스트 중 상당수가 내용변화 없는 포매팅 변화, 빈 칸-탭-엔터 추가 등에 의한 변경 감지이다.
commit 리스트에서 삭제하기 위해 revert를 해 주는 작업도 한두번이지, 여러 번 하면 정말 짜증나기 일쑤…
게다가 같이 쓰는 코드를 commit 해 놨는데 상대가 자신의 코드 컨벤션에 맞게 리포매팅을 해서 다시 commit 한다면
분명 언젠가 둘 중 하나는 머리에서 김이 날 것이다.
하지만 띄어쓰기 하나하나에 에러를 내뱉는 리눅스 셸 프로그래밍을 해 본 사람이라면 이것도 편하지만은 않다는 것을 알고 있을 것이다.
(’띄어쓰기가 잘못되었다’ 라고 에러로 친절하게 알려주지 않기 때문에 한참을 고생한 기억이 난다.)
컴파일 체크에 코딩 컨벤션을 포함시키는 것은 기발한 아이디어인 것 같긴 하다.
하지만 이를 사람에게 전적으로 위임하는 것은 그 나름의 불편을 초래할 수도 있으니까, 컴파일러 표준에 전처리로 표준 스타일의 리포매팅을 하도록 한다면 사람의 실수도 어느 정도 줄일 수 있지 않을까?
아니면 적어도 에러 메시지를 ‘스타일에 의거해서 …. 가 잘못되었다’라고 가르쳐주고 라인번호, 컬럼번호 정도는 알려줘야 될 듯…
<3> 프로그래머 아웃소싱의 단점(마이클 빈)
골치아픈 개발, 그냥 사람 쓰고 편하게 편하게 갈 수 있으면 다 그렇게 해 왔겠지…
국내에서 A/S 센터 아웃소싱 하는 H/W(PMP, MP3 등)회사들… A/S때문에 소비자들에게 이미지 안좋아지고 있다.
자신의 회사처럼 열과 성의를 다하지 않으니까… 그렇게 할 이유가 별로 없고…
무엇보다도 개발은 발전, 혁신이 필요한 것인데… 아웃소싱 인력에게 그런 걸 바라는 것은 무리가 아닐까?
<5> ICSOC04 강연 한 토막(애덤 보스워드) - 원문 포스트 사라짐
KISS(Keep It Simple, Stupid:간단하고 알기 쉽게 만드는 편이 좋다) 원칙이 갖는 유용성과 인터넷 컴퓨팅에 미친 영향에 대해 언급하고 있다.
상당히 긴 내용이지만 요약한다면 이렇게 되지 않을까 싶다.
어렵고 추상적이며 빡빡한 시스템은 스스로 붕괴하고 사람들이 찾지 않는 기술이 될 것이며, 쉬우면서 유연성 있고 자연스러운 시스템은 많은 사람들에 의해 애용될 것이다.
정말 중요한 것은 ‘기술’ 자체가 아닌 ‘기술’에 의해 처리되는 ‘컨텐츠’이기 때문이다.
<7> 비정상적으로 행동하는 애플리케이션을 막지 않는 이유는?(레이먼드 첸)
‘윈도우 호환성을 위한 몇 가지 트릭이 윈도우에 숨겨져 있고, 이는 버전이 넘어갈 때마다 계속 유지되어 오고 있다’고 한다.
(조엘은 예로 DOS->Windows로 OS 흐름이 넘어갈 때, ‘치명적인 버그’ 로 호환되지 않는 심시티를 위해 MS에서 손수 OS에서 패치한 것을 들었다.)
생각해 보면 당연한 이유인 것 같다.
현재 사람들이 Windows Vista로 마음 놓고 갈아타지 않으려는 이유, 과거 Windows 2000이 SP2 이전까지 찬밥 신세였던 이유는
OS의 결함이 아니라 기존 프로그램과의 호환성이 엉망이었기 때문이다.
그리고 그게 설령 프로그램 제작사의 잘못이더라도 사용자 눈에는 그렇게 보이지 않는다는 것이다.
OS가 컴퓨터의 메인 애플리케이션임은 맞지만, 내가 쓰고 있는 프로그램이 돌아가지 않는다면 활용가치는 뚝 떨어지는 것이니까…
<8> 환상적인 사용자 인터페이스(케빈 쳉, 톰 치)
Winamp가 이렇게 나왔다면 이미 옛날에 역사의 뒤안길로 사라졌겠지…
UI의 기준은 전적으로 사용할 유저에게 맞춰야 한다는 것을 제대로 보여주는 카툰인 것 같다.
<10> EA : 휴먼 스토리(ea_spouse) - 이 글은 2004년 11월에 쓰여졌고, 지금과는 다를 수 있다.
국내 IT 개발 사회(사실 IT 외의 많은 분야 포함)의 고질적인 문제인 야근…
설마 EA라는 미국 대형 게임 회사에서 국내에서나 가능한 일이라고 생각한 ‘월화수목금금금’ 야근을 아무일 없이(즉, 보상 없이) 시키고,
그 과정 또한 국내와 비슷하며, 그로 인한 이직률이 50%에 달했다는 점에 놀랐다.
불공평하고 반인륜적인 혹사, 그리고 반대하는 사람들은 시장논리에 의하여 버려지는, 사회적 강자와 사회적 약자와의 싸움.
‘너 나가면 다른 사람으로 채우면 된다’는 사람과 부품을 동일시하는 마인드.
이런 회사가 망해야 본보기가 될텐데… 망하기는 커녕 스포츠 시리즈 매년 나와 주니 왠지 기분이 착잡하다.
게다가… 글 아래의 리플이 주루룩 달린 것이 왠지 불안하다.
(EA만 그런 게 아니다라고 말하고 있는게 아닐까 해서… 웃긴건 리플에 국내 S모사도 나온다.)