[백엔드 신입~4년 차] 회사 서버가 터져야만, 시스템을 배울 수 있을까요?
45
"재고가 1개인데, 주문이 2건 들어왔습니다."
"방금 작성한 글이 새로고침하니 사라졌습니다."
"캐시를 지웠는데, 왜 이전 가격이 계속 보이죠?"
여러분의 서비스에서 이런 일이 벌어진다면, 어디서부터 문제를 찾으시겠습니까?
그리고 이 질문에 답할 줄 안다면, 채용 시장이 얼어붙었다는 말에 내 경쟁력까지 얼어붙었다고 생각하지는 않을 겁니다.
Redis, 트랜잭션, 인덱스, 복제본.
아마 기술의 이름은 익숙할 겁니다. 책에서도 봤고, 강의에서도 들었고, 직접 사용해 본 적도 있을 겁니다.
그런데 '왜 이런 문제가 발생했는지', '어떤 선택이 이 문제를 만들었는지', '그 선택을 바꾸면 무엇을 잃는지' 묻기 시작하면 이야기는 달라집니다.
"저희 회사는 트래픽이 작아서 그런 경험이 없어요."
200명 넘는 개발자분들을 멘토링하면서 정말 자주 들었던 이야기입니다.
대용량 트래픽을 경험해 보지 못해서, 장애를 직접 해결해 보지 못해서, 시스템 설계에 대한 자신이 없다는 겁니다.
그런데 한번 생각해 봅시다.
그렇다면 우리는 회사의 트래픽이 커지고, 서버가 터지고, 실제 장애가 발생할 때까지 기다려야만 성장할 수 있는 걸까요?
저는 그렇게 생각하지 않습니다.
우리가 통제할 수 없는 건 회사의 트래픽이지, 문제를 바라보는 사고의 깊이까지는 아니니까요.
수백만 명이 사용하는 서비스에서 일하지 않더라도, 수백만 명이 사용하는 서비스가 왜 무너지는지 공부할 수 있습니다.
실제 장애를 겪지 않았더라도, 어떤 설계가 어떤 장애를 만들어 내는지 미리 고민하고 판단해 볼 수 있습니다.
경험의 크기가 사고의 크기를 결정하게 두지 마세요.
그래서, 이번에는 함께 읽습니다.
백엔드 엔지니어의 필독서로 꼽히는 『데이터 중심 애플리케이션 설계(DDIA)』.
그릿 딥다이브 3기에서는 이 책의 1~12장을 5주 동안 함께 읽고, 매주 하나의 실제적인 시스템 문제를 놓고 토론합니다.
1주 차: 사용자가 10배 늘면, 무엇이 먼저 무너질까?
2주 차: 인덱스를 걸었는데, 왜 쓰기가 더 느려질까?
3주 차: 방금 작성한 글이, 왜 새로고침하면 사라질까?
4주 차: 트랜잭션을 걸었는데, 왜 재고가 마이너스가 될까?
5주 차: 캐시를 지웠는데, 왜 옛날 값이 계속 보일까?
중요한 건 책의 내용을 얼마나 많이 외우느냐가 아닙니다.
매주 자신의 가설을 세우고, 다른 개발자들의 판단과 부딪히고, 반박을 받으며, 다시 설계합니다.
"왜 그렇게 생각하셨어요?"
"다른 방법은 없나요?"
"그렇게 하면 새로운 문제는 생기지 않나요?"
책은 정답을 알려줄 수 있습니다. 하지만 내가 그 정답을 정말 이해했는지는, 누군가 반박하기 전까지 알기 어렵습니다.
그래서 강의가 아니라 토론입니다.
그런데, 혼자 읽으면 되는 거 아닌가요?
책은 혼자 읽어도 됩니다. 무료 스터디도 많습니다.
그런데 혼자 공부하면 질문조차 내가 아는 세계 안에서만 나옵니다.
지난 1기 Redis, 2기 Kafka 딥다이브를 거친 분들은 이런 이야기를 남겼습니다.
"단어를 아는 것에서 나아가 이유와 흐름으로 설명하는 법을 배운 한 주였다."
"옵션 하나가 아니라 여러 옵션의 조합을 고민해봐야 한다는 걸 배운 한 주."
같은 기술을 공부했지만, 달라진 건 지식의 양이 아니라 문제를 바라보는 시야였습니다.
생각해 보면 그렇습니다.
한 사람의 커리어로 경험할 수 있는 장애는 한정되어 있습니다. 하지만 우리가 배울 수 있는 경험까지 한정할 이유는 없잖아요.
누군가의 몇 년에 걸친 시행착오가 내게는 단 한 번의 질문이 될 수 있고, 내가 한 번도 마주하지 못한 문제가 다른 누군가에게는 어제의 장애였을 수 있습니다.
책에는 지식이 담겨 있지만, 사람에게는 그 지식이 현실과 부딪힌 흔적이 남아 있습니다.
99,000원은 책을 함께 읽는 비용이 아닙니다. 서로 다른 경험과 관점을 가진 개발자들이 5주 동안 자신의 판단을 꺼내고, 부딪히고, 함께 성장하는 기회에 대한 투자입니다.
혼자서는 몇 년 뒤에야 마주할 질문을, 지금 먼저 만나보세요.
이런 분들에게 권합니다.
회사 트래픽이 작아 대용량 시스템 경험이 부족하다고 느끼는 분
Redis, Kafka, 트랜잭션은 알지만 설계의 '왜?'에 막히는 분
운영 경험이 없어도 시스템 설계의 사고방식을 익히고 싶은 취준생
DDIA를 사놓고 앞부분만 읽다 덮어버린 분
혼자 읽고 이해하는 것을 넘어, 동료들과 치열하게 토론하고 싶은 분
그릿 딥다이브 3기 모집 안내
시작: 11월 12일(목) 오후 8시
기간: 5주, 매주 목요일 2시간 온라인 라이브
방식: 소규모 토론 및 설계 판단 기록
정원: 15명
참가비: 99,000원 (도서 별도 준비)
환불: 첫 라이브 시작 전까지 전액 환불
직접 읽고 생각하며 참여하는 스터디입니다. 최소 4회 이상 참석할 수 있는 분들께 권합니다.
마지막으로 한 가지 말씀드리고 싶습니다.
좋은 엔지니어가 되기 위해 반드시 모든 장애를 직접 겪어야 하는 건 아닙니다.
하지만 자신이 선택한 설계가 어디에서, 왜, 어떻게 무너지는지는 고민해 봐야 합니다.
트래픽이 커진 뒤에야 비로소 생각하기 시작하는 사람과, 그 전에 이미 수없이 고민해 본 사람.
같은 장애를 만나더라도 출발선이 같을 수는 없을 겁니다.
경험할 기회가 오기만 기다리지 마세요. 그 기회가 왔을 때 준비된 사람이 되세요.
팀그릿 홈페이지 · 그릿 딥다이브 3기
답변 0





