당신의 창고를 보호하세요
It looks like only the source line was provided. Could you please share the text you’d like translated to Korean? Once I have the content, I’ll translate it while keeping the source line unchanged.
고층 건물에서 창고까지: 엔지니어를 살아 있게 하는 것
고층 건물을 짓는 일은 거대한 프로젝트입니다. 첫 번째 강철 빔을 주문하기 전에도 건축 설계도, 시청 허가, 안전 감사가 필요합니다. 수개월 혹은 수년에 걸쳐 수백 명이 협업해야 합니다. 단순히 석고보드를 붙이고 건물이 무게를 견디길 바랄 수는 없습니다.
반면에 뒷마당 창고는 설계도도, 허가도, 감사도 필요 없습니다. 목재와 톱만 있으면 바로 망치를 들 수 있습니다. 약간 바람이 새고 비가 많이 오면 지붕이 새는 정도일 뿐, 주말 하루 만에 직접 지을 수 있습니다.
나의 두 가지 직업 모드
- 주간 직업: 엔터프라이즈 규모의 은행 시스템 구축.
- 야간 취미: 창고에서 마음 가는 대로 무언가를 만들기—때로는 성공하고, 때로는 실패하는 사이드 프로젝트.
이 두 가지를 급여를 받는 일과 즐거움을 위한 일로 구분하기 쉽습니다. 하지만 내 경력의 이 장을 되돌아보면 근본적인 사실을 깨달았습니다.
- 엔터프라이즈 작업은 대규모 엔지니어링 방법을 가르쳐 주었습니다.
- 개인 프로젝트는 내가 엔지니어로 남아 있게 해 주었습니다.
“나는 항상 후배 개발자들에게 사이드 프로젝트를 유지하는 것이 인터뷰 준비나 LeetCode 풀이보다 커리어에 더 큰 도움이 된다고 말합니다.”
핵심 정리
- 규모 vs. 열정: 대규모 시스템은 규율을, 작은 프로젝트는 열정을 유지시켜 줍니다.
- 지속적인 학습: 사이드 프로젝트는 실험하고, 실패하고, 반복하도록 강요합니다—엄격히 규제된 제품에서는 얻기 힘든 스킬입니다.
- 경력 성장: 개인 작업 포트폴리오는 완벽한 인터뷰 점수보다 더 큰 영향을 미칩니다.
두 세계를 균형 있게 유지하면 일상적인 엔지니어링 업무가 평생의 장인 작업으로 변합니다. 고층 건물이든 간단한 창고든, 계속해서 만들어 나가세요.
규모의 물리학 배우기
초반에 눈에 띄는 점은 실제 코드를 작성하는 일이 전체 작업의 일부에 불과하다는 것입니다. 설계 문서, 테스트 계획, 그리고 아키텍처 검토가 존재합니다. 실제 구축 단계는 업무의 일부분에 불과하다고 느껴질 수 있습니다.
하지만 바로 그 주변 작업이 대규모로 구축을 가능하게 합니다. 주요 은행이 처리하는 방대한 거래량을 다룰 때는 설계 단계를 건너뛰거나 테스트를 대충 할 수 없습니다. 이러한 단계들은 모두 앞선 사람이 그 중요성을 힘들게 배운 결과 존재합니다.
얻는 것
- 도달할 수 없는 규모에 접근 – Cloud Spanner와 같은 도구를 사용하게 됩니다. 이는 전 세계에 분산된 강력한 일관성을 가진 데이터베이스로, 노트북에서는 절대 시뮬레이션할 수 없습니다.
- 방어적인 설계 마인드셋 – 기능을 생각하기 전에 실패 모드에 대해 고민하기 시작합니다.
트레이드‑오프
그 규모에는 비용이 따릅니다: 경직성. 당신은 거대한 사이트에서 단일 작업자입니다. 재료를 선택할 기회가 거의 없고, 기초를 실험할 기회도 드뭅니다.
설계도를 집으로 가져가기
Shed는 현장에서 배운 설계도를 실제로 가지고 놀 수 있는 곳입니다.
초기에는 개인 프로젝트가 엉망이었습니다. 아키텍처는 생각보다 뒤에 고려되는—아예 생각조차 하지 않았던 경우가 많았죠. 전형적인 shed 행동이었습니다. 하지만 시간이 지나면서 업무에서 배운 패턴이 자연스럽게 스며들기 시작했습니다.
시스템을 설계하면서 장애를 우아하게 처리하도록 만드는 데 충분히 시간을 투자하면, 그 과정이 자동 파일럿처럼 몸에 배게 됩니다. 홈랩이 가장 좋은 예시입니다: 한 대의 머신에 하나의 컨테이너로 시작했지만, 결국 자동 배포와 코드로 정의된 인프라를 갖춘 관리형 클러스터로 성장했습니다.
이는 고층 빌딩에서 배운 구조적 규율을 완전한 자유를 누릴 수 있는 공간에 적용한 것입니다. 개인 프로젝트가 더 이상 무너지지 않게 되었습니다. 여전히 빠르게, 내 방식대로 구축하지만 이제는 견고하게 고정돼 있습니다. 기업 환경은 구조적 무결성의 규칙을 가르쳐 주었고, shed는 실제로 설계자가 될 수 있는 장소를 제공했습니다.
The Freedom to Break Things
당신이 스스로를 위해 개발할 때, 나쁜 결정의 비용은 낭비된 저녁 시간뿐입니다. 직장에서 잘못된 접근을 선택하면 실제 팀과 실제 고객에게 영향을 미칩니다.
그 빠른 피드백 루프가 the shed를 매우 가치 있게 만드는 이유입니다. 당신은 개발자이자, 리뷰어이며, 사용자입니다. 무언가를 부수고 다시 만들면서 그 느낌을 직접 확인할 수 있습니다.
Why I Tinker
- 나는 Game Boy Advance emulator in Go 를 세상에 필요해서가 아니라 하드웨어가 그 수준에서 어떻게 동작하는지 이해하고 싶어서 만들었습니다.
- 나는 직장에서 한 번도 다뤄보지 않은 도구들을 사용해 서비스를 구축해 보며 그 트레이드‑오프를 이해하려고 했습니다.
- 제안서를 작성하지 않고도 한 번도 사용해 보지 않은 도구를 직접 시도해 볼 수 있습니다.
이러한 실험 대부분은 스타트업 아이디어로 이어지지는 않지만, 모두 뭔가를 남깁니다:
- 새로운 패턴.
- 하지 말아야 할 것에 대한 교훈.
- 세상에 존재하는 것들에 대한 넓은 시야.
The Shed Keeps Curiosity Alive
엔터프라이즈 업무는 매우 가치가 있지만, 사람을 지치게 할 수 있습니다. 스프린트가 뒤섞이고, 티켓 큐는 절대 줄어들지 않으며, 문제들이 반복되는 느낌을 줍니다. 개인 프로젝트는 소프트웨어를 만드는 것이 실제로 재미있다는 것을 기억하게 해줍니다.
Example: 경력 초기에 나는 컨테이너화와 클라우드 인프라에 익숙하지 않았습니다. 직장에서의 학습 곡선은 가파랐지만, 집에서 GCP에 컨테이너화된 시스템을 직접 구축하면서 개념을 더 빨리 습득할 수 있었습니다. 양쪽에서 경험을 쌓은 셈이죠.
이 패턴은 내 경력 전반에 걸쳐 반복되었습니다:
- 주말 실험 – 호기심 때문에 shed에서 무언가를 시도합니다.
- 학습 단계 – 트레이드‑오프, 거친 부분, 문서화되지 않은 특이점을 발견합니다.
- 업무 시간 이점 – 몇 달 후 팀이 같은 도구나 접근 방식을 평가할 때, 당신은 제로부터 시작하지 않아도 됩니다.
이미 자신의 환경에서 부수고, 스스로 도구를 평가하고, 고충을 체험했기 때문에, 업무에 나가 추측이 아닌 정보에 기반한 판단을 할 수 있습니다.
The Trap
소프트웨어 엔지니어링의 함정은 당신의 일자리가 당신의 전체 기술이라고 생각하는 것입니다.
- 고층 빌딩만 짓는 엔지니어는 결국 번아웃됩니다.
- 문제는 반복되고, 프로세스는 답답해지며, 창의적인 불꽃은 사그라듭니다.
- 당신은 원해서 만들던 것이 아니라 비즈니스 요구 때문에 만들기 시작합니다.
그 결과, 당신은 날카로움을 잃게 됩니다.
Protect Your Personal Projects
- 철저히 보호하세요. 여기서 당신의 호기심이 살아 있습니다.
- 자유롭게 실험하세요. 자신을 빌더로 정의하는 공간으로 활용하고, 단순히 직원으로만 머무르지 마세요.
- 균형: 엔터프라이즈는 살아남을 수 있는 코드를 쓰는 방법을 가르쳐 주고, shed는 여전히 코드를 쓰고 싶게 만들어 줍니다.