[책]「개발자의 원칙」

728x90

[책]「개발자의 원칙」

박성철님 | 덕업일치를 넘어서

  • 프로그래머는 여러 사람에게 설명 / 협상을 잘해야 하며, 계획도 잘 세우고 목표를 달성하며 이를 위해 여러 결정도 스스로 내리는 것도 중요하다는 것을 알게 되었다.
  • 게임은 컴퓨터 성능을 최대로 활용하는 분야라는 점이 참신했다.
  • 팀워크는 1 + 1 이 2 이상이 되도록 만드는 것
  • 호황기 이후, 개발자라는 직업에 대한 사명의식을 가지고 책임지는 진짜 전문가를 필요로 하는 사회가 될 것이다.

이동욱님 | 프로덕트 중심주의

  • 프로덕트가 목표라면, 지향해야 할 가치나 목표가 명확해지고, 이를 달성하기 위해 더 디테일한 다음 단계를 고민할 수 있다.
  • 혼자 작업하더라도, 깃/깃플로/풀 리퀘스트 등 활용하여 ‘협업 모드’로 개발을 권장한다.
  • 소프트웨어 제품 제작이나 출시 과정에 관심이 있거나 협업 잘 이해하거나 본인이 만들고 싶은 프로덕트의 기획이나 진행한 경력이 중요하다.
  • 프로덕트를 잘 만들겠다는 목표를 계속 유지 > 무언가를 만드는 일에 참여하는 기쁨을 누릴 수 있다.

강대명님 | 오류를 만날 때가 가장 성장하기 좋을 때다

  • 컴파일 오류를 포함한 오류를 빠르게 해결하는 데에만 급급한 경우가 많았던 것을 반성하게 되었다.
  • 공부할 때 부터 필요성부터 근본을 하나씩 짚어가는 느낌을 받았다.
  • 문제를 해결 했다고 좋은 게 아니라 어떤 걸 해결하는 게 좋은지, 다른 오류는 또 발생하지 않도록 방지하는 등 생각을 확장해서 해보고,
  • 다양한 방법으로 파보면서 공부하는 것도 중요한 것 같다.
  • 눈앞의 목적을 좇아 좀 급하게 해결하게 되었는데 개발자를 대하는 자세가 이런 느낌이라는 걸 생각하게 됨
  • 빠르게 해결하는 것보다, 잘 성장하는 게 좀 더 포인트
  • 공부하는 방법이나 생각하는 방식에 대해서 다시 한번 생각해보는 계기가 되었다.

김정님 | 나의 메이저 버전을 업그레이드하는 마이너 원칙들

  • 챌린지에서 말씀해주신 내용들이 많이 들어가 있었는데, 이유와 배경 대해서 쉽게 풀어주셔서 이해가 쉬웠다

이동욱님 | 제어할 수 없는 것에 의존하지 않기

  • 프로그래머에게 요구되는 것은 100점이 아닌, 80 ~ 90점짜리 프로그램을 기한 내에 완성하는 일
  • 아무리 급해도 항상 80 ~ 90점 짜리 소프트웨어를 개발하는 방법 : 기준과 원칙에 따라 (더 적합한 코드 등) 빠르게 결정하면, 정말 중요한 설계와 선택이 필요할 때 더 깊게 사고할 시간 확보 가능
  • 코드에서 제어할 수 없는 것에 의존하지 않기
  • 절대 변하지 않을 것이라 믿고 의존했던 속성이, 제어할 수 없는 외부의 속성인 경우, 변화에 대응하기 힘들고 무너진다.
    • ex) 주민등록번호의 무분별한 수집이 금지 → 주민등록번호를 주요 키로 사용하던 시스템들은 주민등록번호와 의존성을 끊는 시스템 업데이트 진행 → 주민등록번호가 아닌 직접 만든 키로 설정했다면, 변화에 대응했을 것
  • ⇒ 제어할 수 없는 것에 의존하면 변화에 민감한, 흔들리기 쉬운 소프트웨어가 됨
  • ⇒ 외부에 의존하는 영역을 줄일수록 큰 변화에도 쉽게 흔들리지 않는 견고한 소프트웨어 개발 가능
  • 제어할 수 없는 값에 의존하는 코드를 멀리한다.
  • 모두 제어할 수 있는 값만 의존하게 하여 테스트 코드 작성을 유연하게 함
  • 현실에서도 제어할 수 없는 것에 의존하지 않기
  • 이직을 하고 회사를 선택할 때, 가능하면 투자를 받지 못해도 생존할 수 있는 회사를 선택
    • ⇒ 폭발적 성장의 근원 : 스타트업이었던 조직이 빅테크로 성장하는 과정을 겪었기 때문
    • ⇒ 외부의 요소, 이미 발생한 사건, 결정권이 없는 일 등 제어할 수 없는 것에 의존하지 않고, 제어할 수 있는 것들에만 의존해야 한다.
728x90