해커와 프로그래머

“여기서 어느 길로 가야 하는지 알려 줄래?”
“그건 네가 어디로 가고 싶은지에 달렸지.”라고 고양이가 말했다.
“어디로 가고 싶은지는 생각해 보지 않았는데.” 앨리스가 말했다.
“그럼 어느 길로 가든 상관 없겠네.”라고 고양이가 말했다.
“내가 어딘가로 갈 수만 있다면……” 앨리스는 설명을 덧붙였다.
“오, 그렇게 될 거야. 꾸준히 걷기만 한다면 말이지.” 고양이가 말했다.
- 루이스 캐롤(Lewis Carroll), 『이상한 나라의 앨리스』

마치 이상한 나라의 앨리스처럼, 기술직 종사자들 중 많은 이가 여기 저기 헤매며 돌아다니는 것을 즐기고, 어딘가로 갈 수만 있다면 목적지는 별로 신경 쓰지 않는 경우가 많다. 컴퓨터 프로그래머들은 이 과정을 해킹(hacking)이라고 부른다. 수(Sue)는 아이디어에 푹 빠져 있는 기술직 종사자이지만, 자신의 일과 바깥 세상 사이의 연결 감각이 부족했다. 특히 눈앞에 닥친 문제를 이해하고 싶어 하지 않았으며, 유일한 목표는 흥미로운 것을 탐색하는 일이었다. 만약 수가 한참 동안 해킹을 하고 있다면, 아마도 무언가 흥미로운 것을 찾은 것이다. 모든 구성원이 스스로 목표를 분명하게 이해하는 환경이라면, 수 같은 해커는 문제 해결형 팀에서 최고의 팀원이 될 수 있다. 그러나 환경적인 제한이 없다면 해킹만 이루어질 뿐이고, 일은 우연에 의해서만 이루어질 것이다.

해커는 괜찮은 해결책을 찾아내자마자 지루해하며 바로 다른 일을 하고 싶어 한다. 최악의 해커는 해결책의 최종 사용자를 단지 골칫거리로 생각할 뿐이다.
99.9% 가용성이라는 충족하기 어렵고 비용이 많이 드는 요구사항을 내세웠던 컴퓨터 시스템 입찰 사례가 있었다. 그러나 설계 엔지니어 중 한 명이 고객의 ‘가용성’ 정의가 엔지니어들이 생각하고 있는 가용성과는 다른 의미라는 것을 알아차렸다. 적어도 한 시간 전에 미리 통보를 받을 수만 있다면, 시스템이 다운되더라도 고객에게는 큰 문제가 아니라는 사실이 드러난 것이다. 그 결과 엔지니어들은 오류를 예방하는 방식이 아니라 오류를 검출하는 방식으로 시스템을 설계할 수 있게 되었다. 그 차이는 400만 달러의 가치가 있었지만, 엔지니어 중 두 명은 기술적으로 더 흥미롭다는 이유로 여전히 오류 예방 방식으로 시스템을 구축하고 싶어 했다. 그 두 사람은 400만 달러의 추가 비용을 누가 지불하는지 몰랐고, 관심도 없었다.

– 제럴드 와인버그(Gerald M. Weinberg), 『테크니컬 리더』 중에서

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중