Books/실용주의 프로그래머

실용주의 프로그래머 TIL (Day-2)

devmomori 2022. 3. 20. 01:42

오늘 TIL 3줄 요약

  • '깨진 창문'을 고치지 않은 채로 내버려 두지 말자.
  • 지식 포트폴리오 관리는 투자 포트폴리오 관리와 매우 유사하다.
  • 독자를 생각하며 코드를 쓰자

TIL (Today I Learned) 날짜
2022.03.19

오늘 읽은 범위
서문 ~ 1장.실용주의 철학

 


책에서 기억하고 싶은 내용

 

1. 깨진 창문을 내버려두지 말자.

나쁜 설계, 잘못된 결정, 혹은 형편없는 코드 등이 모두 깨진 창문이다. 발견하자 마자 고치자!
적절히 고칠 시간이 없다면 판자로 덮는 것만 이라도 하라한다.
더 이상의 손상을 예방하기 위해 나는 어떤 조치든 취해야 하며 내가 상황을 잘 관리하고 있다는 것을 보여주어야 한다.

2. 지식 포트폴리오 관리는 투자 포트폴리오 관리와 매우 유사하다.

우리에게 있어서 지식과 경험은 가장 중요한 자산이다. 하지만 이 자산들은 '기한이 있는 자산' 이다.
빠르게 변화하는 시장에서 우리의 경험은 옛것, 즉 별 소용없는 것이 될 수 있다.
나의 지식 가치가 떨어진다면, 회사나 클라이언트가 바라보는 나의 가치 역시 떨어진다.

새로운 것을 배우는 능력은 나의 가장 중요한 전략 자산인데 어떻게 배워야할까?

지식 포트폴리오를 관리한다는 것은 투자 포트폴리오를 관리한다는 것과 매우 유사하다고 책을 말한다.

  • 주기적인 투자
  • 다각화
  • 리스크 관리
  • 싸게 사서 비싸게 팔기
  • 검토 및 재조정

위의 내용들을 근거로 책은 몇가지를 제시한다.

  • 매년 새로운 언어를 최소 하나는 배우기
  • 기술 서적을 한달에 한 권은 읽기
  • 기술 서적이 아닌 책도 읽기
  • 수업 듣기 (온라인 대학 강의, 세미나, 컨퍼런스 등)
  • 단체, 모임 참가
  • 다른 환경에서 실험 ( window -> linux)
  • 요즘 흐름을 놓치지 말기

새롭게 배우는 기술들을 영영 프로젝트에서 사용하지 않아도 좋다. 이를 통해 사고가 확장될 것이기 때문이다.

3. 독자를 생각하며 코드를 쓰자

사람을 위한 글을 쓰는 것도 코드를 쓰는 것과 같다. DRY 원칙이나 ETC (easier to change), 자동화 등을 지켜야한다.


 

오늘 읽은 소감? 떠오르는 생각?

리팩토링에 대해 다시 한번 생각하게 됐다. '이미 대부분의 코드가 이러니깐 괜찮겠지' 라는 마음보다 항상 주변을 훑고 더 나은 방향으로 나갈 수 있도록 깨진 창문을 좌시하지 않아야겠다.

내가 바꾸어 나가고 싶은 것들에 대해서 어떻게 다른 사람들을 설득할 수 있을지 한번 더 생각해야겠다. 더불어, 더 나은 결과로 개선할 수 있는 방법을 제시할 수 있는 사람이 돼자.

문서화가 항상 중요하다고하지만 우선순위를 낮게 잡는다는 것에 공감되었다. 나는 내가 맡은 프로젝트를 다른 사람들에게 어떻게 잘 전달할 수 있을까? 실용주의 프로그래머는 문서화를 전체 개발 프로세스의 필요 불가결한 부분으로 받아들인다. 최근 맡은 프로젝트의 README를 작성하면서 전달하고자 하는 많은 내용들이 글로 깔끔하게 풀어지지 않아서 고민이 있었는데, 아무래도 많은 연습이 필요한 것 같다. 또한, 혼자 고민하는 것보다 주변으로부터 많은 피드백을 통해 더 완성도 있는 결과물을 만드는 것이 중요하다.

 

궁금한 내용 또는 잘 이해되지 않는 내용

- 어떻게 문서화를 잘 할 수 있을까?
- 모놀리식과 마이크로서비스의 차이점과 장단점

 

오늘 읽은 다른사람의 TIL