주니어 개발자들이 읽으면 좋은 테크 아티클 모음
F-Lab : 상위 1% 개발자들의 멘토링
📌 글 작성
성장에 관심이 많은 F-Lab 백앤드 멘토 Elkein
스타트업 여럿과 NHN, 넷마블, 크래프톤 등을 거쳤으며
게임 산업, 클라우드 플랫폼 개발, 웹 개발 등을 두루 경험한 19년 차 엔지니어
개요
기술 블로그를 운영하는 회사가 한국에도 많아지고 있다.
좋은 개발자에 대한 수요는 경기가 힘들어진 지금도 많으며, 이러한 좋은 개발자를 많이 데려오기 위한 용도와 회사 브랜딩 차원에서도 기술 블로그를 운영한다. 주니어 입장에서 어떠한 회사가 어떠한 이슈를 어떻게 해결하는지 엿봄으로써, 이러한 역량을 가진 동료랑 일하면 좋겠다든지 혹은 이러한 경험을 할 수 있는 회사에서 일하고 싶다는 생각으로 이어질 수 있다. 그리고 이러한 이슈를 해결할 정도의 역량을 가진 사람들을 뽑는다는 허들을 추정해 보는 기준이 될 수도 있겠다.
또한 글을 읽는 것 자체로도 배우고 성장하는 데에 충분히 유용한 경험이 되기도 한다. 이러한 다양한 이득을 얻을 수 있는 관점에서 좋은 기술 블로그, 좋은 블로그 글을 읽는 것이 좋다.
좋은 기술 지식을 습득하는 방법 중 과거에는 책을 더 선호했으나, 기술적인 변화가 빨라지고 (특히 프론트엔드가 조금 더 그런 경향을 가지고 있다고 본다), 기업들도 그러한 변화에 발맞춰 효율을 추구함에 따라서 번역서 혹은 국내 저자의 저서를 기다리기보다는 해외 문서 혹은 기술 블로그에서 정보를 교류하는 일이 좀 더 빈번해졌다고 볼 수 있다. 이러한 관점에서 읽어보면 좋을 기술 블로그 글들과 포인트에 대해서 이야기해 보고자 한다.
링크 모음
구글이 직접 말하는 검색엔진의 원리 (tali.kr)
검색 엔진이 유행처럼 성행하던 시기가 있었다. 바로 한국 인터넷 초기 부흥기 98~2002년이다. 지금의 ChatGPT도 검색 엔진처럼 검색 가능한 공개된 수많은 데이터를 통해 학습한다. 검색 엔진의 원리를 배우면 자료 구조와 알고리즘에 대한 필요성에 대해 절감하게 되기도 하고, 이해가 높아지는 계기가 되기도 한다.
지마켓 대기열 시스템 파헤치기 (gmarket.com)
일정한 성능을 유지하기 위함과 경합을 줄이고 사용자에게 기회를 주는 수를 조정할 수 있는 대기열 시스템, 어떻게 만드는지 궁금하지 않은가?
그 구현에 대해 아주 상세히 공유된 자료다.
인증/인가는 어디에 어떻게 구현해야 할까? (gmarket.com)
서비스를 초기 구축하다 보면 한 번은 구현하게 되는 인증(Authentication)/인가(Authorization) 어디서, 어떻게 구현할 것인지에 대해서 장단이 있는데, 이에 대한 고찰과 이해를 돕는 좋은 글이다.
Sharded MySQL Cluster 도입 배경과 개발기 (부제: 우당탕탕 좌충우돌 개발기) (gmarket.com)
MySQL로 Sharded Cluster를 구축하는 과정에 대해 아주 상세히 설명한다. DB 이해도를 높이는 데에 도움을 받을 수 있는 좋은 글이다.
웹 브라우저에 URL을 입력하면 어떤 일이 생기나요? | Amazon Web Services 한국 블로그
구글, 네이버, 라인, 카카오 등 국내 유수의 회사들이 면접에서 많이 사용했던 문제다.
지금은 많이 알려져 덜 사용되고 있는 면접 질문이 되어버렸지만, 왜 많이 사용된 면접 질문인지는 자세히 읽어보고 이해하면 할수록 좋은 주제라고 볼 수 있겠다.
네이버 메인 페이지의 트래픽 처리 (naver.com)
여전히 많이 이용되고 있는 네이버 메인 페이지가 그 많은 트래픽을 어떻게 처리하는지 궁금하지 않은가? 그 비결에 대해서 네이버가 직접 밝혔다.
How Discord Stores Trillions of Messages
What ScyllaDB Is and Why You Should Care | by Mottakin Chowdhury | Better Programming
국내에서는 NoSQL 하면 MongoDB로 천하 통일되어 가는 감이 있지만, 매우 많은 데이터를 다루는 Discord는 MongoDB → Cassandra → ScyllaDB로 전환해가면서의 이유와 소감, 장단점 등 다양한 정보를 제공해 준다.
실제로 MongoDB는 HotData 개념으로 성능 유지를 위해 꽤나 큰 코스트를 소모하므로 모든 상황에서 선택할 선택지가 아닌데, 이에 대한 설명으로 좋은 교육 자료라고 볼 수 있다.
How Discord Supercharges Network Disks for Extreme Low Latency
디스코드가 DB 저장소 디스크를 다루면서의 고찰과 과정을 상세히 드러내줬다.
Cloud Disk를 RAID로 묶는 과정 등 재밌게 읽을 수 있고, 클라우드에서도 직접 인프라 세팅을 해야 할 때에 대한 과정을 통해 컴퓨터 장치에 대한 이해도에 도움을 줄 것이다.
비동기 서버에서 이벤트 루프를 블록하면 안 되는 이유
- 비동기 서버에서 이벤트 루프를 블록하면 안 되는 이유 1부 - 멀티플렉싱 기반의 다중 접속 서버로 가기까지 (linecorp.com)
- 비동기 서버에서 이벤트 루프를 블록하면 안 되는 이유 2부 - Java NIO와 멀티플렉싱 기반의 다중 접속 서버 (linecorp.com)
- 비동기 서버에서 이벤트 루프를 블록하면 안 되는 이유 3부 - Reactor 패턴과 이벤트 루프 (linecorp.com)
비동기 서버에 로직을 구현할 때 어떻게 해야 하는가를 이해하는 데에 아주 좋은 자료다.
당연하게도 멀티 스레드에 대한 이해를 높이는 것과 그 당위성을 체감하는 데에도 도움을 주고 현재 비동기 처리의 트렌드에 대해서도 공감과 동기부여에 도움을 줄 것이다.
카카오가 직접 회고한 1015 장애사태 원인과 대책 (brunch.co.kr)
국내를 뜨겁게 달궜던 1015 장애 사태에 대한 원인과 대책에 대해 공유된 내용을 정리해 주신 글이다.
많은 내용들로 고 가용성과 재해 복구, 장애 대비 등에 대한 이해도를 높이는 데에 도움이 될 자료다.
Lessons learned from operating our data serving layer | Coupang engineering | Coupang Engineering Blog (medium.com)
데이터 서빙 레이어를 어떻게 운용하는지 알려주는 쿠팡의 자료다.
쿠팡 자체가 글로벌한 인재 비율을 갖춘 기업이기에 영어로 작성되어 있어 국내에 소개가 덜 됐지만, 쿠팡 엔지니어링 블로그 전반적으로 좋은 자료가 많다.
The Missing Semester of Your CS Education (mit.edu)
CS 교육에서 가르쳐 주지 않는 것에 대해서 알려주는 MIT 자료다.
어떠한 것들을 잘 다뤄야 장기적 성장 동력에 도움이 되는 부분들을 갖출 수 있는가에 대해서 말해준다.
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들 (slideshare.net)
시간 활용, 학습 분야 선택, 공부 방식, 진로 결정 등 다양한 관점에서 주니어 분들에게 아주 도움이 크게 될 자료다. 강력 추천한다.
마치며
이렇게 좋은 글들을 읽는 것과 더불어, 지속가능한 개발자 성장 스킬 5가지 (f-lab.kr)에서 언급했듯, 좋은 주제의 글을 상시 접하고 그중에서 내 성장과 맞물렸거나, 앞으로 도움이 될 거 같은 주제에 조금 더 시간과 노력을 기울여 학습하는 습관으로 일상화하는 것이 좋다고 생각한다. 지속성이야말로 무엇보다 중요한 좋은 개발자의 소양이기 때문이다.
물론 이 글에서 추천한 글과 언급한 내용대로 어떠한 관점에 장기적으로 나에게 도움이 될지에 대해서는 많은 글을 접해봐야 하고, 인사이트를 얻는 데에 도움이 되는 글과, 성장에 대한 좋은 조언에 대한 글을 골고루 골랐으니 자신에게 맞는 글들을 보는 안목을 높이는 데에 도움이 되면 좋겠다.
이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.