2026년 7월, 헤렌 개발파트에서 가평으로 2박 3일 워크샵을 다녀왔습니다!
워크샵을 그냥가면 재미없으니.. 3가지 목적을 정리하고 진행했습니다.
1.
셀별 간담회(헤렌에서는 각 직무로 묶은 팀을 셀이라고 묶어서 부르고 있어요! ex 웹프론트셀)
2.
기술 부채 해결 — 요즘 클로드가 발달한 만큼, 약간의 시간으로 많은 기술부채를 해결할 수 있다고 생각했거든요.
3.
천진난만하게 놀기
그리고 작은 미션도 하나 있었습니다. 인생네컷 찍어오기!
출발 전 준비
간식도 준비하고, 어디가서 어떤 것을 먹을지, 누가 운전을 하고 어떤 타임테이블을 가져갈지.. 각자 담당자로 선정하여 진행했어요.
그 중에서 특히나 가장 중요했던 기술부채의 경우에는 먼저 밀린 기술부채들을 정리하고 취합하는 과정이 필요했습니다.
그래서 과제를 2주 전에 미리 각자 자기 영역에서 "언젠가 해야 하는데" 상태로 남아 있던 것이나 “지금 자동화하면 좋을 것”들을 미리 취합하여 워크샵에 도착했을 때 집중이 분산되지 않고 목적을 가지고 몰입할 수 있는 환경을 만들었습니다.
도착, 워크샵 시작
숙소는 가평 어피어연수원으로 정했습니다. 결정적이었던 조건은 세미나실이었어요.
빔프로젝터와 스크린, Wi-Fi가 갖춰져 있고 입실 시간 전부터 쓸 수 있다는 점이 컸습니다.(가방을 세미나실에 밀어넣고 바로 개발!)
개발을 해야 하는 워크샵이라 "13명이 노트북 펴고 하루 종일 앉아 있을 공간"이 있는지가 숙소를 고르는 1순위 기준이었습니다.
점심을 먹고 짐을 풀자마자 첫 세션을 시작했습니다. 바로 개발파트 로드맵과 워크샵의 목적 공유입니다.
말은 거창하지만 단순했어요. 우리는 AI의 꼬리를 쫓기보다 컨트롤하고 몰입의 도구로서 사용하겠다. 라는 것입니다.
그리고 워크샵은 그 과정의 하나입니다.
기술부채
로드맵, 목적 공유가 끝나고 곧바로 기술부채에 들어갔습니다.
프론트 셀
백엔드 셀
네이티브 셀
어떤 기술부채를 해결할 것인지는 2주 전에 미리 취합했어요. 워크샵 중 결정하기하는 것은 시간이 부족하기도 하고 생각하는 리소스보다 부채를 해결하는데 집중하기 위해서이기도 했어요.
사전 세팅도 이미 끝나 있었기 때문에 각자 자리를 잡자마자 바로 시작할 수 있었고, 첫날 오후에만 네 시간 가까이 기술부채 해결에 몰두 할 수 있었습니다.
셀 별 간담회
기술 부채 해결에 몰입하고 저녁을 먹은 뒤에는 백엔드 셀과 프론트·네이티브 셀로 나눠 간담회를 했습니다. 정해진 안건 없이 자유롭게 질문하는 자리였고, 간단하게 맥주 한잔하며 이야기를 나누는 시간을 가졌어요.
각 개인의 고민, 걱정들을 이야기도 하고 요즘 AI가 발전하는 만큼 하는 일도 많아지며 개발자로서의 업무의 형태에 대한 고민들도 많은 시기이기도 한 만큼 각자의 그러한 고민을 다같이 듣고 이야기하는 뜻 깊은 자리였습니다.
기술 부채 이어하기
일정표에서 밤 시간대는 이렇게만 적혀 있었습니다.
21:00~ 기술부채 개선 워크숍 몰입
간담회가 끝난 후.. 역시 개발자가 하던걸 놓기란 쉽지 않겠죠. 마무리가 아쉬운 분들은 세미나실로 다시 이동해서 개발을 시작했습니다.
결과
둘째 날은 오전, 오후로 나눠 작업을 이어갔습니다. 첫날 오후까지 합치면 개발에 쓴 시간은 하루 반 정도였어요.
그리고 오후에는 팀별로 결과를 보여주는 데모 쇼케이스를 열었습니다. 상위 3팀에는 상품권을 걸었고요.
그런데 여기서 심사를 누가 하느냐가 문제였어요. 사람이 심사하면 아무래도 서열이 생기잖아요. 특히 리더가 점수를 매기는 순간 워크샵이 갑자기 평가로 바뀌어버리고요.
그래서 심사위원도 클로드로 정했습니다! 하루 반 내내 다들 클로드 붙잡고 일했는데, 심사라고 못 맡길 이유가 없죠. 각 팀의 발표 자료와 결과물을 통째로 넘겨서 판정하게 했습니다.
결과적으로 아무도 감정 상할 일 없이 경쟁의 재미만 남았어요. 특히 리더가 점수를 매기는 순간 워크샵이 평가로 바뀝니다. 심사를 AI에 넘기니 결과에 아무도 감정이 상하지 않으면서 경쟁의 재미만 남았습니다. 판정 근거를 다 같이 읽어보는 것도 은근히 재밌었습니다.
나름대로 결과가 잘 나왔어요. 이유를 생각해보면 마감과 발표자리가 있어서 즉 "남한테 보여줘야 하는 자리"를 중간에 하나 넣어둠으로써, 평소 같으면 완벽하게 하려다 시작도 못 했을 일들이 어떻게든 굴러가는 형태로 나왔거든요.
셀별로 나온 결과물
마티 — 공비서 버전 업그레이드와 상태관리 도구 변경
Recoil은 2022년에 개발이 멈춘 라이브러리예요. 걷어내야 한다는 건 다들 알았지만 손대야 할 곳이 373개 파일에 696곳이라 스프린트에 껴넣을 수 있는 규모가 아니었습니다. 워크샵에서 버전을 통째로 올리고 Recoil을 완전히 제거했어요. 버튼 CSS 옆 잔여 이슈만 점검 중입니다.
키위 — 보안 취약점 상시 파이프라인 구축
보안 취약점을 사람이 이슈 보고 뒤늦게 찾아 나서던 방식에서, 시스템이 24시간 알아서 찾아내고 수정안까지 먼저 올려주는 방식으로 바꿨습니다. 위의 버전 업그레이드와 맞물려 있어서 두 팀이 계속 서로 확인해야 했는데, 옆자리에 앉아 있으니까 그게 됐어요.
니키, 찰리 — 샵을 한 줄로 요약하기
샵 데이터가 퍼널 여기저기 통이라, AI로 모아서 한 줄로 요약해봤습니다. 돌려보니 샵의 차별화 포인트가 네 가지로 묶이더라고요. 원장님 경력·자격증, 시술 방식, 시설, 이벤트·할인. 캐치테이블처럼 샵을 한 줄로 보여주는 게 목표고, 탐색 개선 2차 때 같이 배포할 예정입니다.
우디 — 구어드민 EC2 → ECS 전환 & 부기 — 공비서 원장님 점검 시스템 개선도 함께 진행됐습니다. 둘 다 AI를 붙여 인프라와 운영 프로세스를 손본 작업이었어요.
마루, 혀니 — 리툴 어드민 샵 상세 기능을 구어드민으로 이관
어드민이 둘로 나뉘어 있으니 운영하시는 분들이 매번 두 군데를 오가야 했어요. 샵 상세 기능을 구어드민으로 옮겨 창구를 하나로 합쳤습니다. 김에 구독현황·무료체험·어드민 직접 결제처럼 아예 없던 기능도 새로 붙였고요. Claude Code 병렬 개발 워크플로우를 실제 프로젝트에 써본 사례이기도 합니다.
녹스 — 백엔드 테스트 코드 신뢰성 회복
개인적으로 제일 목이 메였던 숫자입니다. 통합 테스트가 652건인데 실제 실행되는 건 52건, 8%였어요. "통합 테스트 통과"가 사실은 "0건 실행"이었던 겁니다. Docker 미기동과 실행 파일 부재가 구분이 안 돼 스위트를 통째로 스킵하고 SUCCESS를 띄우는 식이었어요. 결함들이 서로를 가리고 있어서 하나씩 고쳐서는 다음게 안 드러나는 구조였습니다.
다나 — 크로스 플랫폼 네트워크 계약 자동화
같은 API를 iOS와 Android가 각자 해석하다 보면 계약이 어긋나는 문제를 OpenAPI 기반으로 자동화했습니다. 다만 이건 아직 끝나지 않았어요. iOS 부재로 검증을 중단하고 합류 후 팔로업하기로 했습니다. 하루 반짜리 일정이다 보니 사람이 비면 거기서 멈추는 건 어쩔 수 없더라고요.
워크샵이 끝나고
일주일쯤 뒤에 각 팀 진행률을 취합해 봤습니다. 그런데 개발은 거의 끝났는데 QA는 시작도 못 한 과제가 여럿이었어요.
생각해 보니 당연했습니다. AI가 줄여준 건 만드는 시간이지 확인하는 시간이 아니었거든요. 696곳을 옮기는 건 확실히 빨라졌는데, 그게 진짜 안 깨졌는지 확인하는 건 하나도 안 빨라졌습니다. 오히려 개발이 빨라진 만큼 검증할 양만 앞당겨서 쌓인 셈이에요.
그래서 이런 메시지를 올려야 했습니다.
QA가 필요한 건의 경우 개발 완료를 50%, QA 완료를 50% 기준으로 잡아주세요
그런데 시간이 좀 지나고 나서 생각이 바뀌었습니다.
애초에 이틀 만에 완결될 수 있는 기술부채는 없습니다. 696곳짜리 마이그레이션이 사흘 안에 끝나는 종류의 일이었다면, 애초에 몇 달씩 미뤄지지도 않았을 겁니다.
중요한 건 워크샵 이후입니다. 그때 시작한 과제들은 지금도 스프린트 안에서 계속 굴러가고 있습니다. 배포된 것도 있고, 아직 QA 중인 것도 있고, 후속 작업이 붙어 범위가 더 커진 것도 있습니다. 워크샵이 없었다면 그중 어느 것도 첫 커밋조차 없었을 겁니다.
워크샵의 효용은 완료가 아니라 착수에 있었습니다. 손도 못 대던 것들에 첫 커밋을 찍게 만들고, 그 뒤는 일상 업무가 이어받게 하는 것. 그게 실제로 일어난 일입니다.
다만 하나는 여전히 아쉽습니다. 마지막 30분만 떼어서 "이걸 언제 어떻게 배포할 것인가"를 각 팀이 한 줄씩 적고 왔다면, 워크샵에서 일상으로 넘어가는 인수인계가 훨씬 매끄러웠을 겁니다. 다음엔 그 30분 꼭 넣으려고 합니다.
계곡, 고기, 그리고 마피아
데모가 끝난 둘째 날 오후부터는 일정표에 개발이 한 줄도 없습니다.
먼저 용추계곡에 다녀왔습니다. 7월 중순의 가평은 더웠고, 이틀 동안 세미나실에 앉아 있던 사람들에게 계곡물은 꽤 효과적이었습니다.
돌아와서 삼겹살 파티도 했습니다! 이날 저녁부터는 파이님과 테리님도 합류하셔서 인원이 더 늘었어요.
저녁 이후 일정에는 이렇게 적어뒀습니다. 마피아 게임, 윷놀이 — 강제 X. 휴식은 개인별로 편한 대로, 맥주가 있지만 안 드시는 분은 음료로.
저희 팀은 술을 안 드시는 분이 꽤 있습니다. "다 같이"를 강제하면 반드시 소외되는 사람이 생깁니다. 선택지를 두 개 이상 깔아두는 것만으로 오히려 참여율이 올라갔습니다. 하고 싶은 사람은 마피아, 윷놀이를 하고, 쉬고 싶은 사람은 휴게실에서 쉬거나 세미나실로 돌아가 코드를 봤습니다.
협업이라 우기며 찍은 인생네컷
준비 문서에 미션으로 적어둔 항목이 하나 있습니다. "인생네컷 찍기 — 조 짜서 중간에 찍고 오기." 그 옆에는 이런 메모가 달려 있었습니다.
이게 협업이고 핵심
농담 반으로 적은 거였는데, 결과적으로는 진담이 됐습니다. 조를 짜서 밖에 나갔다 오는 그 과정 자체가 평소에 대화할 일 없던 조합을 만들어주더라고요.
일정표에 없었지만 이틀 내내 굴러간 것도 하나 있습니다. 둘째 날 아침 슬랙에 스레드가 하나 열렸습니다.
30분마다 바뀌는 배경음악 신청 스레드
기획한 게 아니라 그냥 열었는데, 이틀 동안 계속 돌아갔습니다. 세미나실에서 코드 짜는 내내 누군가의 플레이리스트가 흘러나왔어요.
단체사진은 하마터면 못 찍을 뻔했습니다. 일정표에는 마지막 날 아침, 짐 정리 직후에 잡혀 있었거든요. 마지막 날이니 다 같이 모이는 게 자연스럽다고 생각했던 겁니다. 그런데 둘째 날 오후에 누군가 이렇게 물었습니다.
그러고 보니 우리 단체사진도 한 번 안 찍었네요?
일정표만 믿고 미뤄둔 사이에 이틀이 지나도록 아무도 사진이 없다는 걸 몰랐던 거죠. 결국 그날 오후에 급하게 찍었습니다. 진짜 마지막 날 아침엔 짐 싸고 객실 정돈하고 차량 반납 시간 맞추느라 사진 찍을 정신이 하나도 없었어요. 미리 물어봐 주신 덕을 크게 봤습니다.
결국 남은 건 시작이었습니다
워크샵이 끝나고 남은 게 뭔지 세어 보면, 3일 안에서 완결된 건 사실 거의 없습니다.
기술부채는 지금도 스프린트 안에서 갚아나가는 중입니다. 그날 밤 자정 넘어 나눴던 이야기들도 회사로 돌아온 뒤의 대화로 이어졌습니다. 30분마다 바뀌던 배경음악도, 조 짜서 찍으러 나갔던 인생네컷도 그날로 끝나지 않았습니다.
결국 워크샵이 한 일은 시작하게 만든 것이었습니다. 손도 못 대던 코드에 첫 커밋을 찍게 하고, 팀원들끼리 좀 더 가까워지는 계기가 되었어요.
마무리 계곡 고양이
그러고 보면 일정표에서 제일 잘 작동했던 칸은 아무것도 안 적어둔 칸이었어요. 밤 9시 이후에 그냥 "몰입"만 써둔 칸이요. 꼭 업무만이 아니었습니다. 윷놀이에 마피아에..세상에 그렇게 몰입해본적은 없었네요. 결국 하나의 길을 모두가 공감하고 그 길을 가기위해 능동적으로 움직이는 윷놀이, 마피아 게임이 몰입을 설명해주지 않았나 싶은 재밌는 워크샵이었습니다.
개발파트 화이팅!



























