요즘 개발자를 위한 시스템 설계 수업 - 기초 개념부터 X·인스타그램·구글 독스·넷플릭스 사례 학습과 면접 대비까지
디렌드라 신하.테자스 초프라 지음, 양문규 옮김 / 길벗 / 2025년 9월
평점 :
장바구니담기



개발자 채용시장은 갈 수록 더 추워지고 있습니다. 개발자가 되고자 하는 수요는 늘어나는 데 이를 받아 줄 회사의 TO는 보이지 않고 있기 때문입니다. 비단 AI의 문제라기 보다는 사측 입장에서는 상향 평준화된 이력서나 포토폴리오를 보면서 채용공고에 올라가기 전에 내부 추천 등으로 끝나는 경우가 많습니다. 이때 가장 중요한 점은 면접이겠죠. 회사와 나의 컬쳐 핏이 맞는지. 그리고 추구하는 방향성이 맞는지. 서로 서로 확인하는 과정을 거칩니다. 최근 과제 전형을 하는 회사 경우 AI를 적극 활용해서 제출 하면서 시스템 설계 문제로 면접이 이어지는 경우가 많다고 합니다. 그만큼 개발 기술은 기본이며 도메인 지식과 협업하는 커뮤니케이션 기술까지 자세히 보겠다는 점을 알 수 있습니다. 이에 도움을 줄 책이 나왔습니다. 바로 요즘 개발자를 위한 시스템 설계 수업 책인데요. 구글 및 넷플릭스 개발자들이 썼습니다. 주된 내용은 시스템 설계에 대한 기본적인 용어에 대한 설명과 분산처리에 대해서 얇고 넓게 알려줍니다. 이를 통해 빅테크 기업에서 주로 시스템 설계 관련한 면접이 어떻게 이루어지는지 약감의 감을 잡게끔 도움을 주는데요. 이 책에 대해서 자세히 알아보도록 하겠습니다.





1) 카프카, 분산시스템 중요성

대규모 데이터를 낮은 지연 시간으로 처리하는 현대 분산 시스템에서 핵심 역할을 하는 것은 바로 카프카입니다. 카프카는 메시지 브로커(Message Broker)로서, 데이터 생산자(producer)와 소비자(consumer) 간에 데이터를 효율적이고 안정적으로 전달하는 중개자 역할을 수행합니다. ​ 이는 생산자와 소비자 시스템을 느슨하게 결합해 서로 독립적으로 동작할 수 있게 하는 시스템 구성 요소입니다. 


이 과정에서 Avro나 gRPC 같은 경량화된 통신 프로토콜을 사용하면 메시지의 크기가 줄어들어 기존 HTTP 대비 대역폭 사용이 적어져 지연 시간이 감소하는 효과도 있습니다. ​ 다만 카프카 환경을 구축과 운영 하는 러닝커브가 상당히 높습니다.




2) 시퀀스 다이어그램으로 협업 하기

기획자가 초기에 Confluence에 도메인 관련 내용을 주로 줄글 형태로 전달하는 경우가 많습니다. 특히 백엔드 기획자가 따로 없는 조직에서는 백엔드 개발자가 기획자와 소통하며 도메인 모델에 대한 이해를 명확히 하기 위해 시퀀스 다이어그램을 Mermaid와 같은 도구로 그려서 주고받는 일이 자주 발생합니다. ​ 이런 과정은 도메인의 흐름과 시스템 간 상호작용을 시각적으로 표현하기 때문에 직관적이며, 문제 되는 부분을 빠르게 발견하고 수정하는 데 큰 도움이 됩니다. 


또한 시각적 소통은 문서 기반의 커뮤니케이션에서 발생할 수 있는 오해를 최소화하고 개발 과정에서 설계 오류나 요구사항 불일치를 줄여 줍니다. ​ 특히 시스템 설계에서 도메인 모델은 복잡한 비즈니스 로직과 데이터 흐름을 명확히 표현하는 핵심 요소로 객체 지향적 접근방식과 도메인 주도 설계(DDD) 방법론을 통해 비즈니스 규칙과 시스템 요소를 구분하고 연계하는 역할을 합니다.


이 포스팅은 길벗 출판사에서 책을 받아 주관적으로 작성했습니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo