실용주의 프로그래머라는 책을 읽으며, 삼색볼펜 독서법을 적용. 줄 친 내용에 대한 단상을 정리합니다.
삼색볼펜 스터디란? 책에서 중요하다고 생각되는 문장을 빨강 > 파랑 > 검정 순으로 줄을 치며 공부하는 방식.
🔴 가장 중요한 문장
🔵 그래도 꽤 중요한 문장
⚫ 그럭저럭 내 마음에 와닿은 문장
🤔 짧은 생각 (단상은 단상일뿐!!)
볼드체 중요한 문장은 아니지만 단락 구분 표시
Topic 4. 돌멩이 수프와 삶은 개구리
🤔 변화를 촉진하기 위해서는 조그마한 것부터 시작해야한다는 내용. 돌멩이 수프는 조그마한 변화가 큰 변화를 일으킨다는 긍정적인 내용이고, 삶은 개구리는 조그만한 변화가 돌이킬 수 없는 피해를 초래한다는 부정적인 내용이다.
도전
⚫ 변화를 촉진하려고 할 때 여러분이 돌멩이 수프를 만드는 지 아니면 개구리 스프를 만드는 지 어떻게 판단할 수 있을까? 그 판단은 주관적인가, 객관적인가?
🤔 주관적일 수 밖에 없다. 객관적이라면 이 변화가 어떤 결과를 가져올 지에 대한 명확한 증거가 있다는 건데…그게 어디 말처럼 쉬울까. 사람들과 대화 하며 의견을 많이 나누는 수밖에...
총평
🤔 갑자기 겁이 나는 대목…자기 확신에 찬 상태로 변화를 만든다면, 그 결과는 좋을 수도 있고 안 좋을 수도 있다. 흠. 갑자기 멈칫거리게 되는 걸.
Topic 5. 적당히 괜찮은 소프트웨어
타협과정에 사용자를 참여시켜라.
🔵 품질을 요구 사항으로 만들어라.
🤔 기획자들로부터 요구 사항을 받으면, 개발해야하는 스펙만 명시되어있는 경우가 대부분이다. 그런데 실제로 진행하다보면, 숨어있는 품질에 대한 요구사항이 생각보다 많다. 명시적인 스펙보다 더 까다로운 그런 것들... 내/외부 마케팅적인 이슈나 현실적인 시스템 구조 등으로 인해 표면적인 스펙과 품질 사이에 줄다리기를 해야하는 일들이 빈번하다.
⚫ 우리는 적당한 타협이 필요한 상황에 자주 처한다.
🤔 그래서 적당한 타협이 필요하다. 장애 확률이 0.00000000…1%인 소프트웨어를 만들기 위해 1년을 투자할지, 장애 확률 0.0001%인 소프트웨어를 만들기 위해 6개월을 투자할지를 항상 선택해야 한다. 난 물론 항상 후자를 선택한다고 주장한다.
⚫ 오늘의 훌륭한 소프트웨어는 많은 경우 환상에 불과한 내일의 완벽한 소프트웨어보다 낫다.
🤔 맞다. 오늘의 스펙이 내일 없어질 수도 있다. 대내외적인 규제나 규정, 다른 모종의 이유들로 현재의 스펙이 불변하리라 믿는건 너무 순진하다. 깨진 유리창을 만들지 않는 선에서, 빠른 아웃풋을 내는 게 완성도보다 더 중요한 경우가 많다.
멈춰야 할 때를 알라
⚫ 완벽하게 훌륭한 프로그램을 과도하게 장식하거나 지나칠 정도로 다듬느라 망치지 말라.
🤔 이따금씩, 개발자들이 장인 정신을 발휘할 때가 있다. 갑자기 훌륭한 기술서적을 읽고 돌아왔다던지, 근사한 강의를 들었다던지, 타 회사 사례나 유명 블로그에 적힌 걸 보고 왔다던지…걔 중에는 정말 객관적으로 효율적이고 안정적인 접근법과 솔루션 있겠지만, 만약 플러스 알파 정도라면…나중을 기약하며 이런게 있다 정도로 알아두는 것만으로도 충분하다.
총평
🤔 협업을 위해 유념해야 할 단락. 기획자간의 업무 협의는 물론이고, 같은 개발자끼리도 협업을 진행할 때 필요한 것들. 세상에 완벽한건 없다. 그렇다고 대충 만들지는 말자!
'성장의 흔적 > 실용주의 프로그래머를 읽고' 카테고리의 다른 글
[실용주의 프로그래머]를 읽고 #1. 1장. 실용주의 철학. Topic 1 ~ 3. (0) | 2025.01.25 |
---|