예전에는 운이 좋으면 좋은 사수가 곁에서 소프트웨어 개발이라는 넓은 세계의 지도를 조금씩 보여주었습니다. 낯선 코드베이스를 어떻게 읽는지, 운영 환경에서는 왜 예상하지 못한 문제가 생기는지, 내가 만든 기능이 사용자에게 어떤 경험으로 전달되는지, 좋은 개발자는 어떤 관점으로 일해야 하는지를 옆에서 배울 수 있었습니다. 하지만 AI 도구가 빠르게 확산되고, 팀의 구조와 일하는 방식이 바뀌면서 주니어 개발자가 예전처럼 곁에서 차근차근 배울 기회를 얻기 어려운 경우가 많아졌습니다.
이 책은 그런 시대의 개발자에게 좋은 길잡이가 되어줄 수 있습니다. 특정 기술 하나를 깊게 파는 책이라기보다, 개발자가 일을 오래 해나가며 반드시 마주치게 되는 기본기를 넓게 보여주는 책입니다. 특히 인상적이었던 부분은 이 책이 개발자의 일을 코드 안쪽에만 가두지 않는다는 점입니다. 개발자가 결국 프로덕트를 만드는 사람이라는 사실을 다시 일깨워주거나(7장), 운영 환경을 배포 이후의 절차로 미뤄두지 말고 코드를 작성하는 순간부터 성능, 보안, 오류 처리, 로그, 설정, 모니터링을 함께 생각해야 함을 이야기합니다(10장), AI를 공포나 낙관의 대상이 아니라 개발자의 역량을 증폭하는 도구임을 강조하고, 코드 생성이 쉬워질수록 더 중요해지는 것은 코드를 읽고, 검토하고, 테스트하고, 운영 가능한 시스템으로 책임지는 능력임을 상기시켜줍니다(15장).
개발자로 성장한다는 것은 어느 날 갑자기 시니어라는 이름표를 다는 일이 아닙니다. 모르는 것을 인정하고, 낯선 시스템 앞에서 물러서지 않으며, 내가 작성한 코드가 다른 사람과 사용자와 운영 환경에 어떤 영향을 주는지 생각하는 습관을 쌓아가는 일입니다. 그 길을 혼자 걷고 있다고 느끼는 개발자에게, 이 책은 예전의 좋은 사수처럼 곁에서 차근차근 시야를 넓혀주는 안내자가 되어줄 것입니다.