책 이야기

[도서] 개발자 원칙

끄적끄적 2023. 2. 12. 14:04

 

마켓컬리의 박성철님, 몰로코의 박종천님, 인프런의 이동욱님 등 익히 알려지신 9명의 기술리더들이 개발자로 살아오면서 다듬어온 자신만의 원칙을 소개하는 책이다. 책 전체적으로 연결성이나 짜임새는 조금 떨어지지만 가볍게 읽기에는 좋은 책이다.

박성철님(마켓컬리 본부장) : 쓸모 있는 일을 하자
학창시절 은둔형으로 집에서 컴퓨터만 하면서 보내다가 군대를 가서, 사람들끼리 서로 영향을 주고 받으며 큰 일을 할 수 있다는 것을 깨닫게 된다. 대학시절 후배의 퀴즈 대회에 쓸 프로그램을 간단히 만들어 주었는데, 잘 활용되는 것을 보고 쓸모있는 소프트웨어를 만들고 싶다는 생각을 하게 된다.
직장에서 여러 경험을 하면서 깨우친 전문가가 되기 위해 필요한 요소로 아래의 것들을 얘기한다.
 1. 전문역량(프로그래밍 등) + 일반역량(커뮤니케이션 등)
 2. 동기(일에 대해 개인적 의미를 찾아 내적 동기를 가지는 것. 성장, 도전, 성취, 의미 등)
 3. 동기 벡터(성과와 일하는 동기가 얼마나 방향성이 일치하는 가)
 4. 연대(1+1이 2이상이 되도록 만드는 것)

강대명(레몬트리 CTO) : 오류를 만날때가 가장 성장하기 좋을 때다.
오류가 발생하면 단순히 구글검색이나 개발자 커뮤니티에 답변을 보고, 오류 해결에만 만족해서는 안된다.
오픈소스의 소스코드 레벨에서 관련 에러에 대한 원인과 해결책을 살펴보고, 그것으로 얻게된 지식을 글로 공개하고 피드백을 받으면 많은 것을 얻을 수 있다.

이동욱(네피림) : 프로덕트에 집중하자
배워야할 기술의 양은 너무 많고 복잡하므로, 기술을 목표로 하기 보다는 만들고자 하는 프로덕트에 집중하는 것이 좋다.
그리고, 프로덕트도 한번에 완벽히 만들려고 하기보다는 점진적이고 반복적으로 애자일 방법론으로 만드는 것이 좋다.|
픽사에서도 애니메이션을 만들 때 처음에는 연필로 그린 스케치부터 점진적으로 개선시켜 나간다.
https://www.youtube.com/watch?v=a0VilAhbg5U

 

이동욱(향로, 인프런) : 제어할 수 없는 것에 의존하지 않기
우리는 업무에서 항상 퀄리티와 일정 두가지를 만족하기를 요구받는다.
따라서 프로그래머에게 요구되는 것은 100점이 아닌 80~90점짜리 프로그램을 기한 내에 완성하는 일이다.
그를 위해서는 DRY(Do not Repeat Yourself), YAGNI, KISS(Keep It Simple Stupid) 등 여러 원칙을 준수해야 하지만, 그 중에서도 제어할 수 없는 것에 의존하지 않기를 애정한다.
자신이 제어할 수 없는 현실 세계의 속성(ex. 주민번호)이나 메서드안에서 현재 시간으로 분기를 타는 등의 로직은 테스트 구현도 어렵고, 외부에 의해 의존되기 쉽다.(매개변수로 빼내서 내부에서 의존하지 않게 바꿀 수 있다.
회사를 선택할 때도 투자라는 외부 속성에 의존하기 보다는 꾸준히 수익이 나는 예측가능한 회사를 선택하였다.
조직을 운영함에 있어서도 자신이 제어할 수 없는 항목들(연봉, 채용 등)에 집착하기 보다는 제어할 수 있는 항목들 중심으로 구성원들을 설득해 나갔다.

장동수(패스트캠퍼스 CTO) : 달리는 기차의 바퀴를 갈아 끼우는 방법
1. Make it work, then make it better : 일단 동작하게 만든 다음 더 좋게 만들어라.
    우선 동작하게 만들어 기한을 지키고, 밥값을 한 다음에는 Make it better(유연성, 성능 등)을 고민하라

2. 언제나 발견했을 때보다 깨끗하게 해놓고 캠핑장을 떠나라 : 보이스카웃 정신

3. 바퀴를 새로 발명하는 일의 좋은 점은 둥근 바퀴를 얻을 수 있다는 점이다.
   이미 만들어진 것에 다시 만드는 것을 주저했다면, 우리는 bash나 zsh을 만나볼 수 없고, 최초의 sh(1977)을 사용하고 있을지도 모른다.
  바퀴를 다시 발명하면 대부분 실패할 수 있지만, 그 원리를 더 잘 이해하게 되고, 과정속에서 많은 것을 배울 수 있다.
 은탄환은 없다. 많이 읽고, 많이 쓰고, 많이 생각해야 한다. 

코딩을 잘 하려면 많이 읽어야 합니다. 코드를 많이 읽어도 코딩을 잘 못할 수 는 있습니다. 그러나 코드를 많이 읽지 않고도 코딩을 잘하는 것은 불가능합니다.    - 유시민의 글쓰기 특강(책 -> 코딩)

 

반응형