이펙티브 엔지니어를 읽고

undefcat·2022년 8월 3일
1

X를 읽고

목록 보기
6/7
post-thumbnail

간단 요약

이 책에서 딱 한 가지만 기억한다면 다음 문장을 기억하라.

"가장 제한적인 자산은 시간이며, 레버리지(투자한 시간당 생산한 가치)는 시간을 가장 중요한 곳에 쏟게 해준다."

우리는 늘 스스로에게 질문해야 한다.

  • 지금 하는 일이 현재 목표를 위해 가장 높은 레버리지를 내는가?
  • 그렇지 않다면 그 일을 해야 할 이유가 무엇인가?

이펙티브 엔지니어는 더 오랜 시간을 일해서 더 많은 일을 하려는 사람이 아니다. 이펙티브 엔지니어는 업무를 효율적으로 완수하고, 제한된 시간에 더 많은 가치를 생산하는 사람이다.

책을 읽게 된 배경

이 책은 알라딘의 추천마법사에서 저에게 추천해줬던 책입니다. 목차를 보니 나름 괜찮은 내용이라 생각되어 사려고 했는데, 기술서는 아니고 자기계발서라 전자책이 나오면 사려고 찜해뒀던 책입니다.

그런데 우연찮게 같은 회사 개발자분께서 길벗 리뷰어 참여 관련 링크를 공유해주셨고, 별 생각 없이 봤다가 이펙티브 엔지니어 책이 있는 것을 발견하고 신청했습니다.

그리고 이렇게 당첨이 됐네요. 뭔가 이벤트에 당첨된 일은 처음이라 좀 얼떨떨 하기도 했습니다.

덕분에 출퇴근길을 매우 알차게 보냈네요.

목차는 여기서 확인할 수 있습니다.

저자 소개

저자는 구글에서 검색 품질 개발자로 있다가 우얄라라는 회사를 거쳐서 Quora에 초창기에 합류하고, 현재는 Quip의 개발자로 일하고 있다고 합니다.

저는 구글과 Quora밖에 모르긴 하지만, 훌륭하신 개발자라는건 부정할 수 없는 사실이겠습니다.

오랜 시간 개발자로 일한 만큼, 저자는 팀을 이끄는 관리자였던 사람입니다. 이 책은 어떻게 개발자로 성장해야 하는지, 어떤 관리자가 되어야 하는지에 대한 통찰을 주는 책입니다.

즉, 신입 개발자부터 관리자에 이르기까지 모든 개발자들이 읽으면 도움이 되는 책입니다.

레버리지

이 책의 핵심내용 입니다. 바로 높은 레버리지에 투자하라는 것이죠. 빌 게이츠의 말대로 세상이 불공평하긴 하지만, 딱 하나 공평한게 있다면 모든 이들에게 하루 24시간이 주어진다는 것입니다. 따라서, 우리는 24시간으로 가장 효율이 높은 일들을 해야만 우리의 가치를 더 효율적으로 높일 수 있습니다.

너무 당연한 말이라고 생각될 수 있습니다. 아마 모르는 사람이 없을 것입니다.

그런데 도대체 어떤일에 투자를 해야 하는지, 어떻게 투자를 해야 하는지는 막연할 수 있습니다. 이 책은 그에 대한 답을 주는 책입니다.

레버리지가 높은 일이 어떤 일이며, 어떻게 해야하는지 저자가 답변해줍니다.

그 답변에 대해 몇 가지만 알아보도록 하겠습니다.

반복을 줄여라

단지 DRY원칙을 얘기하는 것이 아닙니다. 사실 어떻게 보면 정말 뻔한 얘기일지도 모릅니다. CI/CD 환경을 구성하고, 반복되는 수작업들을 자동화하여 시간을 벌어야 합니다.

우리에게 가장 귀중한건 시간입니다. 시간을 확보해야 높은 레버리지에 투자를 더 많이 할 수 있습니다.

측정하라

막연한 추측은 의미가 없습니다. 섣부른 최적화는 하지 말라고 하죠. 명확한 데이터가 없다면, 그것에 대해 깊이 생각하는 것은 철학에서는 몰라도 기술에서는 의미가 없습니다. 측정하지 않으면 모릅니다.

트위터는 서비스 시작 후 2년 동안 어떠한 모니터링도 하지 않았다고 합니다. 마치 눈가리고 비행했다고 하죠. 모니터링을 시작하고 나서야 본인들에게 어떤 문제점들이 있는지 확인할 수 있었고, 그 이후로 서비스는 더욱더 폭발적으로 성장하게 됐죠.

우리는 두 눈으로 문제를 봐야지만 그 다음 할 일을 정할 수 있습니다. 그리고 수많은 문제들 중에서 어떤 문제를 해결하는 것이 높은 레버리지를 달성할 수 있는지 판단할 수 있고, 판단할 수 있어야 합니다.

추정하라

한 편으로, 우리는 모든 일을 측정할 수 없습니다. 개발자라면 누구나 반드시 해야만 하는 일이 있죠. 바로 내가 맡은 일을 언제까지 끝낼 수 있는지 추정하는 일입니다.

저자는 프로젝트 추정방법에 대해서도 설명하고 있습니다. 간략히 핵심요약만 정리해보자면 아래와 같습니다.

  • 프로젝트 계획에 추정을 포함시켜라
  • 미지의 변수를 고려해서 일정을 여유 있게 잡아라
  • 측정할 수 있는 마일스톤을 정의하라
  • 가장 위험한 작업을 먼저 하라
  • 초과 근무의 한계를 이해하라

자세한 내용은 책을 통해 확인해보시기 바랍니다.

팀의 성장에 투자하라

팀의 성장이 곧 나의 성장입니다.

"성공한 회사의 일원이 되면 기여한 바에 비해 더 많은 공을 인정받고 성공하지 못한 회사의 일원이 되면 기여한 바에 비해 더 적은 공을 인정받습니다."

혼자만으로는 크게 성장할 수 없습니다. 훌륭한 동료와 함께 같이 일해야 더 큰 성장을 이룰 수 있습니다. 혼자서만 성장이 가능하다면, 회사에 사람들이 모여있진 않겠죠. 개인의 한계는 명확합니다. 그렇기에 우리는 사회를 이뤄 살아가고 있습니다.

정리하며

이 외에도 많은 내용들이 책에 잘 소개되어 있습니다. 개발자가 개발을 잘해야 하는 것은 너무나도 당연한 일입니다. 그러나 우리가 하는 일을 생각해보면, 결국 누군가의 문제를 해결해주는 것이고 그 누군가는 사람입니다.

개발 역시 아직까진 사람들끼리 하는 일입니다. 더 나은 개발자가 되려면, 개발실력 뿐만 아니라 그 이상의 것들을 갖춰야만 하겠죠. 이 책이 아마도 그 해답을 줄 수 있을 것 같습니다.

profile
undefined cat

0개의 댓글