Automate! - Gail Ollis - ACCU 2025 Short Talks

연구의 배경과 동기

Gail Ollis는 자신의 PhD 연구를 통해 개발자들이 동료의 코드를 보며 “왜 이렇게 했을까?”라는 좌절감을 느끼는 현상에 주목했다. 이 연구의 핵심 질문은 단순히 “좋은 개발 실천(Good Practice)“이 무엇인가가 아니라, **“동료 개발자에게 좋은 개발자가 되기 위한 조건”**이 무엇인가였다. 즉, 개인의 생산성이나 코드 품질이 아닌, 팀 전체의 협업 효율성과 지식 공유 관점에서 개발 실천을 재평가한 것이다.

연구 방법론은 다수의 경험 많은 개발자들을 인터뷰하고, 다양한 개발 실천 사항들을 카드 소팅(Card Sorting) 방식으로 평가하게 하는 방식이었다. 특히 초보 개발자가 아닌 경험이 풍부한 개발자들을 대상으로 한 이유는, 이들이 여전히 문제로 느끼는 사항이야말로 진정한 구조적 문제이기 때문이다. 초보자의 어려움은 경험 부족에서 비롯될 수 있지만, 숙련자의 불편함은 시스템적 개선이 필요한 영역을 가리킨다.

연구 결과: 자동화의 압도적 우위

연구 결과는 명확했다. 다양한 좋은 실천 사항들 중에서 **“작업 자동화(Automates Tasks)“**가 89%의 응답자로부터 가장 중요한 항목으로 선정되었다. 이는 단순히 자동화가 편리하다는 수준을 넘어선 결과였다. 개발자들이 동료가 자동화를 실천할 때 도움을 받는다고 느낀 이유는 다음과 같다.

실행 가능한 문서(Executable Documentation)로서의 자동화

자동화 스크립트는 지식의 구체화된 형태다. 어떤 작업을 수행하는 방법에 대한 암묵적 지식(Tacit Knowledge)을 명시적으로 코드화한 것이며, 이는 다음과 같은 장점을 제공한다:

  1. 스토리의 기록: 자동화 스크립트는 작업의 절차와 맥락을 담고 있다. 단순히 “무엇을” 하는지뿐만 아니라 “어떻게” 하는지, 그리고 때로는 “왜” 그렇게 하는지까지 코드를 통해 전달한다.

  2. 검증 가능성: 오래된 Word 문서에 적힌 매뉴얼 작업 지침을 따라하다 실패하는 경험은 모든 개발자가 공감하는 악몽이다. 반면 자동화 스크립트는 실행해볼 수 있다. 작동하지 않으면 적어도 무엇이 문제인지 파악할 단서가 생긴다.

  3. 지식의 지속성: 사람은 팀을 떠날 수 있지만, 잘 작성된 자동화 스크립트는 남는다. 이는 조직의 지식 자산(Knowledge Asset)으로 기능한다.

실천으로서의 자동화: Python의 사례

Gail은 개인적 경험을 공유하며 자동화 도구의 진화를 설명했다. 과거에는 AWK를 사용하여 로그 파일 분석 등의 작업을 자동화했으며, 심지어 고객 앞에서 실시간으로 AWK 스크립트를 작성해 문제를 해결하여 깊은 인상을 남긴 적도 있었다. 그러나 Python을 배운 이후로는 AWK를 사용하지 않게 되었다.

여기서 중요한 통찰은 **Python이 “단지 스크립팅 언어가 아니다”**라는 주장과 동시에, **“그러나 매우 훌륭한 스크립팅 언어이기도 하다”**는 인정이다. 많은 개발자들이 프로그래밍 기술을 오직 프로덕션 코드 작성에만 사용하는 경향이 있다. 이는 **“구두 수선공의 자식이 맨발로 다닌다(The Shoemaker’s Children Go Barefoot)“**는 속담의 정확한 사례다.

전문 기술의 역설

이 속담은 전문 기술을 가진 사람이 정작 자신이나 가까운 사람들을 위해서는 그 기술을 사용하지 않는 아이러니를 지적한다. 개발자의 맥락에서 이는:

  • 고객을 위해서는 정교한 자동화 시스템을 구축하면서
  • 자신의 일상적 개발 작업은 수동으로 반복하는 모순

을 의미한다. 자동화 기술이 있음에도 자신의 워크플로우 개선에는 투자하지 않는 것은 전문성의 낭비이자 기회비용의 발생이다.

자동화의 이중적 가치

ACCU 2025의 Early Careers Workshop에서도 논의된 바와 같이, 자동화는:

  1. 자신을 위한 도구: 반복 작업 제거, 실수 방지, 생산성 향상
  2. 동료를 위한 선물: 지식 공유, 온보딩 간소화, 팀 역량 강화

라는 이중적 가치를 지닌다. 89%라는 압도적 지지율은 후자의 가치, 즉 협업 도구로서의 자동화가 개발 조직에서 얼마나 중요한지를 입증한다.

실천을 위한 제안

강연은 PyCon UK Manchester의 홍보로 마무리되었지만, 이는 단순한 광고가 아니다. 커뮤니티 컨퍼런스는 이러한 실천 지식을 공유하고 스킬을 연마하는 장이다. 자동화 스킬을 향상시키고자 하는 개발자에게 Python 생태계와 그 커뮤니티는 풍부한 도구와 사례를 제공한다.

결론: 자동화는 전문성의 완성

Gail Ollis의 연구는 자동화가 선택 사항이 아닌 전문 개발자의 필수 덕목임을 실증적으로 보여준다. 코드는 실행되는 것만이 아니라 읽히고 이해되어야 하며, 자동화 스크립트는 가장 정직하고 신뢰할 수 있는 문서다.

프로덕션 코드 작성 능력과 자신의 워크플로우 자동화 능력 사이의 괴리를 해소하는 것, 그것이 진정한 의미에서 “구두 수선공이 자기 가족에게도 신발을 만들어주는” 전문가의 자세일 것이다. 자동화는 기술이기 이전에 동료에 대한 배려이며, 조직의 지속가능한 성장을 위한 투자다.