소프트웨어 크리에이티비티 2.0 (Software Creativity 2.0)
무척 “창의력(Creativity)”이 강조되는 시절입니다. 좀 지나치다 보니, 때로
창의적이지 못하다는 이유로 두들겨 팰 것 같은 분위기를 느낄 때도
있습니다. 하지만 대부분 자신은 평균이상의 창의력을 갖고 있다는 소박한
믿음을 간직하고 있습니다. 개인적으로는 창의력을 지나치게 강조하는 것은
좋지 않다고 느끼고 있습니다. 창의력이 중요하지 않다기 보다는 “훈련된
호기심” 이상의 어떤 것이 존재한다고 생각되지 않기 때문입니다. 물론 제가
훔쳐보기 없이 일반 상대성 이론을 떠올릴 확률은 사실상 0 입니다. 하지만
실용적인 의미에서의 창의력에 그런 범주가 포함되는 것이 아니라는 것
정도는 동의하시리라 믿습니다. 창의력을 지나치게 강조하면 “훈련된” 부분을
소홀히 할 위험이 높습니다. 이 책은 소프트웨어 개발이라는 업무가 창의력을
필요로 한다는 믿음을 갖고 있는 저자가 자신의 믿음에 근거가 있는지를
탐구한 결과물입니다. (예전에 “소프트웨어 컨플릭트 2.0”이라는 작품으로 한
번 소개해 드린 적이 있는 저자입니다.) 창의력을 필요로 하는 업무라는 것은
업무를 구성하는 각 단계의 내용이 그리 자명하지 않으며, 실제 행동에
투입되는 시간에 비해 궁리하고 생각하는 시간의 비중이 상당히 크다는
뜻입니다. (저자의 조사에 의하면 여기서 상당히란 절반 이상임이
드러납니다.) 저 역시 이 부분은 스스로 측정해 본적이 있습니다. 몇 달간
소프트웨어 개발에 투입되는 개인적인 활동을 분단위로 기록해본 적이
있습니다. 실제 컴퓨터 자판을 두드리는 시간은 40%를 넘길 수가 없더군요.
저자의 조사는 광범위합니다. 도대체 이게 왜 창의력과 관계 있나 하는
생각이 드는 부분도 있습니다. 학계와 실무를 두루 경험한 저자의 조사는
“소프트웨어 개발” 이라는 업무의 성격에 대한 균형 잡힌 시각을 제공합니다.
하지만 군데군데 장애물들을 넘어가셔야만 합니다. 저자의 조사를 종합해보면
“소프트웨어 개발”이 꼭 “괴짜”들의 예술행위일 필요는 없지만 꽤 비중 있는
사고력을 투입해야만 하는 “창의력이 요구되는” 작업인 것 같습니다. 아마도
그 원인은 소프트웨어 개발에 내제된 복잡성 때문일 겁니다.