반복 작업을 세 번 하면 참을 수 없어 스크립트를 짠다. 자동화 셋업에 사흘이 걸려도 앞으로 10초 아끼면 그만이다.
자동화 광신도(AUTO) 유형은 반복 작업을 보면 알레르기 반응을 보이는 개발자입니다. 같은 작업을 두 번 하면 이미 불편하고, 세 번은 참을 수 없어서 자동화 스크립트 작성을 시작합니다. 이들의 로컬 환경에는 수십 개의 셸 알리아스(alias)가 등록되어 있고, CI/CD 파이프라인은 팀에서 가장 촘촘하게 구성되어 있습니다. 새 프로젝트에 합류하면 가장 먼저 하는 질문이 'CI 파이프라인 어떻게 되어 있어요?'입니다.
AUTO 유형은 GitHub Actions, Jenkins, GitLab CI, CircleCI, ArgoCD 같은 도구를 능수능란하게 다룹니다. 코드 푸시 후 자동 테스트, 린트 검사, 취약점 스캔, 빌드, 배포까지 모두 자동으로 돌아가는 환경을 만드는 데 큰 만족감을 느낍니다. 슬랙 봇에 '/deploy production' 커맨드를 연결해놓고, 배포 결과를 자동으로 채널에 알림 보내도록 만드는 것이 이들의 주말 사이드 프로젝트입니다. 주간 보고서 생성, 배포 체크리스트, 코드 품질 리포트까지 손으로 하는 일이 없습니다.
이 유형의 아이러니는 자동화에 들이는 시간이 때로 자동화로 절약하는 시간보다 길다는 것입니다. 5분짜리 수동 작업을 자동화하는 데 3일을 쓰기도 합니다. 하지만 AUTO 유형은 개의치 않습니다. 원칙의 문제이기 때문입니다. 수동 반복은 인간의 존엄성을 해치는 행위라고 진심으로 믿습니다. 덕분에 이들이 세팅한 팀의 개발 환경은 언제나 일관되고, 휴먼 에러가 최소화됩니다. 신규 팀원의 로컬 환경 세팅이 'git clone + ./setup.sh' 두 줄로 끝나는 기적을 만들어냅니다.
AUTO 유형은 DRY(Don't Repeat Yourself) 원칙을 코드 레벨을 넘어 프로세스 레벨까지 적용합니다. 매주 같은 수동 작업이 발생하고 있다면, 그것이 QA 보고서 작성이든 DB 백업이든 서버 헬스 체크든 모두 자동화 대상입니다. Cron job, webhook, 이벤트 기반 트리거를 조합해 시스템이 스스로 돌아가게 만드는 것이 이들의 궁극적 목표입니다.
"컴퓨터가 할 수 있는 일을 사람이 하는 건 낭비예요. 자동화 설정에 하루 쓰면 팀 전체가 1년 동안 편해지잖아요. 이게 진짜 ROI죠."
— AUTO 유형 개발자AUTO 유형 개발자의 실제 하루를 따라가봅니다.