코드 컴플리트(Code Complete)의 저자로 유명한 스티브 맥코넬의 책이다.
개인에서 조직으로, 조직에서 업계로, 업계에서 문화로.. 그의 깊은 고민이 담겨 있는 책.
점수 : 7점 만점의 7점 ✴️
★★★★★★★
읽은 기간 📅 : 2020년 11월 19일 ~ 2021년 1월 27일 마감. (정리완료!)
이 책을 추천하는 이들 👨👧
- 소프트웨어 공학의 지평을 넓히고 싶은 사람들.
- 코드 컴플리트를 재밌게 읽은 사람들
난이도 : 난이도는 거의 없는 편이다. 편하게 읽어도 좋은 책.🦈
관련된 책들 📚
- 실용주의 프로그래머 - 앤디 헌트
- 코드 컴플리트 - 스티브 맥코넬 -
- 소프트웨어 프로젝트 생존전략 - 스티브 맥코넬 - [ 해당 책 다음으로 읽을 책이다 ]
한줄 평 ✍️
소프트웨어를 공학적인 "프로세스"로 충분하게 발전시킬 수 있음을 시사해주는 책.
저자의 단단한 지식이 느껴지는 책이다.
해당 책은 IEEE Software지의 Best Practice 칼럼과 from the Editor 칼럼에 기고한 글들을 묶어 출판된 After the Gold Rush ( 캘리포니아 골드러시를 소프트웨어에 비유한 메타포이다)의 개정판이다.
소프트웨어 공학이라는 큰 주제를 배경으로 소프트웨어 공학이 나아가야 할 길을 제시해주는 것에 목적을 두는 책.
2020년 11월 19일부터 읽어서 2021년 1월 28일에 마무리한 책이다.
300쪽 안으로 되는 책.
흠잡을 게 없을 정도로 강력한 내용이다 보니 읽는 시간보다 개인적인 기록으로 정리하는데 걸리는 시간이 더 오래 걸렸다. [ 읽은 시간보다 정리한 시간이 더 오래된 책이다. (이런 책이 정말 명작인 것!!) ]
정리하면서 돌아보니 저자가 제시하는 큰 그림을 다시금 마주치게 되었다.
당시의 소프트웨어 공학의 현실과
소프트웨어 공학에 참여하는 "개인"에 대한 개념 형성과
이후 "조직"에 대한 개념 형성과
"업계"에 대한 개념 형성과
그리고 앞으로 소프트웨어 공학이 나아가야 할 방향 ( 면허/자격증 제도 ) 를 제시하는 것.
책을 읽을 때는 몰랐지만 되짚어 나가며 정리하는 과정을 통해 저자가 소프트웨어 공학을 얼마나 사랑하는지
얼마나 전문적인 영역으로 끌어올리고 싶어하는지를 알게 된 것이다.
[ 이 책이 시사하는 바는 시대를 관통한다. ]
전문성을 가진다는 것의 무게
이 책을 읽고나서 전문성이라는 개념을 사회라는 시스템에서 바라보게 된다.
마지막 부분의 직업의 성숙화라는 개념을 "윤리강령"과 "면허제도와 자격증 제도"로 설명해주는 부분이 너무도 좋았다.
해당 부분을 읽고나서야 전문성이라는 추상적인 개념의 무게감이 잡혔다.
나의 세대는 취업 경쟁에 매우 치열하고
사회에 들어가서도 자기의 밥그릇을 더 넓히고 빼앗기지 않기 위해 서로를 경계하며 살아간다.
그렇게 치열하게 살기 위해선 개인적인 행동과 타인을 위한 행동이 오고 가게 된다.
나는 그게 사회에서 당연한 개인에게 필요한 처세인 줄 알았다.
그게 나를 지키기 위한 헌신인 줄 알았고
그렇게 행동해야 전문성이 날카로워지는 줄 알았다.
그것은 큰 그림을 보지 못한 좁은 시야에서 편협한 생각이었던 것이다.
정말로 전문성을 갖추었다고 자부하기 위해선
스티브 맥코넬과 같은 직업과 문화에 대해서 헌신해야 하는 게 아닌가 한다.
다신 이런 실수가 일어나지 않도록
다신 개인의 탐욕이 사회를 저해하지 않도록
멍청한 경쟁에 뛰어들어 서로가 서로를 죽이는 게임에 참여하지 않도록
그러기 위해선
개인은 자신의 전문성을 길러야 하고
조직은 조직의 전문성 프로세스를 갖춰야 하고
업계는 더 나은 전문성을 위한 약속들을 마련해야 하고
문화적으로는 윤리를 갖추도록 해야 한다.
이 책은 업계에 있는 모두에게 따끔한 충고를 가하는 동시에
각자의 위치에서 반추하도록 도와주는 책이다.
"실용주의 프로그래머"와 같이 읽어서 더 좋았던 책이다. 해당 책은 개인의 전문성을 위한 여러 가지 실천법을 제시해주기에 이 책을 읽으면서 공통적으로 공감되는 부분이 많아서 좋았다.
설계의 관점에서 보면 전문성이란 "강한 응집력(High Cohesion)이다.
소프트웨어 설계에 대한 공부를 하면서
직업병인지 모를 직업적인 시점이 하나 생겼다.
그것은 바로 "강한 응집력과 느슨한 결합"이라는 설계 원칙이었다.
이는 많은 부분에도 활용이 된다.
한의학의 오장육부
친구들과의 인간관계
개인의 전문성
나의 하루 일과 등등에도 말이다.
강한 응집력이라는 관점에서
조직에서 전문성이 떨어진 개인을 다음과 같이 정의하고 싶다.
자신의 역할의 위치가 매우 불안정하고 스스로의 능력이 매우 저조한 사람이지만
다른 사람과의 결합(정치)들을 통해서 자신의 자리를 지키려고 하는 사람들.
살다보면 이런 사람들이 참 많다.
좋은 대학, 좋은 회사에 다니는 친구들이 많다고 자기 자신을 떵떵 거리는 사람들이 있기도 하고
사회에서 꽤나 잘 나가는 사람들의 인맥을 갖추고 있다고 해서 떵떵 거리는 사람들이 있고
조직에서는 남의 실력에 기생하여 결과를 조금씩 빨아먹는 사람들.
그런 사람들을 보면 "전문성"이 떨어진다는 느낌을 받는다.
나도 한때 그랬다.
공부잘하는 친구와 한 팀을 이루어 프로젝트를 진행해서 좋은 결과 얻곤 했다.
그건 나의 전문성을 기르기보단 그 친구와의 결합도를 높였을 뿐이다.
정말 전문성을 기르고 싶다면
그 조직에서 건드리기엔 너무도 강한 역할과 책임을 지닌 그런 사람으로 발전하는 게 어떨까.
독립적인 역할로 강한 응집성을 뛰어 전문성을 인정받는다면
어딜가도 잘 살아남을 것이라 생각된다.
그런 점에서 이 책은 모든 이들에게 강력한 반추를 제공해준다.
다음으로는 저자의 책 소프트웨어 프로젝트 생존전략을 읽고자 한다.
"파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다."
'소프트웨어,IT,컴퓨터공학 도서리뷰 > 개념 서적: (Conceptual Books): TDD, OOP, DDD' 카테고리의 다른 글
테스트 주도 개발 시작하기(TDD) 가메출판사. -최범균 저자- [6/7] [TDD입문에 good!] [2021] (0) | 2021.06.24 |
---|---|
클린코드(Clean Code) - 로버트 C 마틴 [ 4~5/7] [전세계 개발자들에게 좋은 습관을 제시해준 책] [엉클밥] (0) | 2021.06.04 |
클린 소프트웨어 : 애자일 원칙과 패턴, 그리고 실천 방법 - 엉클밥 - [5/7] (1) | 2020.09.17 |
스프링 입문을 위한 자바 객체지향의 원리와 이해 -김종민- 2015년 작 [5/7] (0) | 2020.07.30 |
객체지향의 사실과 오해: 역할, 책임, 협력관점에서 본 객체지향 -조영호 지음- [6/7] (0) | 2020.07.29 |