책에서 차지하는 비중이 인생철학이 반이라면, 나머지는 개발 실무였다. 여러 실무적인 조언 중 가장 인상 깊었던 부분은 SRS 문서에 대한 이야기였다. SRS 문서를 작성하지 않고 개발하는 곳도 많은데, 저자는 반드시 SRS를 먼저 작성하라고 조언했다. 소프트웨어 요구 명세서인 SRS는 기획서이자 설계도다. SRS를 기반으로 소프트웨어를 개발하며, 신입 개발자의 온보딩용으로도 유용하다. 따라서, 중요도가 높은 프로젝트일수록 SRS에 심혈을 기울인다고 한다. SRS가 있으면 프로젝트를 체계적으로 관리할 수 있으며 프로젝트 종결 후 유지 보수가 쉬워진다고 한다.
코드에 개발자의 품격이 담겨 있다고 한다. 코드를 보면 어떤 사람인지 파악할 수 있을 정도라고 한다. 깔끔하면서 구조화되어 있고 다른 개발자가 이해하기 쉽도록 주석이 달려있는 코드를 작성하는 게 핵심이다. 책을 읽고 나니 화장실 표어인 "아름다운 사람은 머문 자리도 아름답다."가 떠올랐다. 코드도 이와 다를 게 없지 않을까. 품격 있는 개발자는 품격 있는 코드를 작성하기 마련 아닐까.
일 잘하는 개발자는 비즈니스 인사이트를 갖춘 사람이라며, 도메인 지식을 도외시하지 말 것을 당부했다. 도메인 지식은 소프트웨어 구현 방법에 대한 기초 지식을 제공하며, 사용자가 필요로 하는 걸 이해할 수 있다고 한다. 얼핏 들으면 당연한 이야기인데, 도메인 지식에 소홀한 개발자도 많기 때문일 거라 지레짐작해 본다. "장인 정신으로 개발하라.", 사용자에게 매력적이고 유용한 소프트웨어를 개발해야 한다는 것이 결론이다.
오랜 경력으로 관리 직군을 거쳐서 그런가, 개발자를 고용한 IT 회사 경영진에 대한 쓴소리도 빠지지 않았다. 개발자는 배우고 성장하지 못하면 도태된다는 생각을 갖기 마련이기에, 회사는 개발자가 성장할 수 있는 환경을 조성하고 확실한 비전을 제시해야 한다. 개발자의 이직률이 높다면, 회사가 명확한 비전을 제시하지 못했기 때문일 가능성이 높다고 한다. 이직률이 높은 데에는 다 이유가 있다.
특히, 게임 업계에서 유명한 크런치 모드(게임 출시 시기에 맞춘 밤샘 근무)는 시니어 개발자는 퇴사를, 주니어 개발자는 경력만 채우고 이직을 하게 하는 악순환으로 이어진다. 개발은 장거리 마라톤이기 때문에 야근을 하지 않는 게 오히려 생산성을 높인다고 한다. 코딩 공장 등 개발 계의 악습이 너무나 유명하기에 별다른 설명이 필요 없었다. 점차 나아지겠지라며, 근거 없는 낙관적으로 미래를 기대하지만, 정부에서 주 69시간제를 거론하는 걸 보면 갈 길이 먼 거 같다.
개발자의 이런저런 이야기를 들을 수 있는 책이었다. 책을 읽으면서, 주변 개발자 친구가 떠오르기도 했고, 데이터를 다루는 나 자신을 되돌아보기도 했다. 개발에 관심이 있거나 개발자로 근무하고 있는 사람이라면, 읽어보는 걸 추천한다.
출판사에게 책을 제공받아 작성한 리뷰입니다