본문 바로가기

독서

죽을 때까지 코딩하며 사는 법

홍전일 저자의 죽을 때까지 코딩하며 사는 법

이 책의 제목이 너무 재밌어 보여서 도서관에서 심심풀이로 열어보았다. 

죽을 때까지 코딩하며 살 수 있을까하는 생각과 의심으로 책을 열어 보았지만 닫을 때는 '나도 할 수 있겠다.' 라는 생각이 들어 기분 좋은 마음으로 이 책을 대출하여 가져왔고 2일만에 책을 완독하였다. 

이 책을 읽는 동안 계속 내 자신을 반성하면서 읽게 되었다. 여기서 저자는 촛불과 모닥불로 개발자, 회사를 비교한다. 

촛불의 특징은 쉽게 꺼지고 풍전등화 같은 불을 말하고 모닥불은 바람이 불면 오히려 더 활활 타오르는 지속가능한 불을 말한다. 

먼저 촛불 개발자는 코드에 대한 열정이 식어버린 개발자를 말한다. 

촛불 개발자는 촛불 기업에서 일하면 변하기도 한다는 것이다. 인간이 집중해서 일할 수 있는 시간은 한정적인데 환경의 개선이 없고 야근을 강요하는 회사는 촛불 기업으로 개발자의 능력을 향상을 저해시키고 결국 촛불 개발자를 만드다는 것이다. 

물론 개인의 노력으로 촛불 기업에서도 모닥불 개발자가 될 수 있기는 하지만 인간은 근본부터 환경에 영향을 많이 받는 터라 쉽지 않을 것이다. 

코드를 제대로 하기 위해서는 자기계발이 필수라고 저자는 말한다. 만약 그 시간조차 없는 사람이라면 업무 시작전 30분, 끝날 때 30분 1시간이라도 본인을 위해 투자하라고 말한다. 마치 운동선수가 몸풀기를 하는 것처럼 코드에도 몸풀기가 필요하다고 말한다. 지식노동자로써 두뇌를 워밍업하는 것이다. 

본인은 직업군인으로써 17시 30분에 퇴근하여 18시에는 저녁식사를 하고 저녁식사 후 정리하고 19시부터 22시까지는 공부를 한다. 

22시부터 30분간 취침 준비와 취침을 하고 새벽 05시전에는 일어나 다시 코딩 공부를 하고 출근한다. 

물론 직장인들에게는 직주성이 매우 낮은 사람은 공부할 시간이 더 적어질테고 출퇴근으로 인한 피로함이 힘들게 할 수 있다. 

하지만 그럼에도 불구하고 우리는 도전하여 촛불에서 모닥불이 되어야 한다고 생각한다. 

 

촛불 기업은 앞서 말한 것과 같이 개발자로써 개발보다 잡일 개인의 능력향상과 개발은 단절된 회사를 말한다. 그리고 테일러 주의에 깊숙히 침투되어 있는 회사와 '꼰대 개발자'가 많은 기업을 말한다. 꼰대 개발자는 변화에 무감각하고 본인의 경험과 성공이 전부인 사람이 본인의 직책보다 낮은 자에게 우월감을 느끼기 위한 행동을 하는 자를 말한다. 

 

모닥불 개발자가 되려면 어떻게 해야될까? 

모닥불 개발자가 되려는 방법 중 하나를 설명하는데 저자가 말한 아프리카 속담이 가장 마음에 와닿았다. 

매일 아침 가젤을 깨어난다.
가젤은 가장 빠른 사자보다 더 빨리 달리지 않으면 잡아먹힌다는 것을 안다.
매일 아침 사자도 깨어난다. 
사자는 가장 느린 가젤보다 더 빨리 달리지 못하면 굶어 죽는 다는 것을 안다. 
당신이 사자냐 가젤이냐 하는 것은 문제가 아니다. 
해가 뜨면, 당신은 뛰어야 한다. 

우리는 가젤, 사자든 상관없다. 해가 뜨면 달려야 한다. 

세상은 아프리카 초원처럼 아름답지만 또한 야생 그자체의 모습을 가지고 있다. 우리는 문명인이라고 말하지만 결국 그 문명은 야생에서 태어난 약속된 사회에 불과하다. 그 약속된 사회에서 살아가는 우리는 그 속에서 포식자와 피식자가 되어 살아간다.

우리는 가젤과 사자처럼 달려야 한다. 

달려야 한다는 것은 무슨 의미일까? 

문명인이 말하는 달려야 하는 것은 '일' 그자체가 될 수도 있겠지만 일 외에 살아남을 수 있는 능력을 연마하는 일이 될 것이다. 

그 능력은 시간을 들이고 습관을 만들어야 지속 할 수 있다. 

정해진 시간에 정해진 행동을 하면서 그 습관을 만들어 가는 것이다. 다행히 나는 이 부분을 잘 하고 있는 것같다. 

19시부터 공부, 다음날 새벽부터 공부. 

처음에는 힘들었지만 지금은 목표를 가지고 그 목표를 달성하기위한 작은 발걸음을 실행해 나가고 있다는 것에 뿌듯함을 느끼고 지속 할 수 있을 것 같은 좋은 기분이 든다. 

 

또한 변화를 받아들이는 자세이다. 프로그래밍 언어는 굉장히 빠르게 변화하고 있다. C언어에서부터 C++, JAVA, Javascript, 코틀린, go언어 등 굉장히 많은 언어가 존재한다. 물론 이 언어들을 다 배울 수는 없다. 한 언어로부터 시작해서 그 언어를 능통하게 다둘 수 있는 일정한 수준이 되면 사고 흐름의 방식과 사고의 전환을 위해 다른 언어를 배우는 것이다. 

나는 평생 배울 것이다. 탐구하고 모험할 것이다. 

 

마지막으로 애자일 선언문으로 마무리 하겠다. 

우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 
도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다.
이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다.

공정과 도구보다 개인과 상호작용을
포괄적인 문서보다 작동하는 소프트웨어를 
계약 협상보다 고객과의 협력을 
계획을 따르기보다 변화에 대응하기를 

가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만, 
우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.