공예, 사업, 엔지니어링, 과학 또는 예술
소프트웨어 장인정신 운동을 처음 시작했을 때, 소프트웨어 개발이란 무엇인지에 관한 토론들이 많았다. 초기에는 어떤 예술에 가까운 것으로 표현되었으나, 좀 지나서는 장인의 공예 작품으로 대하는 것을 선호하게 되었다. 이러한 비유에 전혀 동의하지 않는 사람들도 많다. 거기에는 내가 존경하는 사람들도 몇몇 포함되어 있다. 어떤 이들은 소프트웨어 개발을 사업, 혹은 엔지니어링이라고도 한다. 소수지만 과학이라고 하는 사람들도 있다.
개발자들은 소프트웨어 개발이 왜 예술이나 공예, 아니면 사업이나 엔지니어링, 또는 과학이어야 하는지 각기 나름대로의 강한 논리들이 있다. 소프트웨어 개발이 과연 무엇인지 각자의 이야기를 듣다 보면 정도의 차이가 있지만 모두 합당한 이유가 있다.
다른 논쟁으로, 장인정신이라는 이름 자체에 대한 논란이 있다. 어떤 사람들은 장인이라는 이름을 대단히 싫어한다. 가장 혁신적이고 빠르게 변하는 산업을 고리타분한 중세시대의 공예와 비교하는 것은 의미가 없다고 여긴다. 이 입장은 확실히 일리가 있다.
긴 시간 동안 소프트웨어 장인정신이 왜 괜찮은 비유인지, 소프트웨어가 왜 공예품인지 사람들을 설득시키려 꽤 노력했다. 어떤 비유가 적절한지에 대한 논쟁은 실제로 해야 할 다른 토론들에 비하면 별로 중요하지 않은 주제여서 그 비유가 어떻든 상관이 없었다. 개인적으로는 장인(개발자)과 공예품(소프트웨어)이라는 비유가 좋다. 하지만 정말 중요한 것은 비유가 아니라 그 비유가 상징하고, 장려하는 가치와 행동들이다.
소프트웨어 장인정신은 시켜야만 일하는 역량 미달의 노동자가 아니라 소프트웨어 프로페셔널의 수준을 높여, 프로의 모습으로 일하는 소프트웨어를 개발자를 지향한다.