Stripe's monorepo developer environment
Made of Bugs
2012년부터 2019년까지 7년 동안 결제 회사인 Stripe에서 Ruby 모노레포 환경에서 개발자 생산성을 높이기 위한 작업을 했던 경험을 정리한 글입니다. 수년 지나서 다 기억은 안난다고 하지만 꽤 자세히 적혀 있습니다. 비슷한 업무에 관심이 많아서 재미있게 읽었습니다.
Stripe에서는 개발자를 지원하기 위해서 개발자마다 사용할 수 있는 devbox 인스턴스를 지원하기로 했습니다. 이를 통해 새로운 개발자가 들어오면 devbox를 이용해서 바로 개발환경을 설정하도록 지원했습니다.
devbox는 원격 개발환경이라서 개발자의 IDE 선택의 자유도를 주기 위해서 Git 체크아웃은 로컬에서 하도록 하고 여기서 코드 수정이 일어나면 rsync로 devbox에 복사하도록 구현했다고 합니다.
2012년에 비해서는 원격 개발환경이 많이 좋아진 편이긴 하지만 아직도 원격 환경이 그리 편한지는 잘 모르겠습니다. GitHub의 코드스페이스가 나왔을때 원격 환경 중심으로 넘어가려나 싶었지만 저도 막상 묘한 불편함에 적응하지 못하고 로컬을 쓰고 있기도 합니다. 그래서 devbox에 대한 내부 만족도가 어느정도였는지 궁금하네요.
Stripe에서는 이후 HTTP 서비스를 지원하기 위해 devbox에서 요청을 처리할 수 있도록 하고 필요한 기능을 쉽게 쓸수 있도록 CLI도 추가했다고 합니다.
이렇게 다양한 지원을 했지만 이는 Stripe에 이러한 도구를 만들고 유지보수할 엔지니어가 있었기에 가능한 것이었고 이 투자가 성과를 거두려면 고객 엔지니어가 충분해야 한다는데 이부분에도 크게 공감합니다.
빠르게 성장하는 조직은 새 엔지니어가 바로 동작하는 개발자 환경을 가지는 것이 훨씬 중요하고 그보다는 변화가 적은 조직에서는 엔지니어가 내부 도구의 특성과 해결 방법을 배울 수 있고 대부분은 1회성 비용이기 때문에 조직에 따라 접근 방법이 다를 수 있다고 얘기합니다.
https://blog.nelhage.com/post/stripe-dev-environment/
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 9월 14일 오전 12:50
AI들 코딩 스타일이, GPT는 구글같고, Claude는 메타같음. Gemini는 부트캠프..🫢
그래서 응용레벨 코딩에는 Claude가 낫고, 로우레벨 코딩에는 GPT가 나은 편.
* 당연하지만 개인적인 느낌일 뿐 입니다.
클라우드 환경에서의 Redis 라이센스 정책에 의해서 최근 io.valkey 에 대한 마이그레이션을 준비하고 있습니다. Valkey 는 Redis 7.4 미만 버전의 fork 서비스로 현재는 valkey 8.0 까지 release 되었지만, 저희는 아직 Valkey 7.2.x 로 테스트를 하고 있어요.
... 더 보기‘혁신 과장형’ 프로젝트의 스폰서는 성장욕구가 강하고 프로젝트가 조직에 미치는 영향력이 크다. 조직에 영향력이 큰 가짜 프로젝트를 리딩하기 위해서는 똑똑하고 조직에서 잘 나가는 사람이 그런 스폰서가 될 가능성이 높다. 똑똑하고 욕망이 강한 스폰서는 PM에게 매우 위험하다. 왜냐하면 그 스폰서에게 프로젝트는 본인의 성공을 위한 수단이기 때문에 PM을 논리적이면서도 강하게 밀어붙이기 때문이다.
... 더 보기AI 시대를 맞이하면서 우리는 다양한
... 더 보기