정말 오랜만에 키보드를 잡았다.
늘 머릿속에는 쓰고 싶은 글과 아이디어가 넘쳤는데, 이놈의 체력 이슈인지 만사 귀차니즘인지 실천에 옮기기가 쉽지 않았다. 맨날 '정리해야지, 정리해야지' 마음만 먹다가, 최근 개모임에 갈 때마다 말로만 썰을 풀고 직접 만든 것들을 하나씩 보여주다 보니, '내가 벌여놓은 건 참 많은데 이걸 정리를 안 하니 너무 아깝다'는 생각이 들었다. 그래서 1.5분기가 조금 지난 지금, 아까워서라도 이렇게 글을 써본다.
마지막 글이 벌써 4달 전, 스타트업을 떠나며 썼던 굿바이 글인 것 같다. 결론부터 말하자면 지인의 레퍼럴, 그리고 스타트업에서 굴렀던 노고를 좋게 평가받아 꽤 수월하게 이직에 성공했고 지금에 이르렀다.
그래서 1분기 동안 크게 무슨 일이 있었냐고?
대략 이 정도가 있는 것 같다. 개인적인 일과 회사 일이 꽤나 섞여버린 것 같긴 한데, 글을 쓰다가 너무 길어지거나 더 깊게 다루고 싶은 내용이 생기면 나중에 수정하거나 링크를 걸어서 조절해 보도록 하겠다. 미리미리 안 쓴 내 잘못이지 뭐.
1월 16일 퇴사 후 일주일 푹 쉬고, 1월 26일에 새 회사로 출근했다. 나름 스타트업의 야생에서 벗어나 200명 이상 규모의 조직으로 오니 확실히 체감되는 온도가 다르다. 회사의 기술 스택이나 개발 레벨이 아주 트렌디하지만은 않다는 건 알고 합류했고, 사실 나 스스로도 퇴근 후의 삶을 더 챙길 수 있는 일상을 은근히 꿈꿨을지도 모른다.
첫인상은 한마디로 '조용함'이었다. 전 직장 분위기가 유별났던 건진 몰라도 여긴 적막할 정도로 너무 조용했다. 이 낯선 고요함에 적응하는 데만 한 3주가 걸린 것 같다 ㅋㅋㅋㅋ.
충격 먹은 사실은 몇 가지 더 있다. 점심시간이 엄청 길다는 것(그래서 보통 동료들이랑 헬스하고 밥을 먹는다), 그리고 소통을 거의 안 하는데도 어떻게든 일이 돌아간다는 것. (물론 내 기준에선 너무 답답하게 돌아가는 꼴이라, 요즘은 내가 기존 방식을 다 때려 부수며 적극적으로 소통을 주도하고 있다).
다행히 지금은 우리 팀에 신입 개발자가 3명 더 충원되었고, 예전 스타트업 시절부터 알고 있던, 업계에서 나름 유명한 회사에서 오신 엄청난 실력의 시니어 개발자분도 합류하게 되었다. 특히 이 시니어 분과의 케미가 워낙 잘 맞다 보니, 덕분에 팀 분위기도 크게 반전되어 지금은 사무실이 꽤나 조잘조잘해졌다.
그리고 가장 신기한 건, 퇴근 시간 1분만 지나도 사무실에 아무도 없다는 거다. 진짜 칼퇴 그 자체다. 완벽한 워터폴(Waterfall) 환경에 오니 스타트업에선 느낄 수 없던 안정감이 있다. 체계적인 비용 관리는 물론이고, 무리한 요구가 내려올 때면 나를 든든하게 막아주시는 좋은 시니어 분들이 계신다는 게 참 든든하다. 예전 회사에서는 내가 개발팀의 어른인 척을 해야 했었는데, 여기선 그럴 필요가 없어 이 완벽한 안정감이 가끔은 어색하게 느껴지기도 한다. 그래도 참 기분 좋은 어색함이다.
합류 초기엔 나름 경력직이라 회사의 메인 서비스가 아닌, 지분이 꽤 큰 다른 프로젝트에 투입됐었다. 하지만 아쉽게도 업무 얼라인이 잘 맞지 않아 리소스가 붕 뜨는 일이 발생했다. 다행히 이직 때부터 지금까지 날 늘 챙겨주시는 시니어 분들 덕분에, 회사의 메인 서비스 쪽에 합류하게 되었다.
그렇게 메인 프로젝트를 진행하면서 처음에는 버그 수정으로 시작했는데… 갑자기 인프라 실습을 하게 되고, 나아가 꽤 큰 피처(Feature)까지 개발하게 되었다. 팀장님께서 개발을 곧잘 한다고 생각하셨는지, 약 두 달 전쯤 "5월 코엑스 AI EXPO에 나갈 AI Agent 개발을 맡아볼 수 있겠냐"는 제안을 주셨고, 이를 수락하면서 엑스포까지 나가게 된 것 같다.
대체 무엇을 만들었는지는 나름 분량 조절을 위해 후속편에서 타임라인 순으로 다뤄보겠다.
회사에 출근하고 한 2주 차쯤이었나? 뜬금없지만 쉬는 기간에 맥미니를 하나 구입했다. 올해 2월은 'Open Claw' 같은 로컬 AI 구동이 한창 유행이라 맥미니 물량 구하기가 힘들었는데, 마침 당근에 새 상품급 매물이 기가 막힌 가격에 떴길래 참새가 방앗간 못 지나치듯 냉큼 주워왔다.

나라는 인간의 수억 가지 단점 중 하나가 이렇게 앞뒤 안 재고 저지른다는 거지만, 반대로 굳이 장점을 하나 꼽자면 '일단 저지르고 나면 어떻게든 기가 막히게 수습해 낸다'는 점이다. 세상엔 일만 벌여놓고 먼지만 쌓이게 두는 사람도 꽤 많지 않은가. 적어도 나는 내가 저지른 일(혹은 지른 장비)에 대해서는 끝까지 책임지고 어떻게든 쓰임새를 만들어 낸다는 나름의 생존형(?) 강점이 있다.
조금 위험한 발언일지 모르지만, 나는 개인적으로 로컬 모델 유행이 솔직히 거품이라고 느끼고 있었고 실제로도 거품이 맞았던 것 같다. 하지만 맥미니를 산 진짜 이유는 따로 있었다.
이직 후 프로젝트 도메인도 익히고 인프라 배포 연습도 할 겸 회사에서 VMware를 사용하고 있었는데, 이 시스템을 보다가 영감을 얻었다. "맥미니 자원을 쪼개서 VMware 같은 나만의 AWS 시스템을 만들면 좋지 않을까?"라는 막연한 생각을 했던 것 같다.
그래서 (조금 바람직하지는 않지만) 회사 초반에 일이 널널할 때면 맥미니에 원격으로 접속해 농땡이도 피울 겸 사이드 프로젝트를 돌리기 시작했고, 그렇게 하나둘 만든 프로젝트가 어느덧 4개 정도가 되었다.
여튼 덜컥 사고 나니, 회사에서 쓰던 VMware 시스템에서 영감을 받아 맥미니 Root에 나만의 인프라 관리 시스템인 KSCOLD Control을 개발하기 시작했다. 하나씩 필요한 기능을 붙여가며 만들다 보니 아이디어가 끊임없이 쏟아져 나왔다.
현재는 다음과 같은 기능들이 뒤룩뒤룩(?) 붙어있는 상태다.
이렇게 맥미니의 자원을 잘게 쪼개서 꽤 많은 수의 Ubuntu 인스턴스들을 돌리고 있다. 당연히 각 인스턴스 내부로 원격 접속도 가능하며, 실제로 우리 포퐁(Pawpong) 팀원들은 내 맥미니 자원의 일부를 할당받아 Dev 백엔드 서버로 유용하게 사용하고 있다.
이 밖에도 지금 이 회고 글이 올라가 있는 개인 블로그 시스템, 우리 포퐁 팀이 쓰기 위한 내부 디스코드 기능을 구현한 Slacord, 그리고 여러 가지 PoC(개념 증명) 사이트들을 전부 이 맥미니 생태계 위에서 자체적으로 개발하고 운영 중이다.
(아래 이미지는 내 맥미니에 배포되어 있는 인스턴스들과 네트워크 상황 정보 등을 시각적으로 보여주는 토폴로지(Topology) 맵이다.)


예전부터 '개발자라면 본인이 직접 시스템화한 블로그 하나쯤은 가지고 있어야지'라고 생각했다. 대학교 4학년 시절, 학교 가기가 너무 싫어서 '자기설계학기'라는 걸 신청해 마지막 프로젝트로 개인 블로그를 만들었던 적이 있다. 마침 빵빵한 개인 인프라(맥미니)도 생겼겠다, 옛날 그 블로그를 제대로 리뉴얼해서 살려보고 싶어 틈날 때마다 바이브 코딩을 시도했다.
이때는 마침 OPENAI 해커톤 본선에 진출한 덕분에 Codex Pro 계정을 지원받아 사용할 수 있었다. 그래서 단순히 LLM에 코드를 물어보는 수준을 넘어, 하네스 엔지니어링(Harness Engineering)을 빡세게 적용해 수많은 Sub-agent를 두고 엄격한 제약과 강제성을 부여하며 시스템을 구축했다. 특히 위에서 언급했듯이 합류 초반엔 리소스가 꽤 남았던 터라 딴짓하며 빌딩하기가 참 편했다.
앞서 만든 KSCOLD Control 덕분에 맥미니에서 관리되는 프로젝트들의 개발과 배포 자율성을 완벽히 얻게 되었고, 내가 원하는 대로 커스텀한 블로그를 뚝딱 만들어낼 수 있었다. 구현한 기능들은 대략 이렇다.
하지만 가장 압권은 바로 QA 테스트 자동화다. 어드민에서 버튼 하나를 '딸깍' 누르면, 맥미니가 Cypress를 돌려서 시나리오 테스트를 전부 수행하고 캡처까지 해서 나에게 확인을 받는다. 약간의 버그가 있을 순 있어도, 과거에는 생각도 못 했던 일들이 너무나 쉽게 가능해졌다는 사실이 정말 놀랍다.


비개발자도 AI로 많은 것을 할 수 있는 시대라지만, 진짜 개발자가 하네스 엔지니어링을 고도로 다루고 자동화 파이프라인을 구축해 바이브 코딩을 응용하면, 상상 이상으로 훨씬 더 엄청난 일들을 할 수 있다는 것을.
무작정 유행하는 Open Claw 모델만 쫓기보단, 나만의 인프라와 파이프라인을 커스텀해서 사용하는 편이 훨씬 더 강력하다는 것을 나름대로 검증한 알찬 1분기였다.


군대 다녀와서 성격이 마개조라도 당한 걸까. 사실 '브레인 롯(Brainrot)' 상태인 것 같기도 하다. 어릴 땐 극 I였는데 지금은 완전한 ENFP가 되었다. 물론 업무를 할 때만큼은 나름 TJ의 기질이 발동하지만, 회사 밖을 벗어나면 영락없는 찐 FP가 되어버린다. 그게 노는 것이든 딴짓(사이드 프로젝트)이든, 지금의 나는 '후회 없이 다 해본다'에 꽤나 미쳐있는 상태다.
개인사업자 등록도 마찬가지 흐름이었다. 뭔가 세상을 뒤집을 만한 확실하고 완벽한 아이템이 있어서 낸 게 아니다.
일전 스타트업에서 구르며 기획, 디자인, 백엔드, 인프라 등 정말 다양하고 많은 업무를 처리하다 보니, 개발 외적인 '법적/행정적 경계'에 대해서도 꽤 많은 것을 체득하게 되었다. 대표적으로 카카오 알림톡을 쏘거나, PG사 결제 모듈을 붙이거나, 앱 스토어에 배포하는 과정들. 직접 부딪히며 완벽하게 깨우친 것도 있고 어깨너머로 눈동냥 귀동냥한 것도 있지만, 적어도 서비스가 A부터 Z까지 어떻게 만들어지고 세상에 나가는지 이제 대강의 그림은 그릴 줄 안다.
그러다 보니 사이드 프로젝트를 진짜 '돈이 되는 파이프라인'으로 연결하려고 할 때 가장 큰 허들에 부딪혔다. 바로 사업자 등록증이다.
거창한 법인 사업자까지는 아니더라도, 최소한 개인사업자 명의가 있어야 제대로 된 외부 API도 붙이고 결제도 연동해서 진짜 서비스를 굴려볼 수 있겠구나 싶었다. 그래서 일단 냈다.
이름을 직접 언급하려니 약간 부끄럽긴 하지만, 상호명은 '콜딩(colding)'으로 지었다. 내 닉네임인 'kscold(김승찬의 '찬' -> cold)'의 cold에 진행형인 ing를 붙여 '항상 무언가를 진행 중'이라는 뜻을 담았고, 동시에 coding(코딩)과 발음이 비슷하다는 나름의 언어유희가 들어간 이름이다.
여튼 나의 첫 개인사업자 시작은 그렇게 가벼웠다. 물론 이때 큰 생각 없이 일단 질러뒀던 이 '콜딩'이라는 사업자가, 현재 우리 포퐁(Pawpong) 팀에 닥친 어떤 사건에서 명의를 이전받아 프로젝트를 구원하게 되는 신의 한 수가 될 줄은 당시엔 꿈에도 몰랐다.
현재 포퐁은 이 사업자 위에서 활발하게 A부터 Z까지 전면 리뉴얼을 거치고 있다. 이 흥미진진한 비하인드 스토리는 다음 후속편에서 계속 서술하도록 하겠다.