AI 시대에 다시 떠올리게 된 "장인 정신"이라는 기준
📚 Overview
AI를 실무에서 자연스럽게 사용하게 된 이후 개발자의 일은 분명 빠르게 변하고 있다. 코드 작성부터 구조 제안까지 이제는 AI의 도움을 받는 것이 전혀 낯설지 않다.
그런데 아이러니하게도 AI를 많이 사용할수록 얼마전에 읽었던 『소프트웨어 장인』이라는 책의 문장들이 자꾸만 떠올랐다. 처음 읽었을 때는 다소 이상적이고 교과서처럼 느껴졌던 내용들이 지금의 환경에서는 오히려 현실적인 기준처럼 다가왔다.
이 글은 이 책을 읽으며 느낀 솔직한 독서 경험과 함께 AI 시대를 살아가는 개발자로서 내가 다시 정의하게 된 “장인 정신”에 대한 기록이다.
1. 책을 읽으며 느낀 솔직한 감정: 부끄러움과 즐거움 사이
일단 이 책은 이 책은 소프트웨어 엔지니어로서 묘하게 자부심(?)을 심어주는 책이었다. 하지만 읽는 내내 마냥 기분이 좋았던 것은 아니고 부끄러움과 즐거움이 동시에 찾아왔다.
책에서 다루는 여러 안티 패턴들이 낯설기보다는 오히려 익숙하게 느껴졌기 때문이다.
- “이건 나도 해봤는데?”
- “이런 식으로 일했던 적이 있는데?”
라는 생각이 계속 머릿속을 맴돌았다.
한편으로는 그동안 너무 쉽게 타협하며 개발해왔다는 사실이 부끄러웠고, 다른 한편으로는 아직 더 잘해질 여지가 남아 있다는 점에서 묘한 즐거움도 느껴졌다.
2. 알고 있다는 것과 행동하고 있다는 것은 전혀 다른 문제
더 나은 소프트웨어 엔지니어링을 위한 개념들에 대해서는 이미 인지하고 있다고 생각해왔다.
“테스트 코드는 중요하고 주기적인 리팩토링을 통해 레거시 코드와 잠재적인 위험 요소를 줄여야 한다는 것.” 뿐만 아니라, 개발자는 단순히 주어진 요구사항만 구현하는 사람이 아니라 오너십을 가지고 의사결정에 참여해야 한다는 사실까지도 말이다.
하지만 책을 읽으며 분명히 느낀 점이 하나 있었다. 인지하고 있다는 것과 실제로 행동하고 있다는 것은 완전히 다른 문제라는 점이다.
돌이켜보면 나는 생각보다 “입과 손가락이 먼저 움직이는 개발자”에 가까웠다.
어떻게 해야 하는지는 잘 알고 있었지만 왜 지금 이 선택을 하는지 그 선택의 결과를 끝까지 감당할 준비가 되어 있었는지는 충분히 고민하지 않았던 순간들이 많았다.
3. 기술적 실행 관례는 목적이 아니라 도구에 가깝다
책에서는 테스트 주도 개발론(TDD), 애자일 방법론(Agile), 심지어 페어 프로그래밍과 같은 여러 기술적 실행 관례들을 강조한다. 하지만 이 부분을 읽으며 자연스럽게 이런 질문이 들었다.
- “이런 관례들을 잘 지킨다고 해서 과연 실력 있는 개발자라고 부를 수 있을까?”
이런 방법들은 결국 더 나은 제품을 만들기 위한 하나의 테크닉이자 도구에 가깝다.
중요한 것은 왜 지금 이 환경에서 이 방법을 선택하는지, 그리고 그 과정에서 발생할 수 있는 사이드 이펙트와 감수해야 할 비용을 얼마나 명확하게 인지하고 있는지라고 느꼈다.
이론에 입각한 이상적인 결과보다 실제 맥락 속에서 포기해야 할 것과 끝까지 지켜야 할 것을 구분할 수 있는지가 더 중요해 보였다.
4. AI 시대에 내가 다시 정의하게 된 “장인 정신”
AI가 코드를 잘 쓰기 시작한 이후 개발자의 일은 분명히 달라졌다. 구현의 난이도는 낮아졌지만 그만큼 선택의 빈도는 훨씬 더 늘어났다.
예전에는 “어떻게 구현할 것인가” 가 고민의 중심이었다면, 지금은 “이 방향을 선택해도 되는가” 가 더 자주 질문으로 남는다. 이런 환경 속에서 내가 다시 정의하게 된 장인 정신은 기술 그 자체라기보다는 기준에 가까웠다.
- “이 선택은 지금 상황에 적절한가?”
- “나중에 문제가 생겼을 때 설명할 수 있는가?”
- “미래의 나, 혹은 동료에게 어떤 부담을 남길 것인가?”
이런 질문들을 회피하지 않고 선택의 순간마다 스스로에게 던질 수 있는 태도 말이다.
🤔 Understanding
결국 이 책을 통해 다시 느끼게 된 것은 이론을 잘 아는 것과 그것을 실천하고 문화로 만들어가는 것은 전혀 다른 문제라는 점이었다.
AI가 많은 일을 대신해주는 시대가 되었지만 개발자의 역할이 사라진 것은 아니라고 느낀다. 오히려 어떤 선택을 할 것인지, 그리고 그 선택을 어떤 기준으로 설명할 것인지에 대한 책임은 더 선명해졌다고 느낀다.
지금의 나에게 “장인 정신” 이란 더 잘 구현하는 기술이 아니라, 어떤 기준으로 선택하고 있는가를 스스로에게 묻는 태도에 더 가까워졌다. 아마도 이 기준은 앞으로도 계속 흔들리고, 수정되고, 다듬어질 것이다. 그럼에도 불구하고 이 질문을 놓지 않는 개발자로 남고 싶다.