지식을 쌓기 위해 읽는 것을 멈추십시오. 문제를 해결하기 위해 읽기 시작하십시오.
대부분의 엔지니어링 독서 목록은 지식을 수집하는 데 집중합니다.
현대의 엔지니어링은 한 가지에 보상합니다. 바로 병목 현상을 제거하는 것입니다.
최근 한 주니어 엔지니어가 엔지니어를 위한 최고의 도서 10권 목록을 보여주었습니다. 그것은 10년 전의 목록과 다를 바 없었습니다. 여전히 오래된 고전과 프로세스 관련 서적들에 의존하고 있었습니다.
그 가정은 틀렸습니다. 책을 읽는다고 해서 자동으로 더 나은 엔지니어가 되는 것은 아닙니다.
성과가 높은 팀은 책을 중심으로 학습 계획을 세우지 않습니다. 그들은 제약 사항(constraints)을 중심으로 계획을 세웁니다.
일반적인 독서 목록은 모든 지식이 동일한 가치를 지닌다고 가정합니다. 하지만 현실에서 엔지니어링의 가치는 여러분의 구체적인 상황에 따라 달라집니다.
- 데이터베이스 문제에 직면한 백엔드 엔지니어에게 애자일(Agile) 서적은 필요하지 않습니다.
- AI 비용이 높은 팀에게 일반적인 소프트웨어 서적은 필요하지 않습니다.
- 지연 시간(latency) 문제로 고민하는 스타트업에게 리더십 프레임워크는 필요하지 않습니다.
이들에게 필요한 것은 눈앞에 놓인 구체적인 병목 현상에 대한 해결책입니다.
엔지니어링은 완결성이 아니라 관련성(relevance)에 보상합니다.
데이터베이스나 네트워킹 같은 기본기는 여전히 중요합니다. 하지만 그것만으로는 더 이상 충분하지 않습니다. 현대의 시스템은 AI 추론(inference) 비용과 같은 새로운 과제들을 가져옵니다.
수십 년 동안 엔지니어들은 결정론적(deterministic) 시스템에서 작업해 왔습니다. 동일한 입력은 항상 동일한 출력을 만들어냈습니다.
오늘날 많은 시스템은 확률론적(probabilistic)입니다. AI 프롬프트는 매번 다른 응답을 내놓을 수 있습니다. 모델을 업그레이드하면 코드를 전혀 건드리지 않고도 앱의 동작 방식이 바뀔 수 있습니다.
새로운 질문들이 여러분의 업무를 이끕니다:
- 품질을 어떻게 평가할 것인가?
- 예측 불가능한 구성 요소를 어떻게 관리할 것인가?
가장 뛰어난 엔지니어는 책을 끝내기 위해서가 아니라 메커니즘을 이해하기 위해 읽습니다. 그들은 병목 현상을 찾아내고, 이를 해결하는 데 필요한 구체적인 로직을 학습합니다.
- 지연 시간이 높다면, 배칭(batching)을 공부하십시오.
- 컨텍스트(context)가 유실된다면, 검색(retrieval)을 공부하십시오.
- AI 에이전트가 실패한다면, 평가(evaluation)를 공부하십시오.
이는 학습을 실제 프로덕션 결과와 연결합니다. 여러분의 지식은 즉각적인 레버리지가 됩니다.
이 학습 루프를 사용하십시오:
- 병목 현상을 식별합니다.
- 이를 해결할 구체적인 리소스를 찾습니다.
- 시스템에 적용합니다.
다음 책을 읽기 시작하기 전에 스스로에게 한 가지 질문을 던져보십시오: 지금 내 시스템에서 가장 큰 제약 사항은 무엇인가?
지연 시간인가, 비용인가, 신뢰성인가, 아니면 관찰 가능성(observability)인가?
그 문제를 정면으로 다루는 리소스를 찾으십시오. 가장 인기 있는 책을 고르지 마십시오. 여러분의 제약 사항을 해결해 줄 책을 고르십시오.
엔지니어링은 독서 경연 대회가 아닙니다. 제약 조건을 해결하는 전문직입니다. 다음에 무엇을 배울지는 당신의 시스템이 결정하게 하세요.
학습 커뮤니티(선택 사항): https://t.me/GyaanSetuAi