갈루아의 반서재

2016년 70번째 책 (6/18~6/21) - 임백준, <대살개문>

 

1. 맥킨지가 미국 보건복지부에 제출한 HealthCare.gov  개발프로젝트 진행 상황에 대한 경고 내용 중

1) 요구 사항이 계속 변하고 있다. → 변하는 요구 사항을 제대로 수용하지 못하는 프로젝트가 있다면, 문제는 그 프로젝트다.

2) 프로젝트의 성공이 무엇을 의미하는지 정확하지 않다. → 누구나 알고 있는 사실을 구태여 정의할 필요는 없다.

3) 외부의 회사나 계약직 개발자에 대한 의존이 지나치다. → 프로젝트의 실패와 성공을 가르는 척도라고 말하기는 어렵다.

4) 모든 진행 단계가 병렬적으로 동시에 수행되고 있다 → 애자일 개발 방법에 따르면 그러한 병렬적 진행이 오히려 자연스러운 것이다.

5) 테스트를 수행할 시간이 절대적으로 부족하다 

6) 모든 것을 한 꺼번에 출시하려고 한다.

문제는 5)와 6) 이다. 테스트 과정에서 웹사이트가 다운되는 일이 자주 있었다고 한다. 이 정도라면 출시를 연기하는 것이 정상이지만, 불행하게도 이 경우에는 '기술'이 아니라 '정치'가 문제였기 때문에 출시를 연기하는 일은 아예 고려 대상이 될 수 없었다는 점이다.  그리고 테스트라는 것이 나중에 몰아서 한꺼번에 수행하는 것이 아니라 설계아 구현 자체와 뗄 수 없는 방식으로 결합되어 있는 '개발과정'의 핵심적인 일부라는 인식도 부족했다.

 

2. 댄 세노르, 사울 싱어 <창업국가, Start-Up Nation>

키워드 : 처츠파 chutzpah - 당돌함, 뻔뻔스러움

 

3. 둠Doom  게임으로 명성을 날린 존 카르맥은 다른 사람들이 몇 달에 걸쳐서 만들만한 복잡한 프로그램을 주말에 뚝딱만들어내기도 했다. 카르맥은 그것도 그냥 만드는 것이 아니라 소프트웨어 내부의 병목을 제거하기 위해서 컴파일러나 복잡한 알고리즘, 혹은 멀티쓰레드 관련 코드를 어셈블리를 이용해서 최적화하는 것으로 유명했다. 프로그래미어가 일할 때는, 그러니까 진짜로 집중해서 일할 때는 디테일 속에 존재하는 신을 만나러 가는 것이다.

디테일에 집착하지 않으면 위대한 성취는 없다. 심지어 적당한 수준의 성취도 없다. 혹여 디테일을 사소함과 혼동해왔다면, 지금부터라도 생각을 달리하기 바란다. 완성의 기준은 타인의 시선이 아니라 자신의 내면에서 울리는 목소리가 되어야 한다.

 

4. 내가 폴리글랏 프로그래밍을 이야기하면서 "어떤 언어를 얼마나 알고 있는가 하는 것보다, 어떤 언어를 얼마나 빨리 배울 수 있는가"하는 것이 중요한 시대가 되고 있다고 말한 것도 비슷한 맥락이다. 빅데이터, 머신러닝, 반응형, 사물인터넷, 멀티 플랫폼의 시대에는 하나의 지식이 생명을 다하는 주기가 짧다. 죽은 지식을 버리고 산 지식을 받아들이는 속도와 능력이 중요한 이유다.

 

5. 그리드(thegrid.io)는 현실이다. 가까운 장래에는 우리가 방문하는 웹 사이트의 대부분은 사람이 아니라 기계가 만든 장소로 변할 것이다. 머신러닝의 기본적인 개념과 그것을 실전에 응용할 수 있는 방법 정도는 알아두는 것이 좋다.

 

6. 내가 돈을 보내는 대상은 어떤 식으로든 이미 나를 중심으로 하는 네트워크에 연결이 되어 있는 대상인 경우가 많다. 그렇다. 이러한 네트워크가 바로 글로벌  IT  기업이 금융서비스에 관심을 두는 두 번째 이유에 해당한다.

화폐의 본질은 정보다. 그리고 정보는 네트워크를 통해서 흐른다. 그렇기 때문에 미래의 금융서비스는 네트워크를 장악하는 회사의 손에 달려 있다. 제이미 다이먼의 우려는 결코 엄살이 아니다.

 

6. 기술적 빚은 실제 빚과 마찬가지로 이자를 발생시킨다. 빠르고 지저분한 방식이 만들어놓은 시스템을 대상으로 작업을 할 때 (지저분하기 때문에) 추가적으로  들여야 하는 노력과 시간이 그러한 이자에 해당한다. 우리는 계속 그러한 이자를 지불하면서 살아갈 수도 있고, 리팩토링을 통해서 지저분한 설계를 바로잡아 원금을 갚을 수도 있다. 

- 마틴 파울러

 

7. 빌 게이츠는 마이크로소프트가 슈퍼스마트 프로그래머를 고용하기를 원한다고 말한 적이 있다. 그가 말하는 슈퍼스마트 프로그래머는 자기가 작성한 코드의 내용을 6개월이 지난 시점에서도 컴퓨터 없이 설명할 수 있는 사람이라고 대답했다.

 

8. 성공을 거두기 원한다면 다른 사람들이 자기를 어떻게 생각하는지에 대해서 생각하지 않는 법을 배워야 한다.

- 존 썬메스 John Sonmez <소프트 기술 Soft Skills>

 

9. 그 많은 내용을 다 알고 있는 사람은 존재하지 않는다는 사실을 깨달으면 된다. 자기가 알아야 한다고 생각하는 내용의 1%라도 제대로 알고 있는 사람도 별로 없다. '이러저러한 것을 알아야 할 것 같은데 나는 언제 그걸 공부하지'라고 생각한 사람은 이미 대부분의 사람보다 많은 것을 알고 있는 사람이라는 뜻이다.

 

10. 행동은 계획어벗이도 성립할 수 있지만, 계획은 행동이 없으면 성립할 수 없다. 행동이 더 중요하다. 아마존에서는 이것을 "행동을 위한 편견 bias for action"이라고 부르고 페이스북에서는 "재빨리 움직여서 파괴하라 move fast and break things"고 말하면서 직원들의 행동을 장려한다. 말하지 말고 행동하라. 세상 사람들이 그대의 말에 귀 기울이지 않는 이유는 말 그 자체는 행동이 아니기 때문이다.

 

임백준의 대살개문
국내도서
저자 : 임백준
출판 : 한빛미디어 2016.05.01
상세보기