jrcfore***
2023-08-27

주니어-중니어 그 사이의 단계에 있는 개발자들을 위한 지침서. 이제 막 주니어와 중니어를 매니징 하기 시작한 시니어에게 간략한 지침이 되어줄 수 있는 책.
이 책은 개발을 오랜 기간 해오며 시니어 자리에 이른 저자의 개발 일대기를 기반으로 이제 막 실무에 투입되어 개발자로서의 커리어를 쌓기 시작한 주니어들이 알아두면 좋을 법한 내용들을 총괄한 책이다.
물론 중니어(주니어 + 연차 3년 이상)를 비롯한 시니어도 이 책을 통해서 얻어 갈 법한 내용이 많을 것이란 생각이 들긴 하지만, 어느 정도 실무에서의 경험이 있고 개발을 비롯한 매니징까지 경험해 본 개발자라면 거의 한 번쯤은 생각해 봤을 법한 내용들이 수록되어 있다.
또한 책에서 저자의 다양한 경험을 기반으로 사례에 기반한 저자가 주장하는 이론과 배움의 필요성에 대해사 적극 어필하고 있다는 점에서 해당 도서는 틀림없이 매력을 가지고 있다고 평하고 싶다.
그렇기에 이 책은 이제 막 실무에 투입되어 개발자로써 커리어를 쌓아가기 시작한 주니어에게는 필독서까지는 아니더라도 지침서로써 추천하고, 중니어와 시니어급의 개발자들이라면 다른 개발자는 개발자로써 살아가며 어떤 커리어를 쌓기 위해서 분투하였고 또한 어떤 고뇌를 느꼈는지 직/간접 체험하기 적당한 도서라는 점에서 추천한다.
【책의 구성】 "육각형 개발자"의 구성은?
이 책은 11개의 챕터로 구성되어 있으며, 각 장마다 저자의 경험에 기반한 사례 케이스를 기반으로 저자가 주장하는 이론의 필요성과 중요성에 대해 논평하고 있다.
특히 책 중간중간 다른 개발자 혹은 여러 사람들의 글과 말을 인용한 부분이 있는데, 정말 공감 가고 마음에 와닿는 글귀가 많았기에 해당 책을 스터디 하는 독자가 있다면 꼭 마음에 새겨두시길 바란다.
그중 한 어록을 발취하자면 아래와 같다.
' 이끌거나, 따르거나, 비켜서라' - XNN 창업자 테드 터너
5 챕터(장) : 응집도와 결합도
이 챕터에서는 코드를 구성함에 있어서 응집도와 결합도가 왜 중요한지에 대해서 사례 케이스를 통해 설명하고 있다.
응집도라함은 간단히 말해서 여러 개의 논리 도메인이 있을 때, 각각의 논리 도메인에 맞게 코드들을 분리하여 서로 간의 의존성을 격리하고 관계된 코드들만을 집중하여 각 도메인에 위치시키게 하는 것을 의미한다.
또한 결합도라함은 서로 다른 도메인의 코드가 서로 연관되어 의존 관계를 가짐을 의미한다.
그렇기에 시중에 있는 대부분의 전공서와 마찬가지로 이 책에서도 응집도는 높고 결합도는 낮게라는 철칙에 따라 프로젝트를 구성하길 권하고 있다.
7 챕터(장) : 테스트
대부분의 개발자들이 신규 기술을 이용한 새로운 서비스 개발에는 관심이 많은 편이다. 하지만 유지 보수와 테스트 코드 작성 그리고 통합 테스트 구축과 같은 운영 관련 업무는 지루하고 괴로운 일이라 치부하는 편이다.
아무래도 유지 보수의 경우 신기술을 배울 기회도 적을뿐 더려 하는 일의 양에 비해 실적이나 본인 성장에 있어서 큰 도움이 안 된다고 생각하는 경향이 강하기 때문일 것이다.
하지만 다년간 개발자로써 살아온 필자의 경험에 빗대어 볼 때, 이는 잘못된 생각이다. 특히, 서비스의 안정성을 보장하기 위한 테스트 코드를 구축하고 이를 통합 테스트와 연동하여 서비스의 안정성을 도모한다는 것은 신규 서비스 개발 못지않게 배울 점이 많고 많은 것을 체득할 수 있는 기회이기 때문이다.
또한 테스트 코드가 구축되지 않은 상태에서 해당 서비스가 배포되거나 사용자에게 노출된다는 것은 추후 막대한 운영 코스트와 서비스 신뢰 저하라는 대가를 치를 명분을 스스로에게 짊어지게 하는 것과 같다.
11챕터(장) : 리더와 팔로워
회사 생활을 크게 두 부류로 나뉜다. 프로젝트를 총괄하는 사람과 이를 따르는 사람.
즉, 지위 고하를 막론하고 이 세상의 모든 조직은 위에 말한 것과 같이 리더-팔로워로 나뉘어있다고 봐도 무방할 만큼 둘 사이의 관계는 때려야 땔 수 없는 관계라 할 수 있다.
해당 챕터에서는 리더와 팔로워가 갖춰야 할 덕목과 자세에 대해서 정리하고 있다. 저자는 팔로워라 하여 영원히 팔로워가 아니며 리더라 하여 영원히 리더가 아니므로 서로의 능력 고양을 위해 항상 힘써야 하며 또한 서로의 역할에 단순히 선을 그어 학습을 제한하지 말고 항상 준비된 자세와 열린 마음으로 상호 필요한 역량을 발전시킬 것을 당부하고 있다.
또한 리더와 팔로워로 둘은 서로 간 상하의 관계에 따라 존속해가는 것이 아닌 상호 보완하며 나아가야 할 관계임을 강조함으로써 리더와 팔로우 관계가 수동적인 관계가 아님을 강조하고 있다.
【 육각형 개발자를 읽고 나서 】
오랜만에 상당히 읽기 편한 책을 리뷰하게 된 것 같다. (책의 내용이 편하다고 하여 결단고 책의 내용이 부실하거나 가볍다는 것은 아니므로 오해하지 않으셨으면 한다.)
개발자로써 살아간다는 것은 어찌 보면 상당히 피로한 일일 수 있다. 왜냐하면 수시로 변화하는 IT 생태계에서 개발자로써 역량을 다하려면 끊임없이 학습하고 스스로를 갈고닦아야 하기 때문이다. 무엇보다 하루가 다르게 흥망성쇠를 번복하는 수많은 기술들을 바라보고 있노라면 절로 피로가 몸에 스며드는 것 같다.
하지만, 이 책의 저자가 신신당부한 바와 같이 세상에 존재하는 모든 지식을 습득하기 위해 자신의 시간을 허비해서는 안 된다. 가장 중요한 것은 '선택과 집중' 즉, 우리가 가진 리소스는 한정되어 있음을 자각하고 우리의 시간을 우리가 해야 할 업에 최대한 도움이 될법한 것들에 투자해야 함을 의미한다.
그렇기에 우리의 인생이 한층 의미 있는 것이 아닐까?