2026년 10월 27일 화요일
미단재

끄적임 26년차 개발자가 다시 코딩을 시작한 이유

작성자 웅파 작성일 2026-10-27 16:17:53 조회수 7

2026년 10월 27일 · @martin

1년 반 동안 키보드를 덮어 두었다

PHP를 처음 만진 지 26년이 됐다. 그중 1년 반은 코드를 한 줄도 쓰지 않았다. 내가 멈춘 게 아니라, 멈춰 세워졌다.

2024년 12월, 비상계엄이 선포됐다. 계엄은 몇 시간 만에 해제됐지만 그 뒤의 혼란은 길었고, 다니던 회사는 그 여파를 버티지 못하고 문을 닫았다. 내 잘못과는 아무 상관 없는 일로 일터가 사라졌다.

2013년에 《만들면서 배우는 CodeIgniter》를 썼고, CI Korea 포럼을 운영하며 여러 무대에서 강연도 했다. 아키텍처를 그리고 인증 서버를 세우고 MSA로 API를 쪼개는 일을 오래 했다. 그렇게 쌓은 시간이 한순간에 멈추자, 후유증은 생각보다 오래갔다. 키보드 앞에 앉아도 손이 나가지 않았다.

그러다 다락방 작업실에 다시 앉았다. 손에 쥔 건 새 IDE가 아니라 Claude Code였다. 이 글은 그 뒤 1년을 개인적인 시선으로 돌아본 기록이다.

첫 한 달, 내 손버릇부터 갈아엎었다

복귀하고 처음 한 일은 제품을 만드는 게 아니었다. 내 손에 남은 옛날 습관을 걷어내는 일이었다. 1년 반이면 프레임워크 버전도, 인증 방식도, CI 도구의 기본값도 꽤 바뀐다. 실력이 녹슨 게 아니라 기준점이 낡은 것이다.

그래서 ci4-board라는 저장소를 만들었다. CodeIgniter 4 위에 JWT 인증, 관리자 DB 분리, 소셜 로그인, 다국어, CMS를 하나씩 올리며 지금 기준으로 다시 짰다. PHPUnit과 PHPStan을 붙이고 GitHub Actions로 CI를 돌렸다. 이 저장소가 나중에 거의 모든 제품의 베이스가 됐다.

재미있는 일도 있었다. 한 달 치 작업을 AI에게 평가해 달라고 했더니 "결과물이 너무 비어 있다"는 답이 돌아왔다. 알고 보니 작업은 전부 develop 브랜치에 있었고, AI는 거의 빈 main만 보고 판단한 것이었다. 주소를 다시 확인하라고 하자 그제야 정정했다.

그날 깨달았다. 이 도구는 빠르지만 틀린다. 틀린 걸 알아보는 눈은 여전히 내 몫이다.

손이 아니라 판단으로 일한다

예전의 나는 타이핑하는 사람이었다. 컨트롤러와 모델을 만들고, 마이그레이션과 테스트를 한 줄 한 줄 쳐 나갔다. 내 손으로 친 코드가 돌아가며 결과물이 되는 그 순간이 좋아서, 그 행위 자체가 좋아서 26년을 해 왔다.

그래서 처음엔 낯설고 솔직히 조금 서운했다. 지금은 그 시간 대부분을 타이핑이 아니라 결정에 쓴다.

어떤 기능을 이번에 넣고 무엇을 뺄지. 서비스 경계를 어디서 자를지. 에러 응답을 어떤 규약으로 통일할지. 나는 MSA 공통 에러 규약을 RFC 9457 기반으로 정리해 Claude Code 스킬로 만들어 두었다. 한 번 정한 규칙을 매번 설명하지 않아도 되게 하는 일, 그게 요즘 내 코딩의 상당 부분이다.

CLAUDE.md를 사용자 단위와 프로젝트 단위로 나누고, 훅을 걸어 테스트가 자동으로 돌게 했다. 26년 동안 쌓은 감각이 사라진 게 아니었다. 그 감각이 키보드에서 설계 문서로 자리를 옮겼을 뿐이다.

그래서 "AI가 다 짜 주니 경력이 무슨 소용이냐"는 말에 나는 반대로 답한다. 무엇을 시킬지 아는 사람에게 이 도구는 날개가 되고, 모르는 사람에게는 빠르게 엉망을 만드는 기계가 된다.

다락방의 서버 두 대

복귀 초반에 GitHub Actions 무료 한도인 월 2,000분을 넘겨 버렸다. 커밋이 많아지니 CI가 멈췄다. 예전 같으면 유료 플랜을 결제하고 넘어갔을 것이다.

이번엔 집에 있는 팬리스 우분투 서버에 셀프호스티드 러너를 직접 세웠다. GitHub 조직 단위로 등록하고 Docker로 러너 세 대를 띄웠다. 지금 집에는 우분투 서버가 두 대 돈다. 한 대는 홈페이지 서비스 열한 개를, 다른 한 대는 러너와 IoT 제어, 멀티미디어, 백업을 맡는다.

클라우드 아키텍처를 오래 했지만, 내 손으로 집 안에 인프라를 쌓는 건 다른 종류의 즐거움이었다. 지붕에 직접 올린 태양광 패널이 그 서버들에 전기를 보탠다. 커피를 볶는 로스터 옆에서 빌드 로그가 올라가는 풍경이 이제 내 일상이다.

일곱 개의 제품, 그리고 혼자 쓰는 앱

1년 사이 Claude Code로 솔루션 11 개를 만들었다. AIvance라는 이름 아래 AI와 라틴어를 엮어 이름을 붙였다. 녹화형 AI 화상면접 AILego, 토큰 기반 인증 API AITessera, 라이선스 관리 AILicet, 간이사업자용 장부 AICassa 같은 것들이다.

PHP 밖으로도 나갔다. 방 안에 가구를 3D로 배치해 보는 AICella는 TypeScript와 React Three Fiber, Tauri로 만든 데스크톱 앱이다. 26년 동안 백엔드만 보던 사람이 3D 데스크톱 앱을 윈도우와 맥에 올렸다. 예전이라면 "그건 내 영역이 아니다"라고 말했을 일이다.

그래도 가장 애정이 가는 건 돈이 안 되는 것들이다. 구글 포토의 GPS로 여행 동선을 그려 주는 Iter, 그리고 오직 나 혼자 쓰려고 만든 맛집 앱 Pagus. 누구에게 팔 생각도 없이 내가 필요해서 만들었다.

처음 코딩을 배웠을 때 마음이 그랬다. 필요한 걸 내 손으로 만든다는 단순한 기쁨. 목공방에서 CNC로 나무를 깎을 때와 같은 기분이 다시 코드에서 났다.

다시 가르치는 사람으로

만들다 보니 다시 가르치게 됐다. 동네 행정복지센터 문화강좌에서 AI를 처음 접하는 어르신들께 여행 계획 짜기와 추억 앨범 만들기를 알려 드렸다. 보이스피싱을 막으려면 가족끼리 암호를 정해 두시라는 이야기도 했다.

개발자에게 CodeIgniter를 가르치던 시절과는 전혀 다른 교실이었다. 그런데 본질은 같았다. 도구를 두려워하지 않게 하고, 스스로 판단하게 돕는 일이다.

지금은 인프런 강의를 준비하고 있다. 주제는 "Claude Code로 혼자 만드는 SaaS — 기획부터 배포, 운영까지"다. 지난 1년의 시행착오를 그대로 옮길 생각이다. 무료 한도에 막혔던 CI, 틀린 리뷰, 버린 기능들까지.

그래서, 왜 다시 시작했나

솔직히 처음엔 거창한 이유가 없었다. 남의 손에 멈춰 선 시간을, 이번엔 내 손으로 다시 움직여 보고 싶었을 뿐이다.

1년이 지난 지금은 조금 더 분명하게 말할 수 있다. 혼자서도 기획부터 배포, 운영까지 끝까지 갈 수 있는 시대가 왔다. 그리고 그 시대에 26년의 경력은 짐이 아니라 나침반이었다. 무엇을 만들지, 무엇을 버릴지, 어디서 멈출지를 아는 감각은 AI가 대신 주지 않았다.

쉰다섯에 다시 시작한 코딩은 예전과 모양이 다르다. 손끝으로 쳐 내던 즐거움은 줄었지만, 머릿속 그림이 빠르게 화면 위에 서는 즐거움이 그 자리를 채웠다. 오늘도 다락방에서 커피를 내리고, 터미널을 연다.

— 미단재에서, 웅파

댓글 0개