Showing Posts From
번아웃
- 09 Dec, 2025
기술 다방면 언급의 함정: 넓고 얕은 지식의 위험성
기술 다방면 언급의 함정: 넓고 얕은 지식의 위험성 오늘도 모르는 걸 찾아봤다 스택오버플로우 검색 기록을 봤다. 오늘만 23개다. "React useEffect cleanup function" "PostgreSQL index optimization" "Docker multi-stage build best practice" "AWS Lambda cold start reduce" "Nginx reverse proxy timeout" 다 다른 카테고리다. 다 오늘 해결한 문제들이다. 저녁에 전 직장 후배가 물었다. "형 요즘 뭐 파고 있어요?" 아무 말도 못 했다. 파고 있는 게 없다. 파 볼 시간이 없다.풀스택이라는 이름 입사 면접 때 대표가 말했다. "풀스택 개발자 구해요." 좋게 들렸다. 다양한 기술을 다룬다. 성장할 수 있다. 지금 생각하면 번역이 틀렸다. "혼자 다 하는 사람 구해요"가 맞다. 프론트엔드 한다. React, TypeScript, Redux, React Query, Webpack 설정까지. 백엔드 한다. Node.js, Express, TypeORM, JWT 인증, API 설계. DB 한다. PostgreSQL 스키마 설계, 쿼리 최적화, 마이그레이션. 인프라 한다. AWS EC2, S3, RDS, CloudFront, Route53, Docker, Nginx. 디자인 한다. Figma 보고 CSS 짠다. 디자이너 없어서 간단한 건 내가 그린다. 명함에 뭐라고 써야 하나. "개발팀"이라고 쓴다. 개발팀인데 나 혼자다. 문제는 이거다. 다 하는데 다 못한다.중간 레벨의 저주 React 물어보면 안다. Hooks 쓴다. Context API 안다. 성능 최적화도 어느 정도 한다. 근데 면접 때 물어보면 모른다. "React Fiber 아키텍처 설명해주세요." 모른다. Node.js 쓴다. Express로 API 만든다. 미들웨어 이해한다. 근데 깊게 들어가면 막힌다. "이벤트 루프 내부 동작 원리 설명해주세요." 어... 논블로킹? 뭐 그런... PostgreSQL 쓴다. 인덱스 건다. JOIN 쿼리 짠다. 근데 복잡해지면 막힌다. "쿼리 플래너가 실행 계획 세우는 방식은?" 아... EXPLAIN 보면 되는데... 모든 기술을 '쓸 수 있다'. 근데 '잘 안다'는 게 아니다. 문서 보면서 구현한다. 스택오버플로우 보면서 고친다. 블로그 보면서 배운다. 깊이가 없다. 원리를 모른다. 근본을 모른다.어제 배운 걸 오늘 잊는다 3개월 전에 Lambda 함수 짰다. 어제 수정하려고 봤다. 기억이 안 난다. 코드 보면서 생각했다. '이거 왜 이렇게 짰지?' 주석도 없다. 커밋 메시지는 "update lambda"다. 검색했다. "AWS Lambda environment variable" "Lambda layer usage" "Lambda VPC configuration" 다시 배웠다. 또. Nginx 설정도 그렇다. 6개월 전에 리버스 프록시 설정했다. 이번 주에 수정했다. 처음 설정할 때처럼 시간 걸렸다. 또 구글링했다. 또 블로그 봤다. Docker도 그렇다. 멀티 스테이지 빌드 했었다. 이번에 다시 하려니 기억 안 난다. 배우는 속도보다 잊는 속도가 빠르다. 광범위하게 아는 게 아니라 광범위하게 모른다. 장애가 터지면 새벽 3시에 슬랙이 울렸다. 서버 다운이다. SSH 접속했다. 메모리 터졌다. 프로세스 확인했다. Node.js가 3GB 먹고 있다. 왜? 모른다. 메모리 누수인가? 아니면 트래픽 증가? DB 커넥션 풀 문제? 급하게 재시작했다. 일단 살렸다. 근본 원인은? 모른다. 시간이 없다. 다음에 또 터지면 그때 봐야지. 한 달 뒤 또 터졌다. 같은 문제다. 또 모른다. 전문가였으면 알았을 것이다. Node.js 메모리 관리 깊이 알았으면 진작 고쳤을 것이다. 근데 나는 '쓸 줄 아는' 사람이다. '아는' 사람이 아니다. API 응답 느리다. 왜? 쿼리가 느린가? 인덱스 문제? 아니면 N+1 쿼리? EXPLAIN 돌렸다. Seq Scan이 보인다. 인덱스 탔으면 좋겠는데. 근데 어떤 인덱스? 복합 인덱스? 부분 인덱스? 커버링 인덱스? 검색한다. 또. "PostgreSQL index types" "when to use composite index" 시간 걸린다. 많이. 전문가였으면 10분이면 됐을 것이다. 나는 2시간 걸렸다. 이직 준비가 무섭다 요즘 이력서를 고민한다. 쓸 게 많다. React, Node.js, PostgreSQL, AWS, Docker, Kubernetes까지. 근데 면접이 무섭다. 깊게 물어보면 모른다. "React에서 상태 관리 라이브러리들의 내부 동작 차이 설명해주세요." 어... Redux는 액션 디스패치하고... Recoil은 아톰이... 음... "Node.js 클러스터 모드에서 세션 관리 어떻게 하시나요?" Redis 쓰면 되는데... 구체적으로는... 음... "PostgreSQL 트랜잭션 격리 수준별 차이와 Lock 종류는?" Read Committed가 기본이고... 음... Serializable도 있고... Lock은... 입사 3년 차인데 주니어처럼 대답한다. 기술 스택은 시니어급인데 깊이는 주니어다. 이력서에 뭐라고 쓰지. "많이 써봤습니다"? "다 할 수 있습니다"? "깊이 있게 압니다"는 못 쓴다. 거짓말이다. 동기는 깊게 판다 전 직장 동기가 있다. 같이 입사했다. 둘 다 3년 차다. 걔는 대기업 갔다. 백엔드만 한다. Java Spring만 3년. 최근에 만났다. 얘기를 들었다. "JVM GC 튜닝 재미있어. G1GC 파라미터 조정하면서 성능 개선했어." "트랜잭션 격리 수준별로 벤치마크 돌려봤어. 케이스별로 최적화 포인트가 다르더라." "Kafka Consumer 그룹 리밸런싱 로직 분석했는데 진짜 잘 만들었더라." 나는 들으면서 고개만 끄덕였다. 모르는 얘기다. 걔가 물었다. "너는 요즘 뭐 깊게 파고 있어?" 아무 말도 못 했다. 파는 게 없다. 넓게 긁고 있다. 연봉은 비슷하다. 근데 3년 뒤는? 5년 뒤는? 걔는 Java Spring 전문가가 된다. 시니어 백엔드 개발자다. 나는? "여러 가지 좀 할 줄 아는 사람"이다. 시장 가치가 다르다. 확실히. 채용 공고를 보면 요즘 채용 공고를 자주 본다. 이직 준비다. 우대사항을 본다. "React 성능 최적화 경험"있다. 근데 React.memo 쓰고 useMemo 쓴 정도다. 깊이는 없다."대용량 트래픽 처리 경험"없다. 우리 서비스 DAU 2000명이다."DB 쿼리 최적화 경험"있다. 근데 인덱스 걸고 쿼리 다시 짠 정도다. 실행 계획 깊이 분석한 적 없다."AWS 아키텍처 설계 경험"있다. 근데 EC2, RDS 띄운 정도다. Auto Scaling, Load Balancer 제대로 써본 적 없다."CI/CD 파이프라인 구축 경험"있다. 근데 GitHub Actions로 빌드-배포 자동화한 정도다. Jenkins 안 써봤다.모든 항목이 "있긴 한데 깊지는 않다"다. 경력 3년인데 이력서는 1년 차같다. 넓게 1년씩 해서 3년이다. 기술 부채는 내가 모르는 것들 코드베이스를 본다. 기술 부채가 보인다. React 컴포넌트가 2000줄이다. 리팩토링 필요하다. 근데 어떻게? "컴포넌트 분리 전략" 검색한다. 블로그 본다. 따라한다. 근데 이게 맞는지 모른다. 더 좋은 방법이 있는지 모른다. API 응답이 느리다. 캐싱 필요하다. Redis 쓴다. 근데 캐싱 전략은? TTL은 얼마로? Eviction 정책은? 검색한다. 또. "Redis caching strategy" "Redis memory optimization" 적용한다. 근데 최선인지 모른다. DB 쿼리가 느리다. 인덱스 건다. 근데 어떤 걸? "PostgreSQL index best practice" 검색한다. 읽는다. 적용한다. 나아진다. 근데 최적인지 모른다. 모든 해결이 "일단 돌아가게"다. "최선으로"가 아니다. 기술 부채의 반은 내가 모르는 것들이다. 혼자라서 더 심하다 회사에 개발자가 나 하나다. 코드리뷰 없다. 누가 봐주지 않는다. 내 코드가 맞는지 틀린지 모른다. 돌아가니까 맞다고 생각한다. 질문할 사람이 없다. 검색한다. 블로그 본다. 스택오버플로우 본다. 답은 찾는다. 근데 이게 최선인지는 모른다. 페어 프로그래밍 없다. 시니어 개발자도 없다. 배울 사람이 없다. 혼자 배운다. 독학한다. 독학의 한계가 있다. 깊이가 없다. 맥락이 없다. 대기업 동기는 시니어한테 배운다. 코드리뷰 받는다. 토론한다. 나는 구글한테 배운다. GPT한테 물어본다. 블로그 본다. 스승이 다르다. 성장 속도가 다르다. 새로운 기술이 또 나온다 어제 Next.js 14 나왔다. Server Actions 추가됐다. 배워야 한다. 또. 이번 주 Bun 1.0 나왔다. Node.js보다 빠르다고 한다. 알아봐야 한다. 또. PostgreSQL 16 나왔다. 성능 개선 항목 읽어야 한다. 공부해야 한다. 또. 배울 게 끝이 없다. 쌓이기만 한다. 근데 기존 것도 제대로 모른다. React 18도 다 모르는데 Next.js 14를 배운다. Node.js도 다 모르는데 Bun을 본다. 기초가 약한데 최신만 쫓는다. 넓어지기만 한다. 깊어지지 않는다. 채용이 안 되는 이유 회사가 개발자를 뽑으려 한다. 6개월째 안 뽑힌다. 면접 봤다. 10명 넘게. 다 탈락이다. 왜? 기술 스택이 안 맞아서. 어떤 사람은 React만 한다. 백엔드 모른다. 어떤 사람은 Java Spring만 한다. Node.js 모른다. 어떤 사람은 백엔드만 한다. 프론트 모른다. 대표가 말한다. "다 할 줄 아는 사람 뽑아야지." 근데 그런 사람은 안 온다. 왜? 여기보다 좋은 데 간다. 결국 못 뽑는다. 나는 계속 혼자다. 역설이다. 다 할 줄 아는 사람은 희귀하다. 근데 회사는 그런 사람을 원한다. 나는 다 할 줄 안다. 근데 다 못한다. 다 중간이다. 진짜 잘하는 사람은 하나를 깊게 한다. 그 사람들이 대우받는다. 이제는 선택해야 한다 고민한다. 이대로 가면 안 된다. 3년 더 이러면 6년 차가 된다. 근데 실력은 3년 차다. 선택이 필요하다. 프론트를 깊게 팔까? React 전문가? 백엔드를 깊게 팔까? Node.js 아키텍트? 인프라를 깊게 팔까? DevOps 엔지니어? 근데 선택이 안 된다. 회사에서 다 해야 한다. 이직해야 한다. 전문화된 팀으로. 프론트팀 있고 백엔드팀 있는 곳. 한 가지만 깊게 할 수 있는 곳. 근데 연봉이 걱정이다. 경력 3년인데 깊이는 1년이면 주니어 연봉 받을까? 그래도 가야 한다. 지금 여기 있으면 계속 얕다. 넓고 얕은 5년 차보다 좁고 깊은 3년 차가 낫다.풀스택이라는 말이 멋있게 들렸다. 이제는 함정이 보인다. 다 하는 것과 다 잘하는 것은 다르다. 내년에는 하나를 깊게 파고 싶다. 그게 뭔지는 아직 모르겠지만.
- 09 Dec, 2025
이직 공고는 6개월째 채워지지 않는다: 내가 떠나면 누가?
이직 공고는 6개월째 채워지지 않는다: 내가 떠나면 누가? 6개월째 올라가 있는 공고 채용공고 올린 게 2월이었다. 지금 8월이다. "풀스택 개발자 채용합니다. React, Node.js, AWS 경험자 우대. 스타트업 초기 멤버로 합류하실 분." 6개월 동안 지원자 12명. 서류 통과 4명. 면접 본 사람 2명. 합격 통보한 사람 1명. 실제로 온 사람 0명. 마지막 합격자는 처음엔 온다고 했다. 연봉 4500만원에 합의했고, 입사일도 잡았다. 근데 입사 일주일 전에 연락 왔다. "죄송한데요, 다른 곳에서 더 좋은 조건이 나와서요." 그 '다른 곳'은 네이버였다. 연봉 7000만원에 재택 주 2회. 나도 그쪽 갔을 거다.나도 지원자를 면접 본다 면접관이 되는 건 처음이었다. 대표랑 같이 봤다. 첫 번째 지원자는 신입이었다. 포트폴리오는 괜찮았다. 근데 질문을 하는데 대답이 너무 길었다. "제가 이 프로젝트를 하면서 느낀 건..." 5분. 나는 코드를 보고 싶었다. 두 번째 지원자는 경력 2년. 나랑 비슷했다. 기술 질문은 잘 대답했다. 근데 마지막에 물었다. "야근 많나요?" 대표가 "거의 없어요"라고 했다. 거짓말이었다. 나는 아무 말도 안 했다. 면접 끝나고 대표가 물었다. "어때요?" 나는 "괜찮은 것 같은데요"라고 했다. 솔직히는 잘 모르겠다. 코드를 같이 짜봐야 아는데, 면접에서는 그럴 수 없잖아. 결과적으로 둘 다 떨어졌다. 신입은 급여 협상에서, 경력직은 다른 회사 갔다. 면접 볼 시간도 없다 세 번째 지원자가 왔을 때 나는 장애 처리 중이었다. AWS Lambda가 터졌다. 메모리 초과. 새벽 4시부터 일어나서 고쳤는데 10시 면접이었다. 씻지도 못했다. 면접장에 들어가면서 대표가 귓속말했다. "상태 좀 그러네요." 안다. 나도 안다. 지원자는 잘 준비해왔다. 우리 서비스도 써봤고, 개선점도 준비했다. 근데 나는 계속 슬랙 알림이 신경 쓰였다. CPO가 메시지 보냈다. "결제 또 안 돼요." 면접 중간에 화장실 간다고 나와서 급하게 코드 수정했다. 5분 만에 배포하고 들어갔다. 지원자는 이상한 눈으로 봤다. 그 사람도 안 왔다. 당연하다. 나도 나한테 안 왔을 거다.채용이 안 되는 이유를 안다 경쟁력이 없다. 간단하다. 우리 회사: 연봉 4500만원, 스톡옵션 0.3%, 재택 월 2회, 혼자 일함, 온콜 24시간. 다른 회사: 연봉 6000만원, 재택 주 3회, 팀 5명, 정시 퇴근, 복지 좋음. 누가 봐도 답은 명확하다. 나도 이직하고 싶다. 대표는 말한다. "초기 멤버니까 성장 가능성이 있죠." 가능성은 밥 먹여주지 않는다. 나도 6개월째 가능성만 먹고 산다. 그리고 솔직히 말하면, 나도 새 사람 들어오는 게 부담이다. 혼자 짠 코드라서 주석도 없고, 구조도 엉망이다. DB 스키마는 3번 바뀌었고, API는 RESTful하지도 않다. 이걸 설명하려면 한 달은 걸린다. 그 한 달 동안 누가 내 일을 하나. 나다. 결국 더 바빠진다. 떠나고 싶은데 떠날 수가 없다 지난달에 이력서 넣었다. 3곳. 다 좋은 곳이었다. 면접도 2곳 봤다. 분위기도 괜찮았고, 조건도 좋았다. 연봉은 6500만원, 재택 주 2회, 팀은 8명. 근데 오퍼 받고 나니까 고민이 됐다. 내가 떠나면 누가 이 서비스를 운영하나. 대표는? CPO는? 디자이너는? 다들 코드 한 줄 못 짠다. DB 백업 스크립트는 나만 안다. AWS 계정 권한도 나만 있다. 배포 프로세스는 문서화 안 돼 있다. 왜냐면 나 혼자 하니까 문서화할 필요가 없었다. 인수인계를 하려면 최소 2개월. 근데 후임자가 없다. 6개월째 안 구해지는데.죄책감이라는 족쇄 어제 또 장애가 났다. 저녁 8시. 결제 모듈이 터졌다. PG사 API가 바뀌었는데 우리는 업데이트 안 했다. 1시간 동안 결제가 안 됐다. 매출 손실 약 200만원. 급하게 고쳤다. 밤 11시에 해결했다. 대표가 슬랙에 썼다. "수고했어요. 덕분에 해결됐네요." 그 메시지를 보면서 생각했다. 내가 없었으면 어떻게 됐을까. 아무도 못 고쳤을 거다. 서비스는 며칠 죽어 있었을 거고, 유저는 다 떠났을 거고, 회사는 망했을 거다. 과장이 아니다. 실제로 그렇다. 여기는 나 없이 하루도 못 돌아간다. 그게 자부심인지 족쇄인지 모르겠다. 아마 둘 다일 거다. 인생이 멈춰 있다 친구들은 다들 앞으로 간다. 전 직장 동기는 결혼했다. 집도 샀다. 대출 받았지만 그래도 샀다. 나는 월세다. 결혼은 생각도 못 한다. 대학 선배는 팀장이 됐다. 부하 직원 3명 관리한다고 고민한다. 나는 내 코드도 관리 못 한다. 고등학교 친구는 육아휴직 들어갔다. 아이가 태어났다. 나는 휴가도 못 쓴다. 3일 쓰려면 2주 전에 말해야 하고, 그 사이에 장애 나면 복귀해야 한다. 다들 삶이 진행되는데 나만 여기 정지돼 있다. 채용공고랑 같이. 대표는 낙관적이다 오늘도 대표가 말했다. "곧 좋은 분 오실 거예요." 6개월째 듣는 말이다. 처음엔 믿었다. 지금은 안 믿는다. "채용 조건 좀 더 올려볼까요?" 예산이 없다. 시리즈A 투자 유치하면 그때 가능하다. 근데 투자 받으려면 서비스가 잘 돌아가야 한다. 서비스가 잘 돌아가려면 내가 있어야 한다. 순환논리다. 빠져나갈 수가 없다. "일단 3개월만 더 버텨봐요. 그때까지 꼭 구할게요." 3개월 뒤엔 또 3개월이다. 알고 있다. 채용공고를 다시 본다 어제 채용공고를 수정했다. 7번째 수정이다. "React, Node.js, AWS 필수" → "React, Node.js 우대" "경력 2년 이상" → "경력 무관" "스타트업 경험자 우대" → "스타트업 관심 있으신 분" 조건을 계속 낮춘다. 그래도 안 온다. 댓글도 달렸다. "여기 개발자 혼자라던데 맞나요?" "야근 많다는 후기 봤는데요." "왜 계속 채용하는 거예요?" 대답할 말이 없다. 다 맞는 말이니까. 오늘도 혼자다 출근했다. 자리는 내 거 하나뿐이다. 옆자리는 6개월째 비어 있다. 노트북 거치대도 먼지 쌓였다. 마우스도 그대로다. 준비는 다 돼 있다. 사람만 없다. 슬랙 알림 왔다. "이거 오늘 중으로 되나요?" 된다. 내가 하니까. "DB 백업 확인 부탁드려요." 확인한다. 나만 할 수 있으니까. "배포 언제 하실 거예요?" 오늘 밤에 한다. 혼자 하니까. 모든 메시지의 끝은 나다. 시작도 나고, 중간도 나고, 끝도 나다. 그래도 채용공고는 여전히 올라가 있다. "풀스택 개발자 채용합니다." 읽을 때마다 웃긴다. 풀스택이 아니라 "대체 인력" 채용이다. 나를 대체할 사람. 나를 해방시킬 사람. 그 사람이 올까. 모르겠다. 와도 적응할 수 있을까. 모르겠다. 오기 전에 내가 무너지진 않을까. 그것도 모르겠다. 확실한 건 하나다. 오늘도 나는 여기 있다. 혼자서.6개월째 채용공고는 올라가 있고, 나는 여전히 혼자서 모든 걸 한다. 이게 성장인지 정체인지도 모르겠다. 그냥 버티는 거다. 언젠가 누군가 올 때까지.
- 06 Dec, 2025
장애 터지면 나 말고 고칠 사람이 없다: 휴가는 언제?
장애 터지면 나 말고 고칠 사람이 없다: 휴가는 언제? 휴가 신청서를 쓸 수가 없다 휴가 신청 화면을 3개월째 켜놓고 있다. 날짜만 선택하면 된다. 근데 못 누른다. 작년 여름. 부산 가려고 KTX 표 예매했다. 출발 2시간 전에 장애 알림. 새벽 4시에 터진 DB 락. 결국 환불했다. 수수료 2만원. 추석 때도 마찬가지였다. 고향 가는 전날 밤에 AWS 비용 폭증 알림. 누군가 무한루프 API 호출 중. 명절 내내 노트북 들고 다녔다. 어머니가 "밥이라도 먹고 해라" 하셨다. 밥 먹으면서도 모니터링 대시보드 켜놓고 있었다.올해는 아예 신청을 안 했다. 어차피 못 가니까. 대표님은 "휴가 쓰세요" 라고 한다. 근데 내가 없으면 서비스가 멈춘다. 대표님도 안다. 그래서 더 미안해한다. 근데 채용은 안 한다. 예산이 없대. 지난주 금요일. 동기가 제주도 사진 보냈다. "3박4일 힐링 중ㅋ". 나는 그 시각 배포 중이었다. 힐링이 뭔지 기억이 안 난다. 주말이 주말이 아니다 토요일 오전 11시. 침대에서 일어나려는데 슬랙 알림. "서비스 느린 것 같은데요?" 대표님이다. 주말에도 서비스 쓰시나 보다. 노트북 켰다. CloudWatch 확인. CPU 사용률 92%. RDS 커넥션 풀 다 찬 상태. 어제 배포한 기능에서 커넥션 릭. 30분 만에 핫픽스 배포. 다시 침대로. 근데 잠이 안 온다. 혹시 또 터질까봐.일요일은 더하다. 사람들이 오후에 서비스를 제일 많이 쓴다. 그래서 장애도 일요일 오후에 제일 많이 터진다. 지난 일요일. 친구들이 등산 가자고 했다. 오랜만에 나갔다. 북한산 중턱쯤 올라갔을 때 알림. API 타임아웃 증가. 결국 하산했다. 친구들은 정상 찍고 왔다. 나는 스타벅스에서 노트북 펴고 있었다. "야 너 진짜 언제까지 그러고 살래?" 친구 말이 맞다. 근데 어쩌나. 나 말고 고칠 사람이 없는데. 주말에 쉬어본 게 언제였나 생각해봤다. 3개월 전? 아니다. 그때도 Terraform 작업했다. 6개월 전? 그때는 DB 마이그레이션 했다. 주말이 주말이 아니다. 그냥 출근 안 하는 평일이다. 명절도 예외는 아니다 설날이었다. 가족들 모였다. 사촌동생이 취업 준비 중이래. "형 회사 괜찮아?" 괜찮냐고? 글쎄. "개발자 뽑아?" 우리는 계속 뽑고 있다. 6개월째. 근데 안 온다. 오는 사람은 스타트업 경험자들인데 면접에서 "개발자 몇 명이에요?" 물어보면 대답 못 하겠다. "저요" 라고 하면 바로 표정 굳는다. 밥 먹는데 폰이 울렸다. Sentry 알림. Uncaught Exception. 500에러 스파이크. "잠깐만요." 화장실 들어갔다. 노트북 가져왔으면 좋았을 걸. 폰으로 SSH 접속. 로그 확인. Redis 연결 끊김. 재시작 명령어 입력.10분 뒤에 나왔다. 아버지가 걱정스럽게 보셨다. "배탈났냐?" "아니요. 괜찮아요." 배탈도 아니고 마음탈이다. 추석 때는 더 심했다. 고향 가는 버스에서 배포했다. 4시간 동안 테더링 켜놓고. 데이터 20GB 썼다. 배포 끝나니까 배터리 8%. 도착했을 때는 껐다. "휴대폰도 못 쓰게 생겼네." 어머니가 충전기 주셨다. 근데 사실은 의도적으로 다 쓴 거다. 알림 안 받으려고. 진짜 쉬고 싶어서. 2시간 뒤에 다시 켰다. 슬랙 메시지 47개. 카톡 32개. 부재중 전화 3통. 다 대표님. 명절도 예외가 아니다. 사람들은 쉬니까 서비스를 더 쓴다. 그러니까 장애도 더 터진다. 나는 더 일한다. 밤 11시 알림의 공포 요즘 제일 무서운 시간이 밤 11시다. 씻으려고 욕실 들어가는데 알림. 씻다 말고 나왔다. 머리에 샴푸 묻은 채로 노트북 켰다. 물방울이 키보드에 떨어졌다. API Gateway 타임아웃. Lambda cold start 문제. Provisioned Concurrency 설정 잊어먹었다. 30분 만에 해결. 다시 샤워하러 갔다. 물이 차가워졌다. 새벽 2시 알림도 자주 온다. 잠들었을 때. 꿈에서도 알림음 들리는 것 같아서 깬다. 진짜 알림인지 확인한다. 진짜다. 일어난다. 한 번은 꿈이었다. 근데 일어나서 확인했다. 습관이 됐다. 이제는 알림 없어도 새벽에 깬다. 확인한다. 다행히 알림 없다. 근데 잠이 안 온다. 혹시 모니터링 시스템이 죽은 건 아닐까. 확인한다. 살아있다. 다시 눕는다. 1시간 뒤에 또 깬다. 수면 패턴이 망가졌다. 건강검진에서 의사가 그랬다. "수면의 질이 안 좋네요. 스트레스 받는 일 하세요?" "네. 개발자요." "음... 일 줄이셔야 할 것 같은데요." 줄이고 싶다. 근데 어떻게 줄이나. 장애는 내가 정하는 게 아닌데. 알림 끄면 되지 않냐고? 껐다가 큰일 났다. 새벽 3시에 터진 장애. 9시에 출근해서 알았다. 대표님 얼굴이 창백했다. 유저 100명 이탈. 매출 타격. 사과문 올렸다. 그날 이후로 알림은 절대 안 끈다. 진동 켜놓고 잔다. 베개 밑에 폰 넣고 잔다. 언제든 깰 준비. 병원 예약도 못 잡는다 이가 아프다. 3주째다. 치과 가야 한다. 근데 예약을 못 잡는다. 평일 낮에 가려면 반차를 써야 한다. 근데 반차 쓰고 나가면 그 시간에 장애 터지면? 치과에서 노트북 펼 수는 없다. 마취하고 있는데 슬랙 알림 오면? 입 벌리고 있는데 전화 오면? 결국 진통제 먹고 버틴다. 타이레놀 500mg. 하루 3알. 3주째. 위도 아프기 시작했다. 건강검진도 2년째 미뤘다. 작년에 예약했는데 전날 밤에 배포 이슈. 취소했다. 올해도 예약했다. 또 취소했다. DB 마이그레이션 날짜랑 겹쳤다. 병원 갈 시간도 없다. 아프면 그냥 참는다. 약국 가서 약 사먹는다. 약사가 "병원 가보세요" 한다. "네" 하고 나온다. 안 간다. 못 간다. 허리도 아프다. 의자가 안 좋다. 회사 의자는 10만원짜리 사무용 의자. 집 의자는 이케아 5만원짜리. 둘 다 요추 지지 같은 건 없다. "허리 아프다"고 말했다. 대표님이 "의자 바꿔드릴까요?" 했다. 고마운데 사양했다. 의자 바꾼다고 해결될 문제가 아니다. 앉아있는 시간을 줄여야 하는데 그게 안 된다. 운동도 못 한다. PT 3개월 끊었다. 한 달 다니고 안 갔다. 환불 안 된다. 180만원 날렸다. 트레이너가 연락 왔다. "요즘 바쁘세요?" 바쁘다. 죄송하다. 몸이 망가지고 있다. 안다. 근데 어쩌나. 서비스 안 망가뜨리려고 내 몸이 망가진다. 온콜의 기회비용 온콜이 뭔지 아나. 24시간 대기조. 언제든 투입 가능 상태. 군대 같은 거다. 민간인이 군대 생활 하는 거다. 근데 온콜 수당은 없다. 연봉에 포함이래. 4800만원에 365일 온콜이 포함. 시급으로 계산하면 얼마나 될까. 하지 말자. 계산하면 화난다. 친구가 대기업 다닌다. 온콜 돌면 하루 10만원 받는대. 주말 온콜은 15만원. 부럽다. 우리는 온콜이 기본값이다. 온콜 아닌 날이 없다. 휴가 써도 온콜. 병가 써도 온콜. 퇴사하기 전까지는 온콜. 온콜의 기회비용을 생각해봤다. 데이트 못 한다. 약속 잡으면 취소한다. 3번 취소하면 끝이다. 그래서 약속 안 잡는다. 취미생활 못 한다. 등산, 헬스, 영화, 게임. 다 중간에 끊긴다. 롤 게임 중에 알림 오면? 팀원들한테 욕먹는다. 그래서 게임도 안 한다. 자기계발 못 한다. 책 읽으려고 하면 알림. 온라인 강의 들으려고 하면 알림. 결국 기술 블로그만 본다. 그나마 짧으니까. 근데 그것도 집중 안 된다. 사람들 만날 수가 없다. 약속 잡으면 "혹시 급한 일 생기면 못 갈 수도 있어" 라고 미리 말한다. 그러면 "그럼 다음에 하자" 한다. 다음은 안 온다. 고립된다. 집-회사-집. 가끔 카페. 근데 카페도 일하러 간다. 노트북 들고 간다. 쉬러 가는 게 아니다. 온콜의 기회비용. 내 인생이다. 대체자가 없는 시스템 Single Point of Failure. SPOF. 시스템 설계에서 제일 피해야 할 거. 근데 나는 SPOF다. 나 하나 없으면 서비스가 멈춘다. 프론트엔드 나. 백엔드 나. 인프라 나. DB 나. 배포 나. 모니터링 나. 장애대응 나. 코드리뷰? 그런 거 없다. 나한테 리뷰할 사람이 없으니까. 버스팩터가 1이다. 내가 버스에 치이면 서비스 끝. 대표님도 안다. 그래서 "조심히 다니세요" 한다. 진담인지 농담인지 모르겠다. 인수인계 문서 써놨다. 100페이지. Notion에. 근데 이걸 누가 읽나. 누가 이해하나. 3년간 쌓인 컨텍스트를 어떻게 글로 전달하나. "왜 이렇게 짰어요?" 라고 물어볼 사람이 없다. 3개월 뒤에 내가 내 코드 보고 "왜 이렇게 짰지?" 한다. 주석이 없다. 당시엔 급했으니까. 채용 공고 올렸다. "시니어 풀스택 개발자 구함". 6개월째 안 뽑힌다. 지원자는 온다. 근데 조건이 안 맞는다. "연봉 7000 이상이요." 우리는 5500까지 준다고 했다. 대표님이 "협의 가능" 하셨다. 근데 진짜 협의 가능한가? 내 연봉 깎아서 주나? "주 5일 근무죠?" 그렇다고 했다. 근데 온콜 얘기하니까 표정이 굳었다. "회사에 개발자가 몇 명이죠?" "저요." 그 뒤로 연락 없다. 대체자가 없다. 나를 대체할 사람을 뽑지 못한다. 그래서 나는 계속 여기 있다. 못 떠난다. 떠나면 서비스가 죽으니까. 책임감이라는 족쇄 솔직히 이직하고 싶다. 매일 생각한다. 이력서 업데이트했다. 링크드인 프로필 손봤다. 포트폴리오 정리했다. 원서도 넣어봤다. 몇 군데 면접도 봤다. 면접에서 물어봤다. "온콜 있나요?" "네, 있는데 로테이션 돌아요. 일주일씩." 일주일씩? 그것도 돌아간다고? 천국이다. "팀이 몇 명이에요?" "백엔드가 5명이고요. 프론트가 3명이고." 8명? 8명이나? 부럽다. 오퍼 받았다. 연봉 6500. 지금보다 1700 많다. 스톡옵션도 더 많다. 팀도 있다. 온콜도 돌아간다. 근데 못 갔다. 대표님한테 말씀드렸다. "이직 제안 받았습니다." 대표님이 당황하셨다. "연봉 맞춰드릴게요." "연봉 문제가 아니에요." "그럼 뭐예요?" "혼자는 못 하겠어요." "개발자 뽑을게요. 진짜로." 이미 6개월째 못 뽑고 있는데. 그 말 믿을 수 있나. "생각해보세요. 제발." 대표님 표정을 봤다. 진짜 힘들어 보였다. 나만 힘든 게 아니구나. 결국 안 갔다. 제안 거절했다. 이유는? 책임감. 서비스에 유저가 5천 명 있다. 유료 결제 유저가 300명 있다. 내가 떠나면 이 사람들은? 서비스 못 쓴다. 환불 받는다. 회사 망한다. 팀원들 있다. 기획자 2명, 디자이너 1명, 마케터 1명. 개발 쪽은 나 혼자지만 다른 팀원들은 있다. 내가 떠나면 이 사람들은? 다 실직자 된다. 대표님도 있다. 3년간 같이 일했다. 믿고 맡겨주셨다. 내가 떠나면? 대표님이 개발 배워야 하나? 책임감이다. 이게 나를 붙잡는다. 족쇄다. 금색 족쇄. 포기할 수 없는 것들이 너무 많다. 근데 이게 맞나? 내 인생을 포기하면서 서비스를 지키는 게? 모르겠다. 언제까지 버틸 수 있을까 요즘 생각한다. 내가 언제까지 버틸 수 있을까. 체력이 예전 같지 않다. 29살인데 벌써 이러면 안 되는데. 새벽 작업하면 다음 날 못 일어난다. 에너지 드링크 효과가 점점 짧아진다. 2시간 버티던 게 이제 30분. 정신적으로도 한계다. 알림음만 들어도 심장이 뛴다. 조건반사. 파블로프의 개. 슬랙 알림음이 공포다. 집중력도 떨어진다. 코드 짜다가 멍 때린다. 뭐 하려고 했더라? 커밋 메시지 뭐였지? 방금 전까지 생각했는데. 사라졌다. 번아웃 증상 찾아봤다. 다 해당된다.만성 피로? 체크 수면 장애? 체크 집중력 저하? 체크 냉소적 태도? 체크 성취감 감소? 체크 사회적 고립? 체크상담 받아보라고 한다. 근데 상담 받을 시간이 없다. 상담 예약하려면 평일 낮에 가야 하는데 그 시간에 장애 터지면? 악순환이다. 힘들어서 쉬어야 하는데 쉬면 서비스가 망한다. 서비스 지키려고 버티는데 내가 망한다. 동기들 만났다. 전부 이직했다. 대기업, 외국계, 스타트업. 다들 잘 다닌다. "너 아직 거기야?" "응." "채용 안 해?" "하는데 안 뽑혀." "그럼 너 언제 나와?" "모르겠어." 진짜 모르겠다. 탈출구가 안 보인다. 개발자 뽑히기 전까지는 못 나간다. 근데 개발자가 안 뽑힌다. 그럼 영원히 못 나가나? 1년 더? 버틸 수 있을까. 체력적으로. 정신적으로. 모르겠다. 근데 버텨야 한다. 나 말고 할 사람이 없으니까. 그래도 버티는 이유 퇴사 고민하면서도 출근한다. 왜? 월급 때문? 아니다. 6500 오퍼 거절했으니까. 성장 때문? 글쎄. 혼자 하니까 성장도 한계다. 피드백 없다. 방향도 모른다. 그럼 뭐 때문? 유저들 때문인 것 같다. 어제 앱 리뷰 봤다. 별 5개. "덕분에 업무 효율 10배 올랐어요. 감사합니다!" 이런 리뷰 보면 기분이 좋다. 내가 만든 거 누가 쓴다. 그것도 좋아한다. 도움이 된다. 팀원들 때문이기도 하다. 기획자가 그랬다. "덕분에 제 기획이 세상에 나왔어요. 고마워요." 디자이너는 "내 디자인이 진짜로 움직이네요" 하면서 좋아했다. 마케터는 "전환율 올랐어요!" 하면서 기뻐했다. 내가 있어야 이 사람들 일이 결과로 나온다. 그게 의미 있다. 대표님은 가끔 말한다. "너 없으면 여기 못 돌아가. 고마워." 고맙긴 한데 그 말이 때로는 무겁다. 부담이다. 책임이다. 그래도 버틴다. 완전히 의미 없는 건 아니니까. 누군가에게 도움이 되니까. 내가 필요한 곳이니까. 근데 이게 언제까지 버틸 이유가 될까. 모르겠다. 휴가는 결국 언제? 제목으로 돌아왔다. 휴가는 언제? 답은 없다. 정확히는 모른다. 개발자 뽑히면? 그때 휴가 갈 수 있다. 근데 언제 뽑힐지 모른다. 6개월째 못 뽑고 있다. 서비스가 안정화되면? 언제 안정화될까. 기능은 계속 추가된다. 유저는 계속 늘어난다. 장애는 계속 터진다. 회사가 커지면? 시리즈 A 투자 받으면 개발팀 꾸릴 수 있다. 근데 투자는 언제? 모른다. 현실적으로 생각해보자
- 05 Dec, 2025
커밋 메시지 'fix bug', 'update', 'asdf': 정신 없음의 흔적
커밋 메시지 'fix bug', 'update', 'asdf': 정신 없음의 흔적 오늘 아침에 git log를 봤다. 지난 3일치 커밋 메시지가 이렇다. "fix bug" "update" "asdf" "quick fix" "really fix this time" "fuck" "revert fuck" ...이게 프로덕션이다.git log가 내 정신 상태 커밋 메시지를 보면 그날 내 상태가 보인다. 오전 10시: "feat: 사용자 프로필 API 구현" → 정신 멀쩡할 때다. 오후 3시: "fix profile bug" → 피곤해지기 시작. 저녁 7시: "update" → 저녁 먹고 와서 뭐 했는지 기억 안 남. 밤 11시: "asdf" → 의식의 흐름. 새벽 2시: "please work" → 간절함. 새벽 3시: "I HATE THIS" → 분노. 새벽 4시: "final fix" → 거짓말. 이게 3년차 풀스택 개발자의 커밋 히스토리다. 자랑스럽다. 의미 모를 메시지의 이유 왜 이렇게 되는가. 첫째, 시간이 없다. 커밋 메시지 쓸 정신이 없다. 대표가 "이거 언제 돼요?" 슬랙에 5번째 멘션이다. 일단 커밋하고 푸시한다. 메시지는 나중에. 근데 나중은 오지 않는다. 둘째, 정신이 없다. 동시에 3개 작업 중이다. 프론트 버그 고치다가 백엔드 API 수정하다가 DB 인덱스 추가하다가. 뭘 커밋하는지 정확히 모른다. "update" 치고 엔터. 셋째, 새벽이다. 오후 2시에 시작한 '간단한 수정'이 밤 11시에 끝났다. 연쇄 버그였다. 피곤하다. 커서가 커밋 메시지 창에 깜빡인다. 손이 알아서 "fix" 친다. 넷째, 혼자다. 코드 리뷰 없다. 컨벤션 지킬 사람도 없다. 나 말고 git log 볼 사람이 없다. 그래서 대충 쓴다. 근데 3개월 뒤 내가 본다. 그리고 후회한다.새벽 커밋의 특징 새벽 2시 이후 커밋은 특별하다. 메시지가 짧아진다. "fix"에서 "f"까지 진화한다. 타이핑할 기력도 없다. 오타가 늘어난다. "fxi bug", "updaet", "commti". 백스페이스 누를 힘도 없다. 감정이 들어간다. "please", "why", "help", "fuck". 코드에 하소연한다. 종교가 등장한다. "god please", "jesus christ", "holy shit it works". 신에게 간구한다. 어제 새벽 3시 커밋이다. "why is this even a bug" "ok this should work" "nope" "maybe now" "FINALLY" 5개 연속 커밋. 같은 버그. 40분 걸렸다. 원인은 오타였다. 변수명 "user"를 "usr"로 썼다. 'asdf'의 의미 'asdf'는 특별하다. 왼손 홈포지션이다. 아무 생각 없이 친다. 근데 자주 쓴다. 지난달에만 12번 썼다. 처음엔 부끄러웠다. 지금은 자연스럽다. 'asdf'는 내 정신 상태를 정직하게 표현한다. "지금 나 아무 생각 없음. 그냥 커밋함." 동료 개발자 있었을 때는 안 썼다. 코드 리뷰 있었으니까. "커밋 메시지 좀 제대로 써주세요" 들으니까. 지금은 혼자다. 'asdf' 맘껏 쓴다. 자유다. 슬픈 자유다. git blame 보면 웃긴다. 3개월 전 코드에 'asdf' 커밋이다. 뭔지 모른다. 다시 읽어야 한다. 과거의 나를 욕한다. "메시지 좀 써놓지." 근데 오늘도 'asdf' 쓸 것 같다. 컨벤션은 어디로 입사할 땐 다짐했다. "커밋 메시지 컨벤션 지키자. feat, fix, refactor 구분하자. 이슈 번호 달자." 1주일 갔다. 지금 컨벤션은 이렇다.오전: 제대로 씀 오후: 대충 씀 저녁: 안 씀 새벽: 욕함feat, fix는 가끔 쓴다. 기분 좋을 때. refactor는 본 지 오래됐다. 리팩토링할 시간이 어딨나. 이슈 번호는 없다. 이슈 트래커 쓸 여유가 없다. 슬랙 DM이 이슈 트래커다. 대표 톡이 백로그다. 이모지도 시도했다. ✨, 🐛, 🔥. 3일 갔다. 귀찮다. 지금은 문자만. 최소한만.역대급 커밋들 기억에 남는 커밋들이 있다. 가장 정직한 커밋: "I have no idea what I'm doing" 새벽 4시. 스택오버플로우 코드 복붙했다. 작동했다. 이유는 모른다. 정직하게 적었다. 가장 긴 커밋: "fix bug fix bug fix bug fix bug fix bug" 복붙했다. 손이 컨트롤 안 됐다. 피곤해서. 가장 짧은 커밋: "." 마침표 하나. 엔터 치려다 점 찍었다. 그냥 푸시했다. 돌아가서 고칠 기력이 없었다. 가장 화난 커밋: "WHO WROTE THIS CODE oh wait it was me" 3개월 전 내 코드였다. 똑같은 버그를 똑같이 고쳤다. 커밋 메시지도 똑같았다. "fix user bug". 학습 능력 제로. 가장 슬픈 커밋: "goodbye clean code" 기술 부채 쌓는 거 알면서 땜질했다. 시간이 없어서. 나중에 고치자. 근데 나중은 안 온다. 동료가 보면 전 직장 동기가 물었다. "너희 회사 코드 퀄리티 어때?" git log 보여줬다. 말없이 봤다. 그리고. "...너 괜찮아?" 괜찮지 않다. 근데 뭐 어쩌나. 혼자 하는데. 서비스는 돌아가는데. 커밋 메시지까지 신경 쓸 여유가 없다. "나중에 누가 보면 어떡하려고?" 나중에 사람 뽑으면 창피할 것 같다. 신입이 와서 git log 보면. "선배님 이게 뭐예요?" 할 것 같다. "음... 그때 많이 바빴어. 하하." 변명할 것 같다. 근데 지금도 바쁘다. 6개월 뒤도 바쁠 것 같다. 반복되는 메시지 같은 메시지를 반복해서 쓴다. "fix login bug" - 이거 7번 커밋했다. 로그인 버그가 7번 났다. 아니다. 근본 원인을 안 고쳤다. 증상만 고쳤다. 시간이 없어서. "update API" - 이거 21번 썼다. 뭘 업데이트했는지 모른다. 그냥 뭔가 바뀌었다. "quick fix" - 빠른 수정은 없었다. 다 2시간씩 걸렸다. 거짓말이다. "minor change" - 마이너가 아니었다. DB 스키마 바꿨다. 이거 메이저다. 근데 인정하기 싫었다. "temp" - 임시 수정. 근데 3개월 째 프로덕션이다. 영구적 임시다. 반복되는 메시지를 보면 알 수 있다. 근본 문제를 안 고친다. 시간이 없어서. 똑같은 실수를 반복한다. PR 없는 세상 전 회사는 PR 필수였다. 커밋 3개 이상 쌓이면 안 됐다. 바로 PR 올렸다. 리뷰 받았다. "커밋 메시지 수정해주세요." 피드백 받았다. 귀찮았는데 배웠다. 지금은 PR이 없다. 혼자니까. 리뷰할 사람이 없으니까. main 브랜치에 바로 푸시한다. 무법지대다. 자유롭다. 근데 무섭다. 견제가 없으니까. 내 실수를 못 잡는다. 커밋 메시지도 점점 막 쓴다. 가끔 스스로 리뷰한다. "이거 좀 이상한데." 근데 고칠 시간이 없다. "나중에." 그리고 잊는다. 브랜치 전략도 없다. feature 브랜치? develop 브랜치? 그런 거 없다. main 하나. hotfix도 main에. 전부 main에. 깃플로우는 교과서에나 나온다. 현실은 메인 브랜치 하나로 모든 걸 한다. 미래의 나에게 3개월 뒤 내가 볼 것이다. 오늘 'asdf'로 커밋한 코드를. 그리고 욕할 것이다. "이게 뭔 코드야." 근데 수정 못 한다. 또 시간이 없어서. 6개월 뒤 신입이 올지도 모른다. 온보딩하면서 git log 보여줘야 한다. "이게 우리 커밋 히스토리예요. 하하." 웃으면서 말할 것이다. 근데 웃음이 나올까. 1년 뒤 이직할지도 모른다. 포트폴리오 정리하면서 이 레포를 볼 것이다. 공개할 수 없다. 창피해서. private으로 둘 것이다. 그리고 새로 만들 것이다. 깨끗한 커밋 히스토리로. 미래의 나에게 미안하다. 근데 지금의 나도 힘들다. 서비스는 돌려야 하고. 장애는 고쳐야 하고. 기능은 만들어야 하고. 커밋 메시지까지 신경 쓸 여유가 없다. 그래도 알고는 있다. 이게 잘못됐다는 거. 언젠가 대가를 치를 거라는 거. 근데 오늘은 아니다. 내일도 아니다. 그래서 오늘도 'asdf' 친다. 그래도 가끔 제대로 쓴다. 기분 좋은 날. 새 기능 완성한 날. 리팩토링 한 날. 그럴 땐 정성껏 쓴다. "feat: 사용자 알림 시스템 구현WebSocket 기반 실시간 알림 읽음/안읽음 상태 관리 모바일 푸시 알림 연동closes #42" 이런 커밋을 쓸 때. 뿌듯하다. "나도 할 수 있네." 싶다. 근데 이런 커밋은 한 달에 2개 정도다. 나머지는 'fix', 'update', 'asdf'. 그래도 포기 안 한다. 완전히 놓진 않는다. 가끔이라도 제대로 쓴다. 그게 내 마지막 자존심이다.오늘도 'quick fix' 쳤다. 2시간 걸렸는데.
- 02 Dec, 2025
밤 11시 출근, 새벽 4시 장애 알림: 나는 왜 이 회사를 못 떠나는가
밤 11시 출근, 새벽 4시 장애 알림: 나는 왜 이 회사를 못 떠나는가 새벽 4시의 손가락 슬랙 알림음이 울린다. 그 소리를 들은 지 벌써 2년째다. 처음엔 한 번 깬다. 일어난다. 노트북을 켠다. 이제는 그 과정이 생략된다. 알림음이 울리는 순간 손가락이 이미 키보드를 두드리고 있다. 뇌는 아직 자고 있는데 손은 docker ps 명령어를 입력한다. 몸이 먼저 움직인다. 반사다. 조건 반사. "서버 에러율 60% 이상입니다." 문자가 온다. 대표님은 안 자고 있나? 날짜를 확인한다. 목요일 새벽 4시 17분. 내가 새벽 2시에 배포한 버전 때문일 거다. 자꾸만 그렇다. 로그를 확인한다. 20줄 읽다가 문제를 찾는다. 쿼리 타임아웃. 또 PostgreSQL이다. 어제 마이그레이션한 테이블에 인덱스를 안 깔았다. 내가 깔았어야 했다. 하지만 배포 시간이 없었다. 그래서 날림으로 올렸다. 이 과정을 매주 반복한다. 롤백한다. 15초 걸린다. 에러율이 떨어진다. 슬랙에 Rolled back to v2.4.8이라고 쓴다. 대표님이 바로 답한다. "고마. 원인 찾아봐." 알겠다고 한다. 하지만 알겠다는 게 뭔지 모르겠다. 내가 뭘 찾아야 하는 건지 모른다는 뜻이고, 그것도 알아야 할 나의 책임이라는 뜻이다. 침대로 돌아간다. 시간은 4시 47분. 6시에 일어나야 한다. 아니, 4시 47분에 눈을 감았으니 6시에 또 일어나면 1시간 13분을 자는 건가. 계산하다가 잠든다.11시 출근의 미학 "오늘 안에 좀 돼?" "네, 제가 봐볼게요." 항상 이 대사다. 대표님이 기획서도 없이 요청한다. '오늘 안에'는 사실 '지금 당장' 이라는 뜻이다. 그리고 '제가 봐볼게요'는 '제가 다 하겠습니다'라는 뜻이다. 10시에 일어난다. 샤워한다. 밥을 먹을 시간이 없다. 회사에서 먹자고 생각한다. 회사에 가면 먹을 시간이 없다. 매번 이 사이클이다. 11시 5분, 책상에 앉는다. 슬랙을 열어본다. 밤에 온 메시지 정리. 기획팀(2명)이 각각 2번, 3번 씩 요청했다. 영업팀(3명)도 고객 피드백을 전달했다. 개발자는 나 하나다. 그들은 그것을 알고 있다. 하지만 요청은 멈추지 않는다. 우선순위를 정한다. 세 번째로 온 요청부터 한다. 왜냐하면 첫 번째 요청자가 먼저 물어볼 가능성이 높으니까. 시간을 벌기 위해 순서를 바꾼다. 11시 15분, 코드를 본다. '이거 간단하죠?'라고 했던 기능은 간단하지 않다. 간단한 기능이란 세상에 없다. 있는 건 '당신이 이미 알고 있는 기능'과 '당신이 모르는 기능'뿐이다. 대표님은 내가 알아야 할 것들만 남겨놓고 간다. React 컴포넌트를 수정한다. 버튼 하나 추가. 텍스트 색 변경. 간단한 일이다. 근데 그 버튼은 데이터베이스에서 정보를 받아와야 한다. 그럼 API를 수정해야 한다. API를 수정하려면 데이터 구조를 봐야 한다. 데이터 구조가 복잡하다. 이미 꼬여 있다. 내가 3개월 전에 해놓은 구조다. 그때는 왜 이렇게 만들었는지 모르겠다. 주석을 찾아본다. 주석이 없다. 왜냐하면 내가 주석을 쓸 시간이 없었기 때문이다. 두 시간 반을 쓴다. 완료했다고 슬랙에 쓴다. "확인해봤어. 좋아. 이거 배포해도 돼?" "네 바로 배포할게요." 배포한다. 1분 걸린다. 배포하는 동안 두 번째 요청을 본다. 이거는 더 복잡하다. 백엔드를 수정해야 하고, 프론트도 수정해야 한다. Node.js와 React를 왔다갔다해야 한다. 점심시간이다. 혼자 밥을 먹는다. AWS 콘솔을 본다. 이 달 요금이 지난 달보다 30% 올랐다. 왜일까. 뭘 낭비했을까. 로그를 확인한다. 누군가 S3 버킷에 동영상을 4TB 올렸다. 우리 서비스에 영상 기능이 없다. 왜 4TB가 있는 거야. 기획팀에 물어본다. "어? 그거 테스트하다가 지운 줄 알았는데?" 테스트가 뭔지 모르겠다. 그냥 지워버린다. 이달은 못 돌릴 거고, 다음달부터 줄겠지.휴가를 계획한 적이 없다 휴가라는 단어는 이 회사에서 금지어다. 나뿐 아니라. 대표님도 안 간다. 직원 12명인데 누구도 길게 휴가를 못 본다. 1박 2일이 최대다. 그것도 긴장 풀린 상태에서. 이전 직장에선 여름에 1주일 휴가를 갔다. 회사에서 강제했다. 잠금 장치처럼. 깔끔했다. 여기서 휴가는 다르다. 지난 달 추석. 3일을 쉬고 싶었다. 9월 25일부터 27일까지. 미리 말했다. 8월에. "추석 안 나와도 되나?" "그럼... 누가 서버를 봐?" 12명이 있다. 그중 개발자는 나뿐이다. 그래서 나의 휴가는 항상 조건부다. "혹시 모르니까 폰은 켜놔. 뭐 있으면 한 번씩만 봐줘." 그렇게 추석 연휴를 보냈다. 25일: 실시간 쿼리 에러. 1시간에 한 번씩 확인. 고칠 수 없다. 일단 알았다고만 하고 26일에 한다고 했다. 26일: 아침 8시에 데이터베이스 마이그레이션 시작. 오후 5시에 끝. 명절 음식을 못 먹었다. 냉장고에 남겨진 음식을 야식으로 먹었다. 27일: 괜찮았다. 아무도 안 건드렸다. 대신 불안했다. 조용하면 더 불안하다. 뭔가 잘못됐을 가능성이 높으니까. 28일: 출근해서 로그를 본다. 25일에 에러가 20만 건 쌓였다. 근데 아무도 안 알려줬다. 슬랙에서 기다리고 있었단 거다. 내가 연휴를 끝내고 들어올 때까지. 휴가 신청은 이제 안 한다. 책상에 계속 앉는다. 그게 낫다. 내 몸은 내 것이 아니다 건강검진을 받았다. 회사 규정상 1년에 한 번. 이번 회차 검사 결과가 나왔다. 혈압: 높음 수면 패턴: 불규칙 스트레스 수치: 최상 의사가 물었다. "스트레스 관리를 하세요?" "네, 해봅니다." 뭘 해봤다는 건지 모르겠다. 에너지 드링크를 덜 마신다? 한 다섯 잔 덜 마신다. 원래 하루 2캔인데. 요즘은... 다시 2캔이다. 수면 시간. 어제는 3시간 45분. 그 전날은 2시간. 그 전전날은 5시간인데 새벽 4시 이후라서 숫자 의미 없다. "최소 6시간은 주무세요." 알겠다고 했다. 할 수 없을 줄 알면서. 밤 11시. 11시 30분. 밤 12시에 잤다고 해서 아침 6시에 일어나면 6시간이다. 하지만 밤 12시에는 못 잔다. 점검을 해야 한다. 배포를 해야 한다. 커밋 메시지를 정리해야 한다. 그래서 새벽 1시에 잔다. 6시간을 자려면 새벽 1시에 자서 아침 7시에 일어나야 한다. 하지만 아침 7시에 일어나도 11시에 출근하지 않는다. 10시 55분에 출근한다. 그 사이에 뭐하는 건지 모르겠다. 시간이 증발한다. 몸이 말을 듣지 않는다. 새벽 3시쯤에 한 번 깬다. 슬랙을 본다. 아무것도 없다. 다시 자려고 하는데 못 잔다. 뭔가 잘못될 수 있다는 생각이 든다. 노트북을 켠다. 코드를 본다. 버그 같은 게 있을까봐. 없다. 그래도 마음이 놓이지 않는다.왜 못 떠나는가 면접이 있다. 10시간 차이 나는 시간대의 회사. 연봉도 40% 올려준다고 했다. 근데 내가 가면 여기 서비스가 터질 것 같다. 터질 리가 있나. 우리 사용자는 5만 명이다. 누군가는 와서 대체할 거다. 누군가는. 근데 6개월을 뽑지 못했다. 왜일까. 연봉이 낮아서? 아니다. 성과급 때문에 연봉 인상이 안 된다고 들었다. 그럼 회사 돈이 없다는 뜻이다. 그럼 내가 떠나면 누가 와? 그리고 대체 누가? 내가 여기서 하는 일들을 정리해본다.프론트엔드 개발 및 유지보수 백엔드 개발 및 운영 데이터베이스 설계 및 마이그레이션 AWS 인프라 관리 배포 및 모니터링 긴급 장애 처리 기술 채용 면접 (하지만 시간이 없음) 개발팀 리드 (팀이 나뿐) 신입 온보딩 (신입이 없음)한 사람이 열 가지를 한다. 이걸 두 명이 한다는 보장도 없다. 세 명이 나눠야 정상이다. 근데 세 명을 뽑을 돈이 없다. 그럼 계속 내가 한다. 대표님이 밥을 사줄 때도 있다. 그럼 일 얘기를 한다. "너 아직 버티고 있네. 고마워." "네." "이 정도면 잘 하고 있는 거야. 나도 알아. 힘들겠지." "괜찮습니다." 뭐가 괜찮은지 모르겠다. 하지만 그 말이 마음에 남는다. 이 사람이 알아준다. 내가 뭘 하는지. 다른 회사에서는 이렇게 못할 거다. 수십 명이 있는 회사에선 내가 투명인간이 될 거다. 여기선 내가 필요하다. 내가 없으면 회사가 안 돈다. 근데 그게 이유가 되나. 이직 제의를 받았을 때 나 말고 누군가에게 물었다. 전직 동기들에게. '그냥 가면 안 되나?'라고. "너 아직도 책임감 갖고 있네." 그 동기는 이미 3번을 이직했다고 했다. 매번 '이 회사가 망할까봐'라고 생각했단다. 어디든. 근데 다 멀쩡히 돈다고 했다. "회사는 하나의 생명체야. 너 하나 없어도 돈다. 다만 회사 주인이 다시 고민해야 할 뿐." 그 말이 맞는 것 같은데도 가슴이 철렁한다. 손가락은 여전히 움직인다 지금도 슬랙 알림음에 귀가 쫑긋하다. 밤 11시 30분. 키보드를 두드린다. 커밋 메시지를 정리한다. 주석을 추가한다. 버전을 업그레이드한다. 이 모든 게 배포 전 세팅이다. 미드나잇을 넘긴다. 새벽 1시. 배포한다. 테스트한다. 에러가 없다. 좋다. 오늘은 괜찮겠다. 침대로 간다. 새벽 4시 17분. 알림음. 손이 움직인다.내일은 면접을 안 가기로 했다.
- 02 Dec, 2025
새벽 2시, 나는 왜 아직도 터미널을 열고 있는가
새벽 2시, 나는 왜 아직도 터미널을 열고 있는가 '이것만 하고 자자'는 거짓말 밤 10시. 노트북 화면에 떠 있는 시간을 본다. 충분하다. 오늘은 정말 이것만 하고 자겠다고 다짐한다. 간단한 버그 하나. React 컴포넌트의 렌더링 성능 문제. 5분이면 될 거 같은데. "아, 이거 상태 관리 때문인가? 그럼 리덕스도 한 번 체크해봐야겠는데." 11시 30분. 여전히 같은 화면이다. 근데 원인을 찾았다. 문제는 부모 컴포넌트의 불필요한 재렌더링. useMemo로 감싸면 될 것 같다. 손가락이 움직인다. 코드를 짜고, 테스트해보고, 아차, 이 부분도 최적화하면 더 나을 것 같은데. 새벽 12시. 한 숨을 돌린다. 커피잔이 반쯤 찼다. 아니 벌써 3번째인가. 기억이 안 난다. 슬랙을 본다. 대표님이 저녁에 올린 메시지. "내일 오전에 이 기능 구현 가능할까요?" 아, 이건 아직 안 했다. 지금 하는 이 최적화는 사실 그렇게 급하지 않은데. 그런데... 이미 여기까지 왔는데? 마무리하고 시작하자. 30분만 더.새벽 1시 15분. 이제 정말 끝났다. 빌드를 확인한다. 성공. 테스트를 돌린다. 통과. 배포해볼까? 아니지, 내일 오전에 하면 되지. 이제 정말 자야 한다. 슬랙에 체크 이모지라도 달아놓자. 그런데 문제가 하나 더 보인다. 예상 외의 발견들 버그를 고치다 보니 다른 곳이 눈에 띈다. 것도 아주 오래되고 답답한 부분들. 백엔드 API 응답 시간이 좀 길잖아. DB 쿼리 최적화할 시간도 있을 것 같은데. "아, 이것도 이미 알고 있던 거네. 왜 지금까지 안 했지?" 기술 부채다. 스타트업의 숙명. 급한 기능 개발에만 집중하다 보니 이런 것들이 쌓인다. 그런데 지금 이렇게 밤이 시간이 있으니까, 한 번 봐볼까? 쿼리를 수정해본다. 인덱스를 추가한다. 응답 시간이 200ms에서 50ms로 줄어든다. 정기적. 이제 정말 좋다. 그런데 혹시 DB 풀링 설정도 확인해볼까? 새벽 1시 50분. 노트북 화면에는 여섯 개의 탭이 떠 있다. 터미널, 코드 에디터, 데이터베이스 클라이언트, AWS 콘솔, 모니터링 대시보드, 브라우저. 각각에는 내가 지난 2시간 반 동안 들여놓은 정신과 에너지의 흔적들이 있다. 커밋 메시지를 쓴다. "fix: optimize database query and improve React component rendering" 좋다. 이 정도면 우아한 코드다. 내가 자랑스럽다. 그런데 프로덕션에 배포해도 되나? 한 번 더 테스트를...원맨밴드의 함정 지금 깨닫게 되는 건데, 이게 다 혼자 일 하기 때문이다. 내 옆에 다른 개발자가 있었다면, 어느 순간 "이거 내가 할 거야, 넌 자" 라고 누군가 말해줬을 것이다. 또는 코드 리뷰를 하다가 "이 정도면 충분해" 라고 누군가 멈춰 줬을 것이다. 하지만 지금 이 방에는 나밖에 없다. 내 정신 속 목소리도 나다. 악마 같은 나, 천사 같은 나, 둘 다 나다. 악마 나: "아직 API 응답도 좀 느린데?" 천사 나: "이제 정말 자야 해." 악마 나: "근데 이거 하나만 더..." 그리고 항상 악마 나가 이긴다. 왜냐하면 나는 스스로를 믿기 때문이다. "난 할 수 있어"라는 자신감과 "이건 내가 해야 해"라는 책임감이 섞여 있다. 스타트업이니까 그렇다. 12명이 일하는 회사인데 개발팀은 나 혼자다. 리팩토링? 그건 나중에. 테스트 커버리지? 나중에. 문서화? 나중에. 지금은 기능을 빨리 내야 한다. 내일 오전 회의에서 "이거 언제 되나요?" 라는 질문을 듣고 싶지 않으니까. 그래서 악마 나는 항상 이전을 가한다. "이것만 하고 자. 그럼 내일 아침에 대표님한테 완성된 거 보여줄 수 있어." 완성된 뭔가를 보여주는 걸 좋아한다. 실제로 동작하는 뭔가. 버그 없는 뭔가. 완벽한 뭔가. 그래서 계속 한다. 그리고 놓친다. 내일 아침에 일어났을 때 얼마나 피곤할지를. 밤 11시의 자신감이 새벽 2시의 후회가 되기까지 새벽 2시 정각. 나는 여전히 터미널을 열고 있다. 마지막 배포를 시도한다. 파이프라인이 돌아간다. 몇 분이 지난다. 성공. 모두가 자는 시간에 내 코드는 프로덕션에 올라간다. 어떤 위험도 무릅쓰고. (혹시 버그 있으면 어쩌지? 아니다. 테스트를 다 했잖아. 충분해. 정말 충분해.) 다시 노트북을 닫는다. 이번엔 정말 닫는다. 화면이 어두워진다. 한 숨을 돌린다. 이제 정말 끝이다. 오늘의 악순환이 끝났다. 내일은... 글쎄. 내일도 밤 10시가 오면 "이것만 하고 자자"라고 다짐할 것 같다. 그리고 새벽 2시가 오면, 나는 또 다른 문제를 발견하고 있을 것이다. 다른 버그, 다른 최적화 기회, 다른 기술 부채. 충전 케이블을 빼 놓으러 간다. 침대에 누웠다 일어난다. "아, 슬랙 응답은 했나?" 휴대폰을 든다. 메시지가 없다. 좋다. 아무 장애도 없었다는 뜻이다. 그래도 한 번 더 알림 설정을 확인한다. 음소거는 아닐까. 아니다, 켜져 있다. 침대에 누운다. 천장을 본다. 시간이 간다. 10분, 20분, 30분. 여전히 깨어 있다.악순환을 끊을 수 있을까? 내일 아침. 대표님이 온다. "어제 그 기능 됐어?" "네, 배포했습니다." "오, 빠르네! 그럼 이건 어때?" 또 다른 기능. 우선순위는 높다고 한다. 내일까지는 못 하겠지만, 모레 오전쯤이면 가능할 것 같다. 아마도. "알겠습니다." 다시 밤 10시가 온다. 언제쯤이면 이 악순환이 끝날까? 채용을 성공적으로 하면? 그럼 내 일량이 줄어들 텐데. 하지만 신입을 줄 일이 많지는 않을 것 같다. 어차피 복잡한 부분은 나만 알고 있으니까. 결국 더 많이 해야 할 것 같다. 신입 온온팩팅도 하고, 코드 리뷰도 하고. 아니면 퇴사를 하면? 그럼 서비스가 망할 텐데. 대표님이 다른 개발자를 찾을 때까지. 그걸 생각하니까 떠날 수가 없다. 책임감이 나를 묶는다. 결국 나는 여기 남는다. 밤 10시에 "이것만 하고 자자" 라고 다짐하고, 새벽 2시에 또 다른 버그를 발견하고, 새벽 4시에 침대에 누운다. 그리고 아침 9시에 깬다. 또 다른 메시지가 와 있다. "오전에 회의 있어요." 역시. 한숨을 쉰다. 하지만 일어난다. 이게 내 선택인지, 아니면 상황의 선택인지는 모르겠다. 하지만 분명한 건 새벽 2시에 나는 여전히 터미널을 열고 있다는 것이다. 그리고 내일도, 모레도 그럴 것 같다. 아마도 계속.결국 악순환은 한 가지 더 하다가 시작하는 게 아니라, 그것을 멈출 사람이 없다는 데서 비롯된다.
- 02 Dec, 2025
AWS 콘솔, 내 유일한 악몽의 원천
AWS 콘솔, 내 유일한 악몽의 원천 점심을 먹고 있었다. 김밥이었다. 회사 근처 편의점 김밥. 3500원짜리 그것. 슬랙을 봤다. 안 봐야 할 걸. 스타트업이라 전사 채널에서 무언가 자꾸 울린다. 어? 빌링 얘기다. 대표가 물었다. "이번 달 AWS 비용이 왜 또 올랐어?" 김밥을 씹는 손이 멈췄다. 입에는 밥이 들어있는데 머리는 이미 AWS 콘솔로 날아가 있었다. 마우스를 쥐었다. 노트북을 켰다. 모니터를 본 순간, 이번 달 비용이 나를 노려보고 있었다. 6500만원. 지난달은 5800만원이었다. 700만원이 또 올랐다. 뭐를 했는가? 뭐를 했지?"언제부턴데 인프라가 내 일이 됐어?" 내 직함은 풀스택 개발자다. 근데 이게 뭐 하는 일인지 아무도 모른다. 나도 안다. 전부 하는 거다. 프론트엔드를 쓰고, 백엔드를 짜고, DB를 만들고, 클라우드에 올리고, 모니터링하고, 장애 나면 고치고. 그리고 이제 인프라 비용까지 노려보고 있다. 누가 정했냐면, 스스로다. 아니다. 대표가 정했다. "너 클라우드 잘 알잖아. 인프라 봐줄 수 있지?" 첫 날에 "세팅해드리겠습니다"라고 했다. 빅 실수다. 그건 이제 내 책임이 됐다. EC2, RDS, S3, CloudFront, Lambda, 뭔지도 모르는 것들. 다 내 책임. 컴퓨터가 켜지면 나한테 온다. 컴퓨터가 꺼져도 온다. 관리 콘솔에 로그인하는 순간부터, 나는 더 이상 개발자가 아니다. 나는 DevOps도 아니고 인프라 엔지니어도 아니다. 그냥... 누군가는 해야 하니까 하는 사람이 되는 거다. 6개월 전에는 몰랐다. 무언가 잘못되면 "아, 뭔가 이상한데?" 정도. 지금은 다르다. AWS 콘솔을 열면 대시보드가 날 쏴다본다. 비용, 비용, 비용. 그래프가 꺾이질 않는다.비용 상승곡선과 내 멘탈 점심에 김밥을 마시고 (물론 씹었지만 마신 기분) AWS 콘솔을 들었을 때, 첫 번째 확인할 것은 역시 청구서다. 아니, 청구서는 월 말에 나온다. 예상 비용. 현재 진행 중인 이 달의 악몽. "Cost Explorer"라는 이름이 웃기다. 마치 비용을 탐험하고 즐기는 것처럼 들린다. 나는 탐험 중이다. 매일매일 새로운 비용 항목을 발견한다.RDS: 왜 이렇게 비싼데? 디비 한 개잖아. 아 근데 자동 백업이 스토리지 3배를 쓰네? EC2: 24시간 켜놓은 t3.xlarge. 혼자 백엔드 서버, 캐시, 배치 작업 다 돌려. 돈을 안 들 수가 없지. NAT Gateway: 존재도 몰랐다. 그냥... 있더라. 월 32만원. 뭐하는 애인데? CloudFront: CDN이라고 하더니 뭔가 계속 비용이 난다. 그 외 모르는 것들: 로깅, 모니터링, 뭐... 뭐하는 애들인데 돈이 자꾸 나온다.사실 대부분은 필요 없다. 근데 없애면 장애가 난다. 자동 백업을 없애면 DB 터지면 끝이다. NAT Gateway를 없애면 프라이빗 서브넷에서 나갈 수가 없다. 뭔지는 몰라도 없애면 안 된다. 그래서 매달 700만원씩 올라간다. 어디서? 모른다. 알고 싶지도 않다. 알면 뭘 하나? 고칠 게 있나? 없다.독당한 기술 의사결정 스타트업이니까 "비용 최적화"를 해야 한다고 했다. 대표가. 개발팀(나)에게. 비용 최적화. 아름다운 단어다. 그래서 뭐를 했나?RDS 자동 백업 주기를 2주 -> 3주로 늘렸다. 누가 2주 백업이 필요한지는 몰라도 일단 줄였다. EC2를 t3에서 t2로 낮추려 했다. 근데 앱이 자꾸 튕긴다. 다시 올렸다. S3 스토리지 클래스를 GLACIER로 바꾸려 했다. 원본 이미지를 다 Glacier에 넣었다. 그다음 날 대표가 이미지를 빨리 가져와야 한다고 했다. 돈을 더 써서 복구했다.그 다음부턴 손을 안 댔다. 너무 아프다. 눈도 아프고 마음도 아프다. 대신 나는 깨달았다. "효율"과 "안정성"은 거의 항상 돈으로 결정된다는 걸. 그리고 그 돈은 항상 내가 마주쳐야 한다는 걸. 대표는 "좀 줄여봐"라고 한다. 개발팀(나)는 "줄이면 터져요"라고 한다. 결국 현상 유지다. 그리고 비용은 해마다 올라간다. 뭐, 서비스가 성장하니까 당연하다고 생각한다. 근데 매달 확인할 때마다 속이 철렁거린다. 700만원. 그게 내 월급의 15분의 1이다. 콘솔 탭이 자꾸 늘어나는 이유 AWS 콘솔을 켜면 탭이 자꾸 많아진다.Billing Dashboard: 얼마나 썼나 Cost Explorer: 어디에 썼나 EC2 콘솔: 서버 뭐하는지 RDS 콘솔: DB 건강한가 CloudWatch: 로그는 떠 있나 Lambda: 배치 작업 돌고 있나 VPC: 네트워크 어떻게 돼 있나 S3: 파일 경로 맞나 IAM: 권한 누가 뭐 했나 Support: 뭔가 에러가 떴나보통 8개에서 12개 탭 사이를 오간다. 모두 불안감에서 출발한다. 혼자라는 게 문제다. 만약 누군가 인프라를 담당한다면 나는 이 탭들을 절대 열지 않을 것이다. 열 필요가 없으니까. 근데 혼자니까 뭐가 잘못되면 나한테 온다. 그래서 계속 본다. 문제가 없어도 본다. 있을 것 같아서. 장애 나면 AWS 콘솔이 첫 번째 범죄 현장이 된다. "뭐가 터졌어? 여기도? 저기도?" 진짜 터진 건 보통 뭔가 설정이 자동으로 이상해진 거다. AWS 업데이트, 누군가의 실수, 아니면 그냥 "이 정도면 될 줄 알았는데?" 같은 내 판단 미스. 그럼 나는 구글링을 한다. StackOverflow를 본다. AWS 공식 문서를 읽는다. 대부분 읽을 수 없다. 너무 복잡하다. 그래서 결국 "off-on"을 한다. 다시 켰다 껐다 한다. 신기하게 그럼 된다. 70%의 경우. 30%는? 야근을 한다. [IMAGE_4] 매달 월급의 일부가 구름으로 올라간다 4800만원을 받는다. 세금을 떼니까 3600만원 정도다. 월급이 300만원이다. 그런데 AWS 비용이 650만원이다. 같은 회사에서 나오는 돈이다. 내가 받는 월급보다 2배 이상이 인프라에 간다. 이게 맞나? 하는 생각이 자꾸 든다. 근데 이건 내가 정할 일이 아니다. 인프라 비용은 "사업"이다. 내 월급과 다르다. 하지만 내가 챙겨야 한다. "좀 줄여봐" 또 들을 거다. 매달 들을 거다. 그러면 또 뭔가를 없애거나 설정을 바꿀 거다. 그럼 또 뭐가 터질 거다. 그럼 또 밤을 새울 거다. 악순환이다. 근데 악순환인 줄 알면서도 못 빠져나간다. 왜냐하면 이게 내 책임이니까. 누가 물으면 "제가 봐야겠습니다"라고 대답한다. 매번. 비용 최적화 계획 (3번째) 처음엔 "앗, 인프라 공부해야겠다"는 마음으로 시작했다. 지금은 다르다. 깨달았다. 공부해봐야 같은 거다. 정보는 많지만 답은 없다. 왜냐하면 최적이란 개념이 없으니까. 있는 건 "트레이드오프"뿐이다.비용 줄이다가 장애 난다. 장애 안 나게 하다가 비용이 올라간다. 비용 최적화하다가 서비스 느려진다. 서비스 빨리하다가 비용이 올라간다.현재 우리는 "적당한 비용에 적당히 괜찮은 서비스"를 하고 있다. 누군가는 "저 비용 줄일 수 있지 않나?"라고 생각한다. 그 누군가는 보통 개발비는 안 들어본 사람이다. 나는 매달 3번은 AWS 비용 줄이는 계획을 짠다. 계획은 실행되지 않는다. 왜냐하면 우선순위가 항상 "새 기능"이니까. 그럼 다음달엔 비용이 또 올라간다.아직도 AWS 콘솔을 매일 본다 점심을 마치고 노트북을 닫으려던 순간, 또 봤다. Billing 탭. 이번 달은 700만원인가? 아니면 800만원인가? 알고 싶은데 알고 싶지 않은 그런 기분. 의사가 검사 결과를 내밀려고 할 때 그 기분. 어쨌든 난 본다. 매일.[IMAGE_1] [IMAGE_2] [IMAGE_3] [IMAGE_4]