본문 바로가기
실용주의 프로그래머

1장. 실용주의 철학

by 아토로 2022. 3. 19.

오늘 읽은 범위

  • 추천사
  • 2판 서문
  • 1판 서문
  • 1장. 실용주의 철학

기억하고 싶은 내용

  • 각 상황에서 좋은 해결 방안을 고를 수 있도록 충분한 배경지식과 경험을 쌓아야 한다.
  • 당신에게는 에이전시(agncy)가 있다.
    • 당신은 당신의 조직을 바꾸거나. 당신의 조직을 바꿀 수 있다. (마틴 파울러)
  • 어설픈 변명 말고 대안을 제시하라.
    • 리팩터링의 가치를 설명해 줘라.
    • 최선의 방법을 결정하기 위해 프로토타입을 만들어라.
    • 테스트를 개선하거나, 재발을 방지하기 위해 자동화를 도입해라.
  • 깨진 창문을 내버려 두지 말라.
    • 불쾌한 코드를 주석 처리 하거나, ‘아직 구현되지 않았음'이라고 메시지를 표시하거나. 가짜(dummy) 데이터로 대치해 놓아라.
    • 어떤 위기가 찾아왔다고 해서 부가적인 피해를 일으키지 말라.
  • 변화의 촉매가 되라.
  • 큰 그림을 기억하라.
    • 당장 하고 있는 일에만 정신을 쏟지 말고, 주변에서 무슨 일이 벌어지는지 늘 살펴보라.
  • 품질을 요구 사항으로 만들어라.
    • 오늘의 훌륭한 소프트웨어는 많은 경우 환상에 불과한 내일의 완벽한 소프트웨어보다 낫다.
  • 지식 포트폴리오에 주기적으로 투자하라.
    • 매년 새로운 언어를 최소 하나는 배워라.
    • 기술 서적을 한 달에 한 권씩 읽어라.
    • 기술 서적이 아닌 책도 읽어라.
    • 수업을 들어라.
    • 지역 사용자 단체나 모임에 참여하라.
    • 다른 환경에서 실험해 보라.
    • 요즘 흐름을 놓치지 말라.
  • 읽고 듣는 것을 비판적으로 분석하라.
    • 왜냐고 다서 번 묻기
    • 누구에게 이익이 되나?
    • 어떤 맥락인가?
    • 언제 혹은 어디서 효과가 있을까?
    • 왜 이것이 문제인가.
  • 한국어든 영어든 하나의 프로그래밍 언어일 뿐이다.
  • 무엇을 말하는가와 어떻게 말하는가 모두 중요하다.
    • 소통하면서 청중에 대한 지식을 쌓아 나가라.
    • 상대가 무엇을 원하는지 알았다면 원하는 것을 이루어 주자.
    • 말하는 내용뿐 아니라 말하는 시점도 적절하게 하라.
    • 전달하는 스타일을 청중에 어울리도록 조정하라.
    • 그들의 말을 경청하라.
  • 문서를 애초에 포함하고, 나중에 집어넣으려고 하지 말라.

소감 및 생각

  • 깨진 창문을 내버려 두지 말라는 말이 인상 깊었다. 깨끗한 코드를 망가뜨리기 시작하는 건 어렵지만, 한번 망가진 코드를 더 망가뜨리는 것은 정말 쉬운 것 같다. 가끔 더 좋은 방법을 생각하기 귀찮거나, 기존에 하던 방식이니까 의심 없이 안 좋은 방법을 사용하는 경우가 의외로 많은 것 같다. 결국 그렇게 망가지기 시작한 코드는 다시 되돌리기 힘들어질 것이다.
  • 그동안 학습을 한다고 했었지만 이 책에서 말하는 지식 포트폴리오에 대한 내용을 보니 내가 너무 편협적으로 학습을 해왔던 게 아닌가 하는 반성이 되었다. 좀 더 다양한 경로와 방법으로 학습을 할 수 있도록 해야겠다고 생각이 들었다.

새롭게 배운 개념

  • 에이전시(agency): the ability to take or to choose what action to take, 주체적으로 원하는 행동을 고르고 행할 수 있는 능력
  • 엔트로피(entropy): 시스템 내의 ‘무질서'한 정도
  • 기능 블로트(feature cloat): 소프트웨어가 쓰는 기능에 비해 훨씬 더 많은 기능을 가지고 있는데, 기능이 많은 만큼 버그나 보안 취약점이 생길 가능성도 높은 것을 말한다.

'실용주의 프로그래머' 카테고리의 다른 글

4장. 실용주의 편집증  (0) 2022.05.19
3장. 기본 도구  (0) 2022.03.23
2장. 실용주의 접근법  (0) 2022.03.21

댓글