이야기 조각 하나
“이게 이태리에서 장인이 한 땀 한 땀…”, 2010~2011년 방영된 인기 드라마 시크릿 가든에 나온 대사입니다(‘자매품’으로 “프랑스 남부 출신 자연주의 디자이너가…”도 있습니다. 출처: https://www.youtube.com/watch?v=jtIlvnLApoU). 기계 학습 기술에 기반을 둔 코드 자동 생성 소프트웨어가 등장했지만 아직은 소프트웨어에서 적지 않은 부분이 개발자들의 한 땀, 한 땀, 아니 한 클릭, 한 클릭으로 만들어집니다. 그런 면에서 보면 소프트웨어 개발은 정교한 기예를 요구하는 수공예와 비슷합니다.

이야기 조각 둘
좀 어두운 이야기이지만 “안전 규정은 희생자의 피로 쓰인다”라는 말이 있습니다. 안전 규정과 소프트웨어가 무슨 상관이 있을까요? 소프트웨어에 오류가 있어 봐야 앱이 잠시 죽거나 웹 사이트가 불통되는 정도 아닐까요? 그런데 나이트 캐피털 파산, 토요타 자동차 급발진 사고 등 소프트웨어 오류에서 비롯되어 큰 파장을 일으킨 사건 사고도 적지 않습니다. 이보다 더한 참사가 앞으로 일어날 가능성은 어느 정도일까요?

이야기 조각 셋
소프트웨어 산업은 역사가 상대적으로 짧지만 다른 산업과 마찬가지로 여러 부침을 겪었습니다. 소프트웨어 산업이 지니는 첨단 이미지에도 불구하고 어떤 시점마다 되풀이되는 부침은 숙련도 부족이라는 문제에 영향을 끼쳐 왔습니다(한국의 경우 몇 년간 주요 대학의 컴공 정원 미달, 숙련자로 남을 동기 부여가 되지 않았던 과거 업계 이미지: “자바 두 명 타요.”).

전설(?)의 컷

소프트웨어가 세상의 문제를 해결하기도 하지만 때로는 세상에 문제를 일으키기도 하는 건 지금까지 이야기에서 미루어 볼 수 있듯이 소프트웨어 개발에서 기대만큼 정교한 지적 작업이 이루어지지 않기 때문이라고 할 수 있습니다. 그리고 사람의 지적 노동에 크게 의존하는 산업에서 숙련도 부족으로 사람이 바로 취약점이 될 수 있다는 점은 생각해 볼 만한 문제입니다. 이런 현실에서 찾아야 할 대안은 무엇일까요?

이번에 소개할 책 《소프트웨어 장인 정신 이야기》에서 지은이 로버트 C. 마틴은 그 대안으로 ‘장인 정신’을 제시합니다(소프트웨어 장인 정신은 중세 유럽 장인 제도의 특징을 소프트웨어 개발에 접목하려는 아이디어로 1990년대 후반부터 나타나기 시작했습니다).

장인은 자신의 분야에서 숙련된 경지에 도달하는 데 토대가 되는 여러 기예를 수련해야 합니다. 오랫동안 애자일 운동에 참여해 온 지은이는 개발자가 장인이 되는 데 필요한 훈련 과정으로 주요 애자일 개발 실천법인 테스트 주도 개발, 리팩터링, 단순한 설계 등을 어떻게 업무에 적용해야 할지 설명합니다. 또한 단순한 기능인이 아니라 해당 분야에서 자부심과 책임감을 지녀야 할 장인으로서 소프트웨어 개발자가 지녀야 할 기준과 윤리 역시 강조합니다.

2023년 현재 여러 IT 기업에서 정리 해고가 진행되고 있고 이른바 인공 지능 소프트웨어가 칩 한 클록, 한 클록을 써 가며 코드를 만들어 내는 상황은 개발자들에게 적지 않은 불안감을 안겨 주는 것 같습니다. 그렇지만 인간이 요구 사항을 입력하지 않아도 소프트웨어가 인간에게 필요한 소프트웨어를 척척 만들어 주는 날이 오기까지는 누군가의 한 클릭은 여전히 필요할 것입니다. 그리고 그 주역은 엉성한 작품이 아닌 멋진 창작물을 내놓을 ‘장인’ 개발자일 테고요. 소프트웨어 장인으로 성장하는 긴 여정에 이 책이 길동무가 되기를 바랍니다.

다음 인터넷 서점에서 구매하실 수 있습니다: 교보문고|알라딘|예스24