딱 하루

오늘이 내게 남은 단 하루인 것 처럼

리뷰/도서

[개발자의 코드] 가본 같은 표지 속 알찬 내용

eJungHyun 2016. 8. 15. 17:32
반응형


이동 중에만 책을 읽었다 보니 완독하는데 시간이 오래걸렸다.

비오는 날 가방 속에 넣어 두었다가 흠뻑 젖어 고생한 책.


2010년 7월. 첫 직장에 정직원으로 취직을 한 후 만 6년이란 시간이 흘렀다.

개발자로서 나는 어떤 사람인가. 어떻게 살아가는 것이 행복한 삶을 살아가는 것일까.

해가 거듭될수록, 나의 부족함이 더 깊게 느껴진다.


이미 같은 길을 걸은 사람들의 이야기가 내 자유로운 도전에 걸림돌이 된 적이 있었다.

그래서 어릴 땐 누군가의 조언이나 그들의 삶의 방식을 엿보는 것이 오히려 내 생각의 정리와 선택의 기준을 설정하는데 방해가 된다 생각했었다.

그러나, 나는 지금 다양한 사람들의 이야기를 어우를 수 있을까.

선배들은 어떻게 살아왔고, 어떤 생각을 하고 있을까. 

내가 오랜 시간 개발자로 살 수 있을까. 여러가지 고민이 되던 찰라, 책꽂이에 꽂혀 있던 이 책이 눈에 띄었다.


'카 와이 청'

개발도 하고 기업의 대표이기도 하다. 내가 꿈꾸는 미래의 삶을 먼저 살고 있는 사람.

이 사람의 개발자에 대한 정의가 흥미롭다.


"프로그래머는 매일매일 여전히 스스로를 정의하는 산업에서 일하는 승인받지 않았지만 지나치게 논리적인 심리학자이자 치료전문가이자 숙련공이고 비즈니스맨이자 선생이다"


뭔가 공감이 일부 되면서도 뜬구름 잡는 이야기다.

예전엔 프로그래머 라고 하면 "자유로운 dream maker" 라고 이야기 했었다. 꿈을 현실로 만들어 주는 사람. 

상상하던 것을 눈에 보이게 만들어 주는 사람들의 의미로 그렇게 이야기 했었다. 이것도 참 뜬구름 잡는 이야기다. 하하


지금은,, 프로그래머가 무엇이라 생각하느냐 묻는다면, 

"기계가 알아들을 수 있는 언어를 통해 사람의 생각과 상상력을 가시화 시키는 사람. 사람의 요구사항을 정리해 기계에게 전달하는 사람. 기계가 가시화 해 놓은 것을 생명체들이 영유할 수 있도록 만들어 주는 사람."

간추려, 사람과 기계를 이어주는 전달자. 라는 생각이 든다.


이 책은, 평소에 당연하게 생각하던 것에 대해 다시 한번 생각할 시간을 준다.

그리고 나의 개발 습관들을 돌아보게 한다.


책 속에서 인상 깊었던 몇 구절들을 정리해 본다.


  • 우리(개발자)를 가장 가치있게 만들어 주는 것이 코딩. 개발자에서 아키텍트가 될 때 코드가 이 두 역할을 묶어 주는 접착제가 된다는 사실을 잊지 마라.
  • 실상은 며칠 혹은 몇 주 전에 주석 처리한 코드를 다시 사용해 본 적이 없다.
  • 동기부여 되지 않은 개발자는 소프트웨어 프로젝트를 망친다. 결국 내가 일에 대해 열정을 갖게 되는 건 나에게 뭔가를 아름답게 만들 수 있는 기회가 주어진 걸 알았을 때이다.
  • 일은 일을 완료하기 위해 주어진 가용한 시간만큼 확장되는 경향이 있다. - 파킨슨 법칙
  • 단지 우리가 접하지 못한 것을 처음으로 보게 될 때 갖는 초기의 충동적 반응은 다음 아니라 익숙하지 못하기 때문에 생긴 경우가 종종 있다.
  • 꼭 코드와 관련된 것에서만 동기부여 요소를 찾을 수 있는 것이 아니라 책상 머리에서 벗어나 프로그래밍 업을 어떻게 바라 보느냐는 관점에서도 충분한 동기가 생길 수 있다.
  • 멀티태스킹. 뭔가 생산적이라고 느낄 수 있는 전형적인 행동이지만 실제적으로 일을 잘 처리할 수 있는 훌륭한 방식이 되는 경우가 극히 드물다.
  • 시간 제약이 있어야 진도를 나간다.
  • 매일같이 여러분의 제품을 두 가지 개선하기로 결정하는 것은 큰 규모의 프로젝트를 계속적으로 전진하게 만드는게 좋은 정신 활동이라 할 수 있다.
  • 다중 모니터는 생산성에 매우 요긴하다.
  • 많은 수의 대기업이 지금은 몹시 진부한 표현이 된 "사람은 우리의 가장 큰 자산입니다"라는 문구를 가지고 홍보한다. 매스꺼운 일이 아닐 수 없다.
  • "우리"라는 표현이 실제로 집단 전체를 의미하는 경우는 극히 드물다.
  • 실제로 문제에 관여해야 하는 사람과 다른 일에 집중해야 하는 사람 사이에 명확한 선을 긋지 못하게 된다.
  • 여러분이 누군가에게 직접적인 질문을 하게 되면 사람들은 움직이기 시작한다.
  • 제품에 관해 바로 60초 안에 전체 메시지를 전달할 수 있어야 한다.
  • 최적의 경로는 아니지만 더 단순한 솔루션을 좋아한다. 이론적으로는 더 효율적일지라도 예측 가능한 수준이 더 복잡한 솔루션을 이기는 경우가 있다.
  • 시간이 지나서 리팩토링을 고려하지 않았던 것 때문에 비싼 비용을 지불하게 된다.
  • 초보자를 교육할 때 원하는 것 보다 두배 천천히 교육 하라. 예제는 구체적이고 명확하게.
  • 사고 과정을 장려하도록 하라. 힘으로 억제하지 마라. 대안을 제공하고 찬반을 거치도록 하라.
  • 소프트웨어에 대해 얘기하면 우리의 마음을 혼란스럽게 하는 이상한 방식이 있는데 우리가 구축하기 시작할 때 비로소 몰래 실체를 공개하는 경향이다.
  • 코드를 작성 중인 이유에 대해 진지하게 생각한다면, 우린 프로그래밍 시간 대부분을 진짜 중요한 일에만 쓸 수 있게 된다.
  • 우리는 마케팅 문제를 안고 있다.
  • 우리 개발자들은 대중이 있는 곳으로 나아갈 필요가 있다.


책 속에서 꽤 많은 구절들이 인상적이었다.

이 책을 읽은 사람들과 각자의 경험을 나누는 시간을 가질 기회가 있다면 재밌는 시간이 되리라는 생각이 들었다.

개발에 지쳐 고민이 많은 사람들이 한번 쯤 읽어 볼만한 책으로 추천.






반응형