• 육각형 개발자
    기술 도서 2024. 9. 22. 23:46
    반응형

     

    시니어 개발자란 무엇인지, 어떤 역량을 갖고 있어야 하는지 적혀있는 책이다. 저자인 최범균님은 도메인주도개발, 테스트주도개발 등등 책 지필과 인프런 강의 등으로 활동하고 계신 시니어 개발자다.

     

     3년차 쯤에 생각하게 되는 개발자로써 어떻게 성장할지부터, 6~8년차 경력에 실무를 떠나 중간 관리자가 되는 문제까지 시니어가 해주는 경험담이 녹아있는 책이다.

     

     

     

     개발이란 무엇인지 평소에 생각하고 있던 것들을 정리할 수 있었다. 개발자로 당연히 기술이 중요한것은 맞다. 기술의 이해도가 떨어지면, 시스템에 오류가 발생하게되고 시스템의 가치는 떨어지게 된다. 하지만, 개발은 단순히 코딩만을 뜻하는게 아니다. 어떻게하면 일정과 요구사항에 맞는 기능을 잘 개발할 수 있을지, 요청자의 의도를 파악하며 커뮤니케이션하고 대안을 제시하는 능력이 필요하다. 작은 기업에서 내가 기능을 개발 할 수 있는지 여부는 그 기업의 생존 문제일 수도 있다. 결국, 작은 기업의 생존 문제는 개발자의 생존 문제이기도 하다.

     개발은 회사와 나에게 돈을 벌어주는 기능을 만드는 과정이기도 했다. 직,간접적으로 내가 만든 결과물은 회사의 수익에 영향을 주었고, 투자와도 연결이 됐다.
     회사 업무를 하면서 성장한다는 느낌을 받지 못한 이유 중 하나는 개발과 성장을 동일시했기 때문이다.
     이런 요구사항은 현재 시스템의 한계로 구현이 어려울 수 있다. 또는 반대로 요구사항이 논리적으로 이해 안 될 때도 있다. 이럴 때 개발자는 그저 해달라는 대로 해주면 안 된다. 왜 그런 요구를 했는지 이유를 들어봐야 한다.
    늘 "할 수 없다"고만 말하고 대안도 제시하지 않는 개발자가 되어서는 안 된다. 이건 능력문제다. 개발자는 구현할 수 있는 능력만 갖춰야 하는 게 아니라 협업할 줄 아는 자세도 필요하다. 늘 안 된다고 말하는 개발자가 되기 전에 기술 역량과 사회적 역량을 함께 키우는 개발자가 되자.
     경력이 쌓이고 지위가 올라가면 단순히 시키는 일만 하면 안 된다. 아무것도 하지 않는 것보다는 낫지만 바람직한 태도는 아니다. 반대로 누군가에게 일을 맡길 때도 단순히 어떻게 하라고 지시만 하면 안 된다. 일에는 이유와 목적이 있기 때문이다.

     

     

     

    시스템을 출시하는데 큰 노력이 든다. 이렇게 출시한 시스템이 가치가 있는가? 이 책에서 말하는 시스템의 가치는 변하는 세상에 맞게 변해야 한다는 것이다. 그러기 위해서는 유지보수 비용을 낮추는 노력이 필요하고, 유지보수 비용을 낮추기 위해서는 개발자의 역량(코드의 품질 향상: 객체지향, 아키텍처, 기술 이해도 등)이 중요하다. 유지보수 비용이 높다는 것은 개발 비용이 높다는 것이다. 개발 비용이 높다는 것은 개발에 투입된 개발자 인건비를 말하는 것이다.

     소프트웨어 가치를 유지하려면 사용자를 붙잡아야 하는데, 그러기 위해서는 세상의 변화에 맞춰 소프트웨어도 함께 변해야만 한다.
     비개발자는 유지보수성의 중요함을 잘 알지 못한다. 성능 같은 속성은 겉으로 잘 드러나는 반면에 유지보수성은 잘 드러나지 않기 때문이다. 하지만 유지보수성이 나쁘면 시스템을 변경하고 개선하는 데 들어가는 비용이 증가하게 되며 결국 서비스의 경쟁력이 떨어지게 된다.

     

     

     

    코드 품질

     

    책 64페이지~65페이지
    코드 품질과 개발 시간의 관계
    코드 품질과 결함의 관계

     

    코드 품질이 낮은 코드를 이해하기 위해서는 품질이 좋은 코드보다 40% 정도 더 많은 시간이 소요된다.
    https://arxiv.org/pdf/2009.02438

     

     중간중간 기술에 대한 상세한 설명과 저자가 회사에서 실제 경험했던 사례들도 나와있어 어떤 경험으로 이런 철학이 생겼는지 알 수 있어 이해가 쉬웠다. 주니어 개발자, 시니어는 아닌...중니어 개발자가 읽으면 좋을 책이다.

    반응형

    '기술 도서' 카테고리의 다른 글

    기술문서 작성 완벽 가이드  (1) 2024.09.19
    개발자 원칙  (0) 2024.08.18
    스프링 부트 핵심 가이드  (0) 2024.07.07

    댓글

Designed by Tistory.