본문 바로가기

책/IT도서리뷰

The Clean Coder #1

5장까지 읽은 나의 생각


IT업계에서 프로그래머가 아닌 사람도 4장까지 읽는다면 팀간 협업, 제품 출시, 무엇보다 본인의 업무에  도움이 것으로 생각된다.


적어도 이런 부류의 책을 읽으려고 하는, 책에 호기심이 있는 독자는 프로그래밍을 잘하고 싶어하고, 업계종사자로서  프로 다운 프로그래머가 되고 싶어서 읽으려 하지 않을까 하는 추측이다.


자체는 그렇게 어려운 것은 아니지만 생각 정리와 어느정도의 요약이 필요하여 블로그에 정리한다. 


그리고 생각보다 프로가 되려고 노력하지 않는 사람이 주위에 많다. 그리고 그들은 점점 월급 도둑, 에너지 벰파이어로 변해간다.


professional 의 어원


'프로'는 '프로페셔날((professinal)'의 준말로 '숙련된 사람', '직업적 전문가', '직업 선수' 등으로 표기는 외래어이다. 우리 말의 유사한 뜻으로 혼용되어온 장인정신의 '장인(匠人)'은 목공(木工)이나, 도공(陶工) 등과 같이 손으로 물건을 만드는 일을 업(業)으로 하는 사람을 지칭, 또는 그 업에 종사하는 정신을 '장인정신'이라 하며, 장백(匠伯), 장사(匠師) 등의 표현은 사전적 해석으로 볼 수 있다.
프로정신이란 남다른 지식과 기술을 가지면서도 직업을 단순히 돈벌이 수단으로서가 아닌, 자기표현의 수단으로 삼아 여기에 혼(魂)을 불어 넣으므로써 부단의 가치창조를 꾀하고 자기발전을 이루어 나가고자 하는 의지를 말함이다.


밑으로는 책 흐름으로 정리한다.


책에서 다루는 내용

프로 소프트웨어 개발자, 소프트웨어 프로폐셔널리즘에 관한


  • 소프트웨어 프로 무엇인가
  • 프로 어떻게 행동해야 하는가
  • 프로 어떻게 사람들 사이의 대립, 빡빡한 일정, 불합리한 관리자를 감당해 내는가
  • 프로 언제, 어떻게 '아니오'라고 말해야 하는가
  • 프로 어떻게 주위의 압박을 처리하는가


미리 읽어두기

저자는 로머트마틴, 밥 아저씨, 42년차 프로그래머, 이사람이 정의하는 프로 프로그래머는 태도, 원칙, 행동이 프로의 핵심이다. 이 3가지 원칙을 현업에서 고생해가며 알게 되었고, 그 고생했던 내용이 책에 자세히 표현되어 있다.

어쨋거나 첫회사(17살에서 19살까지, 그리고 다시 그 회사에서 18개월)에서 개고생을 했고. 그 때는 "프로" 가 아니었다고 자백함.

저자가 잘못한 일의 목록, 저자가 저지른 범죄사건, 초년생 때 했던 실수를 피할 수 있도록 독자들에게 메시지를 보낸다.

1. 프로의 마음가짐

함부로 바라지 마라

프로페셔널리즘 = 명예와 긍지의 상징이지만 책임과 의무를 나타내기도 한다. 책임이 전부라 해도 과언이 아니다.
회사의 막대한 손해를 입히고, "그럴수도 있지" 라는 생각은 버려라.

책임감을 가져라

1979년 테러다인이란 회사를 다니면서의 경험을 이야기
시스템 업데이트 했는데, 사소한 버그 발생, 테스트를 하지 않고 업데이트 해서 고객의 불만을 감당해야 했다.
고객의 무슨 죄일까. 고객의 데이터 손실 발생, 새 기능도 사용하지 못함, 막대한 손해를 입힘
테스트를 하지 않고 배포하는 행동은 너무 무책임한 행동이다.

무엇보다도 해를 끼치지 마라

버그 만들지 마라. 아무리 기존 시스템이 복잡하더라도 오류에 대한 책임은 사라지지 않는다.


QA를 오류를 찾는 용도로 생각하지 마라. 

오류를 많이 찾는 순으로 QA에게 보상을 주는 시스템은 좋지 않다.

QA가 버그를 찾을 때마다, 사용자에게 버그 제보가 왓을 때 마다, 프로는 놀라움과 분함을 느껴야 마땅하며, 다시는 그런 일이 생기지 않도록 마음을 다져야 한다.


TDD 써라. 테스트 하고 또 테스트 해라

구조에 해를 끼치지 마라

기능을 업데이트 할 때는 최소의 비용을 들여 변경할 수 있어야 한다. 하지만 대부분의 프로젝트는 형편없는 구조 때문에 예측보다 훨씬 더 오래 걸리고 곤란해 진다.
이렇기 때문에 코드는 항상 다듬고 또 다듬고, 개선해야 한다.

전산분야 지식을 익혀라

객체지향, TDD, XP, 페어프로그래밍 등등

끊임없이 배우기, 연습, 짝프로그래밍

여러가지 언어를 배우고, 공부하고, 동일한 기능을 다양한 언어로 개발해라

멘토링

서로 가르치고 배울때 더 큰 이득을 보는 쪽은 선생님 쪽이다.


다음장으로


참고자료

http://tip.daum.net/question/51672526


' > IT도서리뷰' 카테고리의 다른 글

The Clean Coder #6(마지막)  (0) 2017.10.03
The Clean Coder #5  (0) 2017.10.03
The Clean Coder #4  (0) 2017.09.17
The Clean Coder #3  (0) 2017.09.09
The Clean Coder #2  (0) 2017.09.09