The many journeys of learning Rust
>> Rust learning journeys vary widely — from borrow checker struggles and unlearning habits to LLMs and community support. Key insights on improving resources and reducing silent attrition.
#rustlang#rust
내 주변에 '병특'의 수혜를 받은 사람들이 많기 때문에 조심스러운 이야기지만, 나는 병특 제도가 한국 IT 개발 생태계, 게임 개발 생태계를 편향되게 만든 요인이라고 생각한다.
- 저임금으로 인력을 구하는 것을 당연시 하고
- 남성 위주로 개발조직이 꾸려지는 것에 문제의식을 못느끼고
- 군대 문화/남초 문화가 만연한 것에 긴장하지 않는
이 모든 것들이 병특과의 타��에서 비롯된 것은 아닌지? 에 대해 언젠가는 논의를 해야한다고 생각한다.
징병제 국가에서 징병 열외를 미끼로 청년의 노동력으로 세금 한푼 안들이고 산업에 보조금을 지급하는 형태라 정부 입장에선 무척 매력적이겠으나, '공정'이라는 기준에도 맞지 않고, 여성 STEM 인력에 대한 차별이 발생되는 점에 대해서도 문제의식을 가질 필요가 있다.
예전에 "가상 면접 사례로 배우�� 대규모 시스템 설계 기초"를 정말 재미있게 봤다.
넷플릭스 같은 스트리밍 서비스를 어떻게 설계할지,
트위터 같은 피드 시스템을 어떻게 확장할지,
메신저의 메시지 전달 구조를 어떻게 잡을지.
이런 문제를 두고 백엔드 시니어 개발자분들과 이야기하다 보면 꽤 재미있다.
단순히 면접 문제라기보다,
“우리 팀이라면 어디까지 가져올 수 있을까”
“지금 우리 서비스에는 어떤 부분이 비슷할까”
같은 ���야기로 자연스럽게 이어지기 때문이다.
근데 늘 조금 아쉬웠던 지점이 있다.
이런 시스템 디자인 이야기는 대부분 백엔드나 인프라 관점에서 많이 다뤄진다.
트래픽, 저장소, 메시지 큐, 캐시, 샤딩 같은 주제는 시스템의 뼈대에 가깝다.
그런데 프론트엔드에도 다른 종류의 복잡도가 있다.
예를 들어 Google Docs의 협업 편집 UI는 단순히 textarea 하나를 잘 만드는 문제가 아니다.
여러 사용자의 입력이 동시에 들어오고,
커서와 선택 영역이 실시간으로 바뀌고,
네트워크 지연이 있어도 사용자는 끊김 없이 편집해야 하고,
충돌과 동기화 문제를 사용자가 이해할 수 있는 경험으로 풀어야 한다.
Threads 같은 피드,
Amazon 장바구니,
Netflix 스트리밍 UI,
대규모 대시보드나 운영 콘솔도 마찬가지다.
이건 "컴포넌트를 어떻게 나눌까" 만��� 문제가 아니다.
상태의 원본을 어디에 둘지,
어떤 데이터는 stale해도 되는지,
어떤 화면은 SSR이 맞고 어떤 화면은 CSR로 격리해야 하는지,
문제가 생겼을 때 어떤 telemetry로 추적할지,
사용자가 이해할 수 있는 흐름으로 어떻게 구조화할지의 문제다.
그래서 예전부터 궁금했다.
왜 백엔드 시스템 디자인처럼,
프론트엔드 시스템 디자인을 사례 중심으로 다루는 자료는 많지 않을까
마침 이 빈자리를 꽤 잘 건드리는 강의가 나왔다.
"미국 빅테크 프론트엔드 시스템 디자인 실전"
이 강의는
Threads 피드,
Amazon 장바구니,
Netflix 스트리밍 UI,
Google Docs 협업 편집,
Micro Frontend,
Observability,
Agentic UI 같은 사례를 프론트엔드 관점에서 다룬다.
특히 요즘처럼 AI가 UI 코드와 CRUD 화면을 빠르게 만들어주는 시대에는,
프론트엔드 개발자의 차별점이 “더 빨리 구현하기”에만 있지는 않을 것 같다.
AI가 만든 화면을 그대로 붙이는 사람이 아니라,
복잡한 제품 요구사항을 상태, 데이터 흐름, 렌더링 전략, 성능, 관측성, 사용자 경험으로 구조화할 수 있는 사람이 더 중요해질 가능성이 높다.
프론트엔드를 단순 화면 구현이 아니라
제품과 시스템을 잇는 설계 영역으로 보고 싶은 분들이라면
한 번쯤 살펴봐도 좋은 강의다.
https://t.co/Xe41tyAvnF