[BOOK] 돈의 심리학

당신은 왜 부자가 되지 못했는가

적나라하게 내가 했던 과오들을 설명한다.

지금부터 다시 시작하는 마음으로 미래를 준비해야겠다.

가장 와닿았던 말은 돈의 가치에 관한 말이다.

돈의 가치는 사고 싶은 것을 마음껏 살 수 있는 데 있는 게 아니라

내가 원하는 시간에 원하는 사람과 원하는 것을 할 수 있는 자유를 얻는데서 온다는 것이다.

그리고 밤에 잠을 편안하게 잘 수 있는 주식과 느긋함, 기다림이 필수라는 것.


천재라고 해도 감정에 대한 제어력을 상실하면 경제적으로 큰 문제를 불러올 수 있다.

사람들이 왜 빚에 허덕이는지 이해하려면 이자율을 공부하는 것이 아니라 탐욕과 불안, 낙천주의의 역사를 공부해야 한다.

행운과 리스크는 한 뿌리에서 나온 것이다. 우리가 살면서 만나는 모든 결과는 단순히 개인의 노력 이외에도 여러 가지 힘에 의해 좌우되는 것을 알아야 한다.
따라서 누군가를 판단할 때는 모든 성공이 노력 덕분도 아니고 모든 빈곤이 게으름 때문이 아니라는 사실을 꼭 알아야 한다.
확실한 것은 어떤 결과가 100% 노력이나 의사 결정으로 이루어지는 것은 아니라는 것이다.

성공에서 행운이 차지하는 역할을 인정한다면 리스크의 존재는 우리가 실패를 판단할 때 자신을 용서하고 이해의 여지를 남겨야 한다는 뜻이다. 겉으로 보이는 것만큼 좋은 경우도 나쁜 경우도 없다.

현대 자본주의는 두 가지를 좋아한다. 부를 만들어내는 것과 부러움을 만들어내는 것. 충분함을 느끼지 못한다면 삶은 재미가 없다. 결과에서 기대치를 뺀 값이 행복이다.

워렌 버핏의 경제적 성공은 사춘기에 쌓았던 금전적 바탕과 노년까지 사업에서 손을 떼지 않은 덕분이다. 재주는 투자였지만 비밀은 시간이었다. 투자에서 가장 강력한 힘을 가진 것은 시간이다.

최고의 수익률을 올리는 것이 훌륭한 투자인 것은 아니다. 최고의 수익률은 일회성이라 반복할 수 없기 때문이다. 괜찮은 수익률을 꾸준히 올리는 것이 더 나은 투자이다. 여기서 복리의 힘을 빌릴 수 있다. 복리가 빛을 발하려면 자산이 불어날 수 있도록 오랜 시간을 허락해야 한다.

돈을 버는 것과 유지하는 것은 별개이다. 돈을 벌 때는 리스크를 감수하고 낙천적 사고를 하고 적극적 태도를 갖는 등의 요건이 필요하다. 그러나 돈을 지키는 것은 정반대의 재주를 필요로 한다. 검소해야 하며 돈이 빠르게 사라질 것을 두려워할 줄 알아야 한다.

번 돈의 일부는 행운의 덕이므로 과거의 성공이 되풀이될 것이라 믿지 말고 절제하는 태도를 가져야 한다.

현금 덕분에 약세장에서 주식을 홀딩할 수 있다면 현금으로 인한 실제 수익률은 몇 배일 수 있다. 절박함 때문에 주식을 파는 일을 막는 것이 성공할 주식 수십 가지를 고르는 것보다 평생 수익률에 더 도움이 될 수도 있다.

정말 중요한 것은 남들이 미쳐가는 날에 어떤 의사 결정을 내리는가 하는 점이다. 투자자로서의 성공 여부는 공포의 순간에 보이는 반응이다.

실제로 사람들이 원하는 것은 돈으로 살 수 있는 비싼 것들이 아니라 남들로부터의 존경과 칭찬이다. 그리고 존경과 칭찬은 비싼 물건들이 아니라 겸손, 친절, 공감이 더 많은 존경을 가져다 준다.

부는 눈에 보이지 않는다. 부는 구매하지 않은 좋은 차와 같다. 눈에 보이는 물건으로 바꾸지 않은 금전적 자산이다.

대부분은 백만장자가 되고 싶다고 할 때 실제 의미는 백만 달러를 쓰고 싶다는 뜻이다. 그리고 이는 백만장자가 되는 길과 정반대의 길이다.

부자가 되는 유일한 방법은 돈을 쓰지 않는 것이다. 이것이 부를 축적하는 유일한 길일뿐만 아니라 부의 정의이다.

부는 숨어있다. 부는 쓰지 않은 소득이며, 나중에 무언가를 사기 위해 아직 사용하지 않은 선택권이다. 부의 진정한 가치는 언젠가 더 큰 부가 되어 지금보다 더 많은 것들을 살 수 있는 선택권과 유연성을 제공한다.

부를 쌓는 것은 소득, 투자 수익률과 관계없으며 저축률과 관계가 깊다. 은행에 있는 현금은 어떤 걱정으로부터 자유롭고 싶을 때 스스로 자유롭게 선택할 수 이는 여지를 준다.

지금처럼 서로 연결된 세상에서 지능은 믿을 만한 이점이 아니지만 유연성은 이점이 될 수 있다.

금융에 관한 의사 결정은 냉철하고 이성적인 것보다는 적당히 합리적인 것이 좋다.

인내심은 성공 확률을 나에게 유리한 쪽으로 끌어오기 위함 필수 요소이다.

데이 트레이딩(단타)이나 개별 주식은 성공 확률이 낮아 이성적이지 않은 행동이지만 근질거리는 마음을 해소하는 용도로 사용하면 다른 포트폴리오를 건드리지 않을 수 있으므로 적당히 합리적인 행동이 될 수 있다.

투자자들은 감정이 있다. 그렇기 때문에 과거 행동에 기초해서 미래의 행동을 예측하기가 어렵다. 과거에 의존하면 미래를 바꿀 이례적인 사건을 놓칠 가능성이 크다.

아무리 옳다고 해도 자신의 칩을 모두 걸 수 있는 순간은 없다. 세상은 누구에게도 친절하지 않으므로 일이 계획대로 되지 않을 때를 대비하는 계획을 항상 마련해야 한다. 실제로 모든 계획에서 가장 중요한 것은 계획이 계획대로 되지 않을 때를 위한 계획을 세워두는 것이다.

매몰 비용은 사악한 역할을 한다. 미래를 과거의 포로로 만들어 버린다. 더 빨리 결단을 내릴수록 더 빨리 복리의 마법을 시작할 수 있다.

성공적인 투자에는 대가가 따라붙는다. 대가는 변동성, 공포, 의심, 불확실성, 후회로 지불한다. 대가를 피하려고 하는 투자자는 결국 대가를 두 배로 치르게 된다.

돈과 관련해 중요한 점은 시간을 어떻게 보는지를 자각하고 나와 다른 게임을 하는 사람들의 행동에 설득당하지 않는 것이다.

보통은 낙관주의에 베팅하는 것이 최선이다. 대부분 사람들에게 세상은 점점 더 나아지는 경향이 있기 때문이다.

비관주의는 낙관주의보다 더 똑똑한 소리처럼 들리고 그럴싸해 보인다. 비관주의는 기대치를 낮추고 실제로 가능한 결과와 내가 기뻐할 수 있는 결과 사이의 거리를 좁힌다.

극단적으로 좋은 상황이나 극단적으로 나쁜 상황은 오래 지속되는 경우가 거의 없다. 예측하기 힘든 방식으로 수요와 공급이 적응하기 때문이다.

진정한 성공은 나를 사랑해줬으면 하는 사람들이 나를 사랑하는 것이다.

대부분의 사람이 진심으로 원하는 것은 돈이 가져다주지 않는다.

[BOOK] 프레임

세상을 바라보는 마음의 창

지구를 ‘구sphere’라고 부르는 이유는 평균 때문이다. 울퉁불퉁한 면이 있더라도 평균적으로 보면 지구는 둥글다. 사람을 보는 우리의 눈도 그래야 한다.

주변에서 일어나는 모든 일을 자신과 관련시켜 해석하는 경향은 정신 건강을 해치는 주범 중 하나이다. 심리학 연구에서 ‘자기’에 대해 지나친 생각이 남들과 자신을 자주 비교하게 만들고 행복을 저하시킨다는 점을 보여준다. 물론 자신이 세상을 바라보는 소통의 창구가 되는 것을 막을 수는 없다.

진정한 지혜는 나 자신의 행동을 설명하는 것과 동일한 방법으로 다른 사람의 행동을 설명하는 마음의 습관이다.

사람은 마음 속에 CCTV를 설치해놓고 자신을 감시하고 있으면서 다른 사람이 자신을 주목하고 있다고 착각한다. 다른 사람들이 나를 주시하고 있다고 생각하지만 정작 우리를 보는 것은 남이 아닌 자기 자신이다.

우리는 연극의 주인공이 아니지만 자신은 스타들처럼 조명 받고 있다고 착각하면서 다른 사람들의 시선을 필요 이상으로 신경 쓴다.

어떤 것이든 자신과 관련지어 바라볼 때 기억이 잘되는 현상을 자기 준거(self-reference)효과라고 한다. 똑같은 것이라도 자신과 관련지어 생각하면 기억을 더 잘하게 된다.

세상은 아직 살 만한 곳이고 주변에는 좋은 사람들이 많다고 생각하는 사람은 가까이 해도 좋다. 이런 사람은 누구와 있어도 상대의 장점부터 보기 때문이다.

자기 주변에 남을 비방하는 사람이 많다고 불평하는 사람은 가까이 하지 않는 것이 좋다. 자신이 남의 허물을 습관적으로 들춰내는 사람일 가능성이 높기 때문이다.

우리가 다른 사람을 평가하는 내용을 보면 다른 사람보다 자신이 어떤 사람인지를 더 많이 드러낸다.

허위 합의 효과에 사로잡힌 우리가 깨달아야 할 사실은 세상에는 자신의 생각과 다른 사람들이 생각보다 훨씬 많다는 것이다.

자기중심적 프레임 때문에 다른 사람들도 나와 비슷할 것이라고 생각한다. 이런 현상을 허위 합 효과(false consensus effect)라고 하며, 자신의 의견이나 선호, 신념, 행동이 실제보다 더 보편적이라고 착각하는 자기중심성을 나타내는 개념이다.

지혜가 기대림의 대상이 아니라 적극적인 훈련의 대상이 될 수 있는 이유는 지혜의 본질이 우리 마음의 한계를 지각하는 데 있기 때문이다.

기본적으로 제시되는 양이 ‘사회적으로 바람직한 평균적인 양’이라고 해석하는 경향이 있어 이에 따라 사람의 행동도 변한다.

현명한 소비자는 소유보다는 경험의 프레임을 가지기 위해 노력한다. 경험을 위해 구매한 물건은 대부분 사람들과의 관계에 사용되는 것들이다. 이는 어떤 물건의 구매 행위를 통해 새로운 삶을 경험하는 것이 소유 자체를 위해 구매하는 것보다 많은 사람들에게 더 큰 행복감을 안겨준다.

같은 물건을 사면서도 경험 프레임을 갖고 구매하는 사람은 물건을 통해 맛보게 될 새로운 경험에 주목한다.

일상에서 소유의 프레임과 경험(존재)의 프레임이 가장 빈번하게 대비를 이루는 분야는 소비의 영역이다.

어떤 문제에 봉착했을 때 해결점을 찾지 못하는 이유는 처음부터 문제의 본질이 무엇인지 제대로 프레임하지 못했기 때문이다.

상위 프레임은 왜 이 일이 필요한지 그 이유와 의미, 목표를 묻는다. 비전을 묻고 이상을 세운다. 하위 수준의 프레임에서는 일의 난이도와 시간의 소요, 성공 가능성 등의 구체적인 절차부터 묻는다.

상위 수준의 프레임은 우리가 죽을 때까지 가져야 할 삶의 태도이며 자손에게 물려줄 수 있는 가장 위대한 유산이다. 상위 프레임에서는 Why를 묻지만 하위 프레임에서는 How를 묻는다.

행복은 ‘무엇’이 아니라 ‘어떻게’의 문제이며 행복은 대상이 아니라 재능이다.

프레임은 결심의 대상보다는 설계의 대상이다. 언어와 은유, 가정과 전제, 단어와 질문, 경험과 맥락 등을 점검하여 더 나은 것으로 설계해야 한다.

우리의 프레임을 확인할 수 있는 하나의 일화가 있다.

‘아버지와 아들이 야구 경기를 보러 가기 위해 집을 나섰다. 그런데 아버지가 운전하던 차의 시동이 기차 선로 위에서 갑자기 꺼졌다. 달려오는 기차를 보며 아버지는 시동을 걸려고 황급히 자동차 키를 돌렸지만 소용이 없었고, 결국 기차는 차를 그대로 들이받고 말았다. 둘 다 크게 다쳐서 응급실로 옮겨졌다. 수술을 하기 위해 응급실로 달려온 외과 의사가 아들의 차트를 보고 “난 이 응급 환자를 수술할 수 없어. 얘는 내 아들이야!”라며 절규를 한다. 대체 어떻게 된 영문일까?’

프레임의 영향을 받지 않는다면 쉽게 이 의사는 아들의 엄마인 것을 알 수 있다. 그러나 ‘외과 의사=남자’라는 프레임에 영향을 받는다면 삼류 소설을 쓰기 시작할 수도 있다.

프레임의 또 다른 경우도 있다.

만약 안 좋을 일과 좋은 일을 하나씩 경험할 수 있다면 무엇을 먼저 경험하는 것이 좋을까? 답은 대체로 안 좋은 일을 먼저 경험하는 것이 낫다. 안 좋은 일 다음에 경험하는 좋은 일은 더 달콤하게 느껴질 뿐만 아니라 뒤의 좋은 경험이 앞의 안 좋은 경험을 긍정적으로 재해석해주기 때문이다.

인생에서는 순서가 중요하다. 젊어서 고생은 사서 한다는 말이 있듯이 젊은 시절의 고생이 인생 후반의 경험을 더 달콤하게 만들어주기 때문이다.

질문의 순서가 중요한 이유도 앞의 질문이 뒤에 나오는 질문을 해석하는 프레임으로 작동한다.

앞의 경험이 뒤에서 하게 될 경험을 바라보는 프레임으로 작동하는 것이다.

자기 삶에 대한 평가가 시시하다면 내가 시시한 질문을 던지고 있기 때문인지 모른다. 답이 안 나오는 인생을 살고 있다면 질문에 문제가 있을 가능성이 있다. 무언가 더 나은 답을 찾고 싶은 사람은 세상을 향해 던지고 있는 질문부터 점검해야 한다.

마지막에 대한 우리의 기대는 각별하다. 그래서 마지막이라고 정의를 내리면 그 프레임은 대상에 대한 우리의 기대와 평가를 극적으로 바꾼다.

어떤 상황에 처하기 전에는 보지 못했던 것들이 이후의 맥락에서는 보이기 마련이다. 역지사지란 상대의 맥락을 이해해주는 것이다.

프레임은 우리가 지각하고 생각하는 과정을 선택적으로 제약하고 궁극적으로 지각과 생각의 결과를 결정한다.

우리 마음의 한계를 자각하는 것은 역설적으로 한계 밖에 존재하는 새로운 곳으로의 적극적인 진군을 의미한다.

건물 어느 곳에 창을 내더라도 그 창만큼의 세상을 보게 되듯이 우리도 프레임이라는 마음의 창을 통해 보게 되는 세상만을 바라본다.

세상은 강자와 약자, 성공과 실패로 나뉘지 않는다. 세상을 배우는 자와 배우지 않는 자로 나뉠 뿐이다.

[BOOK] 나는 앞으로 몇 번의 보름달을 볼 수 있을까

사카모토 류이치의 세상을 대하는 태도

아름다운 선율의 음악을 만드는 사람들이라도 저마다 세상을 대하는 태도는 모두 다르겠지만 사카모토 류이치의 음악은 그의 마음가짐과 세상을 바라보는 따뜻한 시선을 그대로 담은 것만 같다.

이 책은 인생의 마지막에서 누구보다 죽음에 가까운 상태에서 인생을 돌아보며 쓴 글이다. 어떠한 마음가짐으로 하루하루를 지내야 할지 다시 한번 생각해보게 한다.

Merry Christmas, Mr.Lawrence는 영화 제목이자 사카모토 류이치의 가장 유명한 곡이기도 하다. 주연으로 캐스팅된 사카모토 류이치가 전공(도쿄예술대 작곡)을 살려 음악 감독도 맡겨달라고 청하게 되고 그의 요청이 이루어지게 되면서 음악이 탄생하게 된다.

물론 별모자가 사카모토 류이치의 젊은 시절이다.

마음에 와닿았던 부분들을 간략하게 적어본다.

설령 위선자라 비판을 받는다 해도 그로 인해 사회가 조금이라도 나아질 수 있다면 좋은 일이 아닌가. 환경에 관한 운동도, 지진 재해 후 활동도 이런 신념의 힘으로 실천하고 있다. 한번 연결되면 쉽게는 그만둘 수 없다.

역시 인간은 일하지 않고 돈만 받는다고 만족할 수 있는 생물이 아니다.

결국 사용 편리성의 좋고 나쁨은 기술 그 자체보다 설계자가 얼마나 사용자의 입장을 깊이 고려했는가에 의해 좌우된다고 생각한다.

환갑을 넘기고, 큰 병을 앓고, 속세의 욕망에 휘둘리지 않는 청빈한 상태가 되었기 때문에 비로소 자신이 올라야 할 산이 모습을 드러내기 시작한 것 같다. 큰 나선을 그리듯 빙 돌아서 원점으로 돌아온 셈이다.

기본적으로는 자연스럽게 살다 자연스럽게 죽어가는 것이 동물 본래의 순리이자 생명 본연의 모습이라고 믿는다. 인간만 거기서 벗어나 있다.

몸이 건강할 때는 시간의 영원함이나 일방향성을 전제로 하는 면이 있었지만 생의 유한함에 직면한 지금은 이제까지와는 다른 각도에서 다시 생각해볼 필요가 있다고 느낀다.

친구끼리는 사상이나 신념, 취미가 달라도 아무런 문제가 되지 않는다. 그저 묵묵히 기댈 수 있는 사람, 그런 이들이 많지 않아도 확실하게 존재하므로 그것만으로도 나는 행복한 사람이라고 느낀다.

인간은 자신의 죽음을 예측하지 못하고, 인생을 마르지 않는 샘이라고 생각한다. 하지만 세상 모든 일은 고작 몇 차례 일어날까 말까이다. 자신의 삶을 좌우했다고 생각할 정도로 소중한 어린 시절의 기억조차 앞으로 몇 번이나 더 떠올릴 수 있을지 모른다. 나는 앞으로 몇 번이나 보름달을 더 볼 수 있을까. 사람들은 이런 사실을 모르고 기회가 무한하다고 여긴다.

[BOOK] 개발자로 살아남기

시간 관리와 방향성, 그리고 꾸준한 배움

세상은 약한 자나 강한자, 성공한 자와 실패한 자, 만들거나 만들지 못하는 자로 나누는 것이 아니라 배우는 자와 배우지 않은 자로 나뉜다. 

하늘 아래 완전히 새로운 제품은 없으므로 경쟁 제품의 장점과 단점을 파악해서 장점과 단점을 도입하고 개선한다면 사용자에게 좋은 제품을 제공할 수 있다.

측정할 수 없으면 관리할 수 없고 관리할 수 없으면 개선할 수도 없다. 따라서 측정할 수 없는 변화는 의미가 없으므로 제품에 주는 모든 변화는 측정이 가능해야 한다.
지속적인 변화만이 최고의 제품을 만든다.

도그푸딩(dogfooding)이란 내가 만든 개밥을 스스로 먹는다는 뜻으로 본인이 만든 제품을 직접 써본다는 뜻이다. 자신이 만든 제품에 대한 이해가 중요하며 자신이 만드는 서비스를 직접 써보고 경쟁 제품을 직접 분석해봐야 한다.

한마디로 내가 제품을 써보고 좋아해야 사용자도 제품을 좋아하게 된다.

개발은 좋은 제품 만들기가 목적이다. 멋진 코드와 확장성 있는 아키텍쳐도 좋지만 기술은 좋은 제품을 만들어내야 의미가 있다.

제품은 기획자의 인사이트를 넘어 사용자 반응 데이터를 활용해 빠르게 방향과 기능을 결정하며 발전해야 한다. 따라서 좋은 제품을 만들려면 좋은 데이터를 수집하고 분석하는 능력이 필수이다. 

애자일 선언 이면의 원칙은 다음과 같다.

– 최우선 순위는 가치있는 소프트웨어를 일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다.
– 애자일 프로세스는 변화를 활용해 고객의 경쟁력에 도움이 되게 하므로 개발의 후반부일지라도 요구사항의 변경을 환영한다.
– 작동하는 소프트웨어를 자주 전달하고 비즈니스 담당의 사람들과 매일 함께 일해야 한다.
-동기가 부여된 개인들을 중심으로 프로젝트를 구성하고 필요로 하는 환경과 자원, 그리고 신뢰를 준다.
– 개발팀 내부에서 정보를 전달하는 가장 효율적인 방법은 1:1 대화이다.
– 작동하는 소프트웨어가 진척의 척도이다.
– 기술적 탁월성과 좋은 설계에 대한 지속적 관심이 기민함을 높인다.
– 단순성(안하는 일의 양을 최대화)이 필수이다.
– 팀은 정기적으로 효율을 숙고하고 팀의 행동을 조율하고 조정해야 한다.

애자일(agile)은 각 단계를 너무 작게 만들거나 건너뛰고 빠르게 개발해서 출시하는 개념이 아니라 굉장히 작은 기능, 최소한의 기능으로 최대한 빠르게 개발하는 방법이다.

애자일 이외에도 다양한 개발 방법이 존재하지만 모든 기능은 모든 개발 주기를 거치게 된다. 

애자일은 짧은 주기를 반복하여 큰 프로젝트를 완성해 나가는 방법론으로 유용한 프로젝트 관리 방법으로는 스크럼이나 칸반이 있다.

스크럼은 소규모 팀으로 제품을 기민하게 개발하는 방법으로 스프린트라는 업무 주기를 반복한다.

제품 책임자(Product Owner)가 할 일 목록에서 스프린트동안 수행할 일을 결정하고 스프린트마다 결과물을 산출한다. 팀이 성과를 낼 수 있도록 스크럼 마스터가 장애 요소를 제거하며 프로세스를 인도한다. 

스크럼이 시간을 제한하는 방법론인 반면 칸반은 수를 제한하는 방법론이다. 칸반은 ‘할 일’, ‘진행중인 일’, ‘완료된 일’ 열을 만들고 중요도에 따라 색이 다른 업무로 관리한다. 칸반은 진행중인 일로 옮길 수 있는 업무의 최대 숫자를 제한한다.

애자일을 효과적으로 실천하려면 도구를 사용해야 한다.

프로젝트 관리 도구는 지라(Jira), 협업 문서 관리 도구는 노션(Notion), 소통에는 슬랙(Slack)을 많이 사용한다. 또한 구글 닥스(Google Docs)는 협업 문서를 만드는 최고의 도구로 표현된다. 도구는 프로세스를 구체화하는 것이다.

프로덕트 백로그(Backlog)는 구현해야 할 사항을 정의한 문서로 미래 업무 후보들을 넣어두고 백로그에 있는 아이템이나 사업상 또는 기술적으로 중요한 아이템을 정리해서 분기 계획을 만든다.

출시는 일정 주기로 진행하는 것이 제일 안전하다. 정기적인 출시를 통해 지속적으로 시장의 반응을 확인하기 좋고 안정성 확보에도 도움이 되기 때문이다.

또한 출시에는 항상 위험이 따르므로 롤백에 대한 계획도 항상 필요하다.

동시에 여러 기능을 구현한다면 소스 코드 분리와 통합에 신경써야 한다.

애자일에서 중요한 포인트는 회고이다. 매달 또는 분기에 한 번 정도씩 정기적으로 조직, 기술, 제품, 프로세스에 대해 논의하고 문제 개선 방안에 대해 깊게 살펴보는 과정이다. 

애자일이 원활히 동작하려면 적극적인 소통이 중요하며 소통은 모든 방향에서 원활히 이루어져야 한다. 

매니지먼트는 프로젝트 관리, 팀 관리, 프로세스 관리로 구분한다. 

프로젝트 관리는 출시 시기와 중점을 둬야 하는 일을 관리하는 기술이다. 팀 관리는 사람 관리이며, 프로세스는 진행 과정을 관리하는 기술이다. 

프로젝트 관리는 기본적으로 비용(리소스/인력), 시간(출시일), 제품 범위(기능)를 관리한다. 시간과 인력은 늘 부족하므로 제품의 범위를 줄여야 한다. 기능의 80-90%만 넣어 최소기능제품을 출시하고 지속적으로 기민하게 업데이트하는 방법론이 애자일이다. 이 때 핵심기능을 빠트리면 품질과 경쟁력에 영향을 미치므로 주의해야 한다.

팀을 만들게 되면 forming -> storming -> norming -> performing의 단계를 거치게 된다. 즉 폭풍처럼 싸우고 잔잔해지고 사람들이 친해져서 결과를 만들어내는 단계에 이른다.

여기서 핵심은 신뢰와 지식이다. 팀이 잘 돌아가게 되면 시너지가 생겨 함께 일하며 더 큰 성과를 만든다. 팀 관리자는 팀원에게 큰 그림을 보여줘야 팀에서 위치를 파악하고 자신이 무엇을 어떻게 해야 할지 알 수 있다. 

팀 존재의 이유는 서로의 장점을 공유해서 극대화하고 약점을 보완해주는 것이므로 서로가 강점과 약점을 알아야 한다. 

프로세스란 일을 하는 과정을 정리하는 것으로 한 번 했던 일을 다시 할 때 잘하기 위한 장치이다. 프로세스를 만들면 규격화해 측정할 수 있게 되며 두 세번 반복하면서 최적화할 수 있다. 프로세스 관리는 실패를 막고 우연을 막고 철저하게 품질을 관리하고 최적화하는 과정을 만드는 것이다. 개발 주기, 코드 리뷰 등 개발과 관련된 모든 것이 프로세스에 해당한다. 프로세스가 정립되어야 회사의 현 상태를 측정하고 고도로 최적화할 수 있다.

매니지먼트 역량의 바탕이 되는 다섯가지 소프트 스킬은 소통, 협업, 긍정적인 자세, 프로 의식, 리더십이다. 매니지먼트 역량은 직원에게도 필요하며 더 멀리 내다보고 자신이 바라는 관리자 모습을 그려보고 관리자를 해당 방식으로 유도해야 한다.

소통에는 투명성이 중요하며 투명성이란 사람들이 알아야 할 정보를 충분히 공급해주는 것이다. 상사가 투명하게 이야기하면 더 쉽게 의도가 전달되고 부하는 상사를 더 쉽게 예측할 수 있다. 투명성과 예측 가능성이 확보되면 직원에게 자율성이 생긴다. 자율성이 보장될 때 창의성이 발현되고 직원은 더 행복해지므로 결과적으로 더 나은 성과를 도출하게 된다. 투명성은 개방성과 함께일 때 더 빛을 발하며 리더라면 개방성을 갖고 경청할 줄 알아야 한다. 결국 투명성과 개방성이 소통의 핵심이다.

협업은 논쟁 테이블 위에서 벌어지는 관철과 양보의 줄다리기이다. 좋은 리더는 협업을 잘해야하고 그러려면 8할을 양보해야 한다. 제대로 된 협업은 이견이 생길 때 모두의 의견이 조금씩 관철되어야 하는 것이며, 한 사람이 항상 이기는 것은 욕심에서 비롯된 문제이다. 좋은 리더라면 작은 것을 버리고 큰 것을 얻어야 한다. 중요하지 않은 일은 원하는 대로 하게 두고 정말 중요한 일을 관철하도록 해야 한다. 중요한 일에는 물러서지 말고 끝까지 이겨야 한다. 건강한 조직이라면 협업 테이블에서 치열한 논쟁이 벌어져야 최고의 선택을 할 수 있다.

여기서 양보란 무관심이 아니라 자율 선택권을 주는 양보와 타협이다. 

리더십에서 중요한 것 중 하나는 인사이트로 현재 시장을 파악하고 향후 변화의 큰 물줄기를 분간하는 능력이다. 인사이트가 있어야 기술 변화를 내다보고 개발 방식과 방향을 결정할 수 있다. 리더에게 인사이트가 없으면 개발만 하다가 도태될 가능성이 크다.

인사이트를 계발하기 위해서는 좋은 책과 좋은 사람 그리고 비판적 사고가 중요하다. 이를 통해 얻어진 것들을 실제 업무에 적용해보고 비판적 사고를 확장하면서 좋은 피드백을 반영해 나갈 때 집단 지성을 이끌어내며 발전할 수 있다.

중간 관리자의 역할은 프로젝트 리딩, 테크니컬 리딩, 피플 매니징이다. 세 가지를 모두 다 잘하기는 쉽지 않으므로 관리자는 본인이 잘하는 부분에 집중하고 부족한 부분은 도움을 받아 메워야 한다. 하지만 각 역할에 대해 명확한 이해는 필요하다.

개발 주기는 요구 사항을 분석하고 시스템 구조를 설계하고 개발하고 테스트와 출시하고 피드백을 받아 업데이트하는 전체 과정이다. 최소한의 개발 계획을 갖고 계획 안에서 실행해야 리소스가 관리된다. PM은 전체 과정과 목표를 이해하고 리소스를 관리해야 하며 프로젝트 관리를 하면서 연 단위, 월 단위, 일단위 계획을 세워야 한다.

계획을 세우는 이유는 완벽한 준수를 위해서가 아니라 성공을 위해서 세우는 것이다. 따라서 상황에 맞게 수정하면서 대비해야 한다. 

우선 순위 정하기와 시간을 효율적으로 관리해야 성공적으로 제품을 출시할 수 있다.

역할은 팀 크기에 따라 달라질 수 있으며 사람들이 적절히 부딪히며 일할 수 있게 역할을 정의해야 한다. 완벽히 격리된 역할을 주면 의욕이 떨어지고 역할 이기주의에 빠질 수 있다. 따라서 모든 사람에게 기본적인 역할을 정해주되 약간은 자기 범위 밖에서 일할 수 있도록 자유를 제공해야 생산적인 충돌이 발생하여 협동이 원활해진다.

시간을 아끼는 최고의 방법은 낭비를 없애는 것이다. 시간을 잡아먹는 요인은 필요없는 코드, 개발 과정에서 준비 미비로 인한 기다림, 불명확한 요구사항, 내부 정치, 느린 내부 소통이 있다.

필요없는 코드는 요구 사항이 명확하지 않거나 기술 구조를 잘 정의하지 않았을 때 발생하므로 요구 사항을 명확히 정의하고 기술 구조를 초기에 제대로 잡아야 한다.

시간을 아끼기 위한 방안 모색으로 미팅이나 워크숍보다는 일상에서 하나씩 낭비를 줄이는 방식이 낭비를 만들지 않는 더 효과적인 방법이 될 수 있다.

때로는 돈을 더 많이 버는 것보다 덜 쓰는 게 더 쉬운 방법이 될 수 있는 것처럼 낭비를 줄이면 업무 효율과 생산성이 올라간다. 생산성을 올리는 방법은 모두를 바쁘게 하는 것이 아니라 낭비를 없애고 서로에게 병목이 되는 요소를 없애는 것이다.

문제는 항상 발생하고 일이란 문제를 잘 정리하고 계산하고 해결하는 행위이므로 문제가 재발되지 않게 하는 것이 중요한 것이다. 따라서 문제를 싫어하지 않는 것이 중요하다. 

문제 해결 시스템을 통해 시간 낭비를 줄일 수 있으며 문제 해결을 나누는 단계는 다음과 같다.

1 문제 고르기
2 고른 문제 정의하기
3 문제 분석하기
4 해결책을 찾고 최선의 해결책 선택하기
5 선택한 해결책 실행여부 승인받기
6 문제 해결 확인하기

문제 해결의 핵심은 하나의 해결책만 적용하는 것이 아니라 여러 해결책을 고안하고 그 중에서 제일 좋은 해결책을 고르고 실패 시 다른 해결책을 적용하는 것이다. 하나의 해결책만으로는 적용 실패 시 더 위험한 상황이 올 수 있기 때문이다.

제한된 시간을 효과적으로 사용하려면 산적한 문제를 효과적으로 분류하고 대응해야 한다. 문제의 경중과 해결 가능성을 따져서 중요하고 풀 수 있는 문제는 풀고 중요하지만 풀 수 없는 문제를 미뤄두고 중요하지 않지만 풀 수 있는 문제는 위임한다. 그리고 중요하지도 않고 풀 수도 없는 문제는 무시하는 것이 중요하다. 이를 통해 시간의 낭비를 줄이고 해결할 수 있는 문제에 집중하여 재발하지 않는 해결책을 만드는 것이 효율적으로 프로젝트를 리드하는 방법이다.

프로젝트 관리는 우선 순위를 정하는 것이 중요하다. 우선 순위대로 일하고 문제를 해결하고 낭비를 없애 사람들의 역할을 연결해야 한다. 우선 순위의 기본은 시급성과 중요성에 있다. 대게는 생각할 시간이 없고 눈앞에 닥친 일만 하다보니 급한 것 위주로 일을 하게 된다. 그러나 급한 일의 늪에 빠지지 않고 중요한 일을 해야 한다. 할 일을 고를때는 시급성을 따지지 말고 한 발 물러서서 중요성에 따라 일을 진행해야 한다. 따라서 중요하고 급한 일로 분류될 일을 먼저 처리하고 난 뒤 중요하고 급하지 않은 일 위주로 처리하면 자신의 삶과 시간을 주도하면서 살 수 있다. 급한 일만 하게 되면 일에 쫓기고 끌려다니게 된다.

테크니컬 리드는 실현 가능성과 기술의 이점을 고려해야 하며 개발 환경 자체도 최적화해야 한다.

프로젝트 리드가 what to do를 고민한다면 테크니컬 리드는 how to do를 고민한다. 남이 안 만든 서비스를 출시해야 성공 가능성이 높으므로 테크니컬 리드는 모르는 일을 어떻게하면 잘할 수 있을지 고민해야 한다. 초보 개발자는 시키는 일을 잘하고 중급 개발자는 시키지 않아도 잘하고 고급 개발자는 남에게 시키는 일을 잘하면 된다. 그보다 위는 모르는 일과 한번도 안해본 일을 하는 것이다.

필요한데 모르는 일에는 리소스가 얼마나 투입될지 알 수 없으므로 필요하지만 잘 모르는 일을 먼저 진행해야 한다. 어렵고 큰 일이나 모르는 일을 먼저 해야 하며 성공을 목표로 한다면 어려운 문제를 먼저 푸는 게 좋다. 테크니컬 리드가 이를 관리해야 하고 모르는 일을 잘게 쪼개고 나눠서 모르는 일 하나를 아는 일 100개로 만들어야 한다. 모르는 것을 아는 것으로 바꾸는 능력이 테크니컬 리드에게 가장 중요하다.

일은 올바른 방향으로 빠르게 가는 게 가장 좋지만 대게 일은 잘못된 방향으로 엄청 느리게 간다. 따라서 성공보다 실패하는 제품이 많다. 프로젝트는 성공하더라도 제품은 실패할 수 있다. 프로젝트를 진행하면서 일이 너무 잘 돌아간다면 멈춰서서 돌아봐야 한다. 속도보다 방향에 중요하므로 항상 바른 방향으로 가고 있는지 점검해야 하며 속도에 집중하면 안된다. 이 방향에 대한 확인 작업을 짧은 주기로 진행하는 것이 애자일 방식이며 목적지에 따라 방향을 수시로 수정하며 개발해야 한다. 따라서 느리더라도 올바른 방향의 선택이 중요하다.

일은 make it working, make it right, make it fast의 격언과도 같다. 먼저 방향을 정해 일을 시작하고 일하는 방식을 개선한다. 그 후 모든 것이 정해지면 속도를 올리는 방식으로 단계별로 접근해야 한다. 모든 일에는 지속 가능성이 중요하므로 속도보다 방향이 중요하다. 지속가능한 성공이 중요하므로 항상 방향과 지속적이고 안정적인 속도에 집중해야 한다.

최소기능제품을 만들 때는 기능만큼 기술도 중요하다. 빨리 만들려면 알려진 기술을 써야하고 개발 속도를 높이려면 개발 환경이 좋아야 한다. 물리 환경까지 쾌적하게 만들고 최적의 개발 방법론을 적용해 짧은 주기의 속도감 있는 개발을 진행해야 한다. 개발 과정에서 기술 부채가 늘어나지 않도록 상황과 전략에 맞춰 개발을 해야 한다. 경쟁력은 기획에서 나오므로 좋은 기획을 빠르게 구현하는 개발 역량을 키워야 한다.

사람은 저마다의 성향이 있으며 why, what, how로 구분할 수 있다. 각각 고객, 제품, 기술에 대한 집중도를 나타낸다. 미국 회사에는 여러 성향의 사람이 섞여 있어 프로젝트 진행 시 성향별로 질문이 고르게 나오는 장점이 있다. 

관리자라면 팀을 구성할 때 성향을 골고루 배치하는 것이 좋으며 각각의 성향이 다를수록 시너지를 낼 수 있어서 좋다. what if의 성향은 굉장히 독특하거나 큰 기여를 하기도 하므로 엉뚱한 말을 하는 사람이 있더라도 다양성을 존중해주는 것이 중요하다. 

일의 진행 시점별로도 일을 시작하는 사람, 일을 수행하는 사람, 일을 마무리하는 사람이 있다. 각각의 성향을 잘 섞어주면 좋은 효과를 낼 수 있다. 프로젝트 초기에는 시작하는 사람이 많을수록, 출시 직전에는 마무리하는 사람이 많을수록 좋다.

관리자와 직원의 관계는 정확한 기대치를 알려주고 결과가 나왔을 때 좋았던 점과 아쉬웠던 점을 알려주며 피드백을 주는 사이가 좋은 관계이다.

관리자는 직원의 성과, 행복, 성장에 신경써야 한다. 관리자도 리소스의 일부이므로 직원이 일을 잘 할 수 있도록 돕는 사람이 되어야 한다. 직원이 스스로 성과, 행복, 성장을 확인하고 관리자를 사용하도록 해야 한다. 관리자가 모든 것을 다 해줄 수는 없으므로 스스로 자신의 역량과 행복을 이끌어 내도록 도와주는 역할을 한다. 성과를 확인할 때는 개인이 일을 잘하는지, 팀이 잘하는지, 무엇을 잘했는지, 무엇이 힘들었는지 구체적으로 질문해야 하며 가장 중요한 것은 회사 차원에서 일이 잘 진행되는지, 개인이 만족하는지, 의미있는 일을 하는지의 여부이다. 

훌륭한 개발자의 7가지 요건은 다음과 같다.

– 생산성 (의미있는 제품과 코드를 많이 만드는지)
– 프로의식 (책임감)
– 팀워크 (협업, 소통)
– 지식 (도메인, 소프트웨어)
– 기능성 (제품성)
– 코딩 능력 (코드의 간결함)
– 구조 설계와 아키텍쳐

회사는 위 기본을 갖춘 사람의 성장을 도와야 하며 성과와 성장이 연결되지 않으면 현재의 성과가 지속될 수 없다. 지금 성장해야 미래의 성과도 보장되는 것이다.

직원은 회사에서 의미있는 일을 했을 때 가장 큰 행복과 만족감을 느낀다. 회사에 자신이 기여를 했다고 느낄 때 자존감이 생기고 자존감이 높아질 때 직원은 행복을 느낀다. 사내에서 직원의 행복은 일과 관련된 것이어야 한다. 일을 하는 이유는 일 자체의 즐거움, 일을 통한 성장, 비전, 목표와 일과의 연결성이다. 생각한 꿈과 현재의 일이 연결되어 있으면 하는 일이 힘들지 않다. 먼 미래가 아닌 10년 후, 5년 후, 내일하고 싶은 일을 정해두어야 과정에서 오는 시련을 이겨낼 힘이 생긴다. 직원이 성장해서 다른 회사를 가게 되더라도 아깝지만 어쩔 수 없다. 오히려 성장하지 못하는 직원이 회사에 짐이 된다.

하고 싶은 일을 계획해두면 계획대로 살게 된다.
세상은 계획을 가진 사람의 계획대로 움직이는 것이다. 

관리자라면 팀원에게 원하는 바를 듣고 도와주는 성장형 조직을 만들어야 하며 스타트업이라면 특히 더욱 중요하다. 

성장은 역량, 잠재력, 현재 성과를 함께 살펴야 한다. 성과는 역량보다 아래에 있으므로 역량을 넘어서는 일을 하면 실패하기 마련이다. 역량과 비슷하거나 조금 더 어려운 일을 수행하면 크고 작은 실패를 경험하면서 성장하게 된다. 역량도 근육과 같아서 비슷하거나 조금 높은 수준의 일을 해야 역량이 높아지며 쉬운 일은 아무리 많이 해도 역량이 늘지 않는다.

잠재력은 높은데 역량이 자라지 않는다는 고민이 생긴다면 쉬운 일만 해서 그런 것이다. 어려운 일을 통해 실패를 경험하고 깨달음을 통해 역량을 올려야 잠재 능력을 실현할 수 있다. 실패는 초기에 하는게 좋으며 감당할 수 없는 큰 실패나 막바지 실패를 하지 않도록 유의해야 한다. 사람은 성공만이 아니라 실패에서도 배우므로 실패에서 교훈을 얻고 성장할 수 있도록 성공과 실패 요인을 분석하고 다시 시도할 때의 방법을 고민한다. 

프로세스는 모든 것의 바탕이다. 제품, 기술, 사람 등 모든 영역에서 프로세스가 필요하다. 문서와 인력으로 진행하는 프로세스는 언제 어긋날지 모르므로 모든 프로세스는 최대한 시스템에 녹여내는 게 좋다. 사내 프로세스가 동일해야 다른 조직 업무에 투입되어도 빠르게 일할 수 있으므로 시너지를 낼 수 있다. 회사가 커질수록 프로세스를 통일시키는 것이 중요하므로 회사가 작을 때부터 프로세스를 통일하는 것이 좋다. 

혁신적인 아이디어는 어디서든 얻을 수 있다는 신념을 가지고 업무 시간의 15%를 아이디어 창출에 사용하는 3M의 원칙은 혁신을 이끄는 원동력으로 볼 수 있으며 지속적으로 최적화하는 회사의 좋은 사례이다. 회사의 생애 주기 진행 속도는 회사마다 천차만별이며 생명을 길게 가져가기 위해서는 프로세스가 제대로 잡혀있어야 한다. 

프로세스 관점에서 팀 성과는 개인 성과와 다르다. 팀 성과 평가는 생산성, 소통, 프로세스를 기준으로 평가한다. 모든 조직에는 문제가 있으며 문제를 해결하려면 프로세스가 제대로 세워져 있어야 한다. 

회사를 네 가지 관점에서 점검할 수 있는 balanced card는 재정 안전성, 고객의 제품 만족도, 내부 프로세스, 교육과 성장이다.

재정 안전성은 매출과 지출 규모를 통해 확인한다. 고객을 만족시키려면 고객을 생각하며 제품을 개발해야 하며 고객이란 회사 외부만이 아닌 내부에 있는 모든 직원도 고객이다. 모두가 제품을 사용하고 좋아해야만 성공할 수 있다.

프로세스는 일이체계적으로 돌아가는지에 대한 여부이며 교육은 직원과 회사가 함께 성장하기 위한 방법이다. 

변화는 회사에서 매우 중요한 부분으로 회사는 변하지 않으면 망하지만 변화는 어렵기 때문에 매우 조심히 관리해야 한다. 변화는 한 군데에서 시작하지만 모든 분야로 퍼져나가며 변화가 무뎌질 때 조직에 어려움이 온다. 

비전이 정립되어 있으면 회사가 하나로 뭉쳐 비전 안에서 문화가 탄생한다. 비전에 대한 세세한 가이드나 사상을 핵심 가치(core value)라고 하며 핵심 가치를 정하고 지키면 조직 문화가 만들어진다.

문화는 미리 세워진 가치와 정책에 의해 결정되므로 비전과 가치가 결정되어야 문화가 따라간다.

조직 문화는 사람들이 생각하고 행동하고 일하는 방식이다. 문화는 제품, 기술, 프로세스의 바깥 영역에서 돌아가며 사람들이 생각하고 행동하고 해야할 일을 자연스럽게 결정해주는 큰 개념이다. 제품, 기술, 프로세스가 결과에 가깝다면 조직문화는 모두를 아우르는 운영체제에 가깝다. 운영 체제에 따라 프로세스가 만들어지고 프로세스에 따라 모든 일이 결정된다. 

직원을 채용할 때는 좋은 사람을 뽑는데 집중하기보다는 잘못된 사람을 뽑지 않기 위해 노력해야 한다. 좋은 회사를 다녔다고 해서 좋은 사람인 것은 아니므로 이전 회사에서 어떤 일을 했고 어떤 성공과 어떤 실패를 경험했는지가 중요하다. 한 사람의 경력을 회사를 기준으로 봐서는 안되고 좋은 회사를 짧게 다녔어도 위험할 수 있다. 반대 입장에서도 마찬가지이므로 채용을 대충 진행하는 회사가 있다면 대충 채용한 사람들과 함께 일하게 되는 것이다. 

면접관은 지원자를 너무 마음에 들어하면 객관적인 평가를 하기가 어렵다. 블리자드는 면접 후 면접관이 모여서 점수로 투표하는데 최고점과 최저점을 제외한다. 본인과 코드가 맞는다는 이유만으로 최고점을 주거나 반대의 경우가 발생할 수 있기 때문이다. 따라서 지원자도 면접 분위기에 따라 당락의 기준을 잡는 것이 아니라 전문 지식과 이력에 집중해야 한다. 

프로세스는 도로 체계와 같아서 좋은 프로세스라면 문제가 발생하지 않아야 하며 적합하고 효율적이어야 한다. 잘 만든 프로세스는 반복해서 사용하는 것이 중요하며 기술, 서비스, 문화의 변화에 맞게 프로세스도 변해야 한다. 그리고 프로세스는 데이터를 근거로 해야 한다. 

개발자가 실력을 키우는 방법은 공부하고 반복하고 경험하기다. 개발자는 어떤 자리나 회사를 목표로 하는 것이 아니라 어떤 사람이 되거나 어떤 것을 해야겠다는 것을 목표로 삼아야 한다. 어떤 회사에 지원하는 이유는 그 곳에 하고 싶은 일이 있어서이다. 따라서 나의 역량에 집중하면 기업의 흥망과 상관없이 내가 원하는 일을 할 수 있게 된다.

이력서는 지원하는 회사에 최적화해서 해당 회사에 왜 가고 싶은지, 왜 뽑아야 하는지, 무엇을 하고 싶은지를 이력서에 꼭 써서 제출해야 한다. 그동안 해온 일과 지원하는 회사를 매칭해야 하며 읽는 사람이 보고싶어 할 내용으로 최적화해야 한다.

코딩 테스트는 기초 지식과 연결되며 알고리즘 문제의 난이도가 높아짐에 따라 업무만으로는 테스트를 통과하기가 쉽지 않다. 따라서 시니어라도 코딩테스트를 따로 준비하는 게 좋으며 과정이 무의미하다고 생각할 필요는 없다.

역량이 없는 상태에서 취업 성공은 위험하다. 역량이 있으면 다시 시도할 수 있으므로 실패하더라도 역량을 키우는 실패가 낫다. 역량없이 이룬 성공은 우연이며 우연은 반복되지 않는다. 한 프로그램을 여러번 다시 만들어보면 더 잘 만드는 방법을 고민하게 되고 개발 역량이 자란다.

면접 시 지원 동기를 묻는 질문은 중요하며 모범 답안은 이직할 회사의 서비스나 기술에 대한 흥미이다. 

소프트웨어 개발자로 성공하는 3가지 요소는 재능, 노력, 기회이다. 재능이 있더라도 많은 노력이 필요하며 지속적으로 노력하면 언젠가는 기회가 찾아오기 마련이다. 따라서 기회가 올 때까지 자신에게 집중하고 가고자하는 길을 구체적으로 그려보고 필요한 역량을 채워나가면 된다. 

스티브 잡스가 똑똑한 사람들을 고용해서 무엇을 할지 알려주는 것은 이치에 맞지 않으므로 그들을 고용해서 우리가 무엇을 해야할 지 알려줄 수 있도록 해야한다고 하였다. 그러므로 스타트업은 새로 채용한 사람의 말을 듣고 기존 아이디어와 새 아이디어가 합쳐져 자연스럽게 제품이 진화하도록 해야 한다. 이후 제품을 빠르게 출시하고 반응을 보면서 계속 업데이트하는 지속적인 피봇팅(pivoting)이 중요하다.

기술의 우월성도 중요하지만 시장에서 최고의 기술만이 대표 상품이 되는 것은 아니다. 잘 만들었다면 역시 잘 팔아야 한다. 조금 느리더라도 변화를 계속 만들고 변화에 유동적으로 방향을 맞춰야 탁월한 기술력이 빛을 발하고 사업을 지속적으로 영위할 수 있다.

모든 것을 잘하는 직원은 훌륭한 관리자가 필요없지만 반대로 문제가 많은 직원에게는 훌륭한 관리자가 필요하다. 따라서 훌륭한 관리자가 되고 싶다면 문제있는 직원을 만나고 훌륭한 직원이 되고 싶다면 문제있는 관리자와 일해야 성장한다. 다른 사람의 약점은 자신의 강점을 키울 기회이다. 

개발자는 기술적, 제품적인 면에서 실패할 가능성을 파악하고 제거해야 하며 성공은 시장이 결정하지만 실패는 개발자가 의도치않게 만들어낼 수 있다.

경쟁 회사가 만든 제품도 써보고 분석도 해야 하지만 그와 같은 제품을 만들 수 있었던 과정인 회사의 조직 문화도 확인하고 문화를 개선해야 한다. 

기민한 조직이 되려면 모두가 비전을 정확하게 맞춰야 하고 목표 달성에 헌신하지 않을거라면 뒤로 물러나야 한다.

쇠사슬의 강도는 가장 강한 부분이 아니라 가장 약한 부분이 결정하므로 다양성도 이 관점에서 보고 약한 부분을 빨리 발견하는 것이 좋다. 다양성이 있는 문화는 모두가 기여하고 싶어하므로 자신의 생각을 이야기하고 이런 환경에서는 문제와 약점을 조기에 발견하고 개선할 기회가 주어진다. 

일을 어제처럼 하면 어제만큼의 성과만 나온다. 따라서 더 나은 성과를 만들려면 한계를 뛰어넘는 것이 아니라 한계를 치워버려야 한다. 

조직 문화에 변화를 주려면 변화를 하겠다는 말을 하지 않고 천천히 조금씩 안 보이게 시도하는 것이 중요하다. 변화를 이야기하는 순간 오랜 시간 체득한 습관을 바꾸어야 하므로 쉽게 움츠러들기 때문이다. 습관은 개인에게 해당하는 프로세스로, 변화를 만들려면 습관을 바꿔야 하고 습관을 바꿀 때는 작은 것부터 시작해야 한다.

조직이 애자일하다는 것은 실무자한테 권한을 더 주는 것이다. 실무자의 의견을 많이 들어야 빨리 움직일 수 있다. 한 사람만 결정권을 가지고 있으면 속도가 나올 수 없으므로 모두가 결정권을 가지고 있어야 한다. 정책, 시스템, 문화를 바꾸고 실무자에게 권한을 주고 리더 교육을 진행할 때 변화가 생기고 변화가 조직 문화를 바꾼다. 

개인이 모여 조직과 회사가 되므로 회사가 변하려면 구성원 개인이 변해야 한다. 일본 경제학자 오마에 켄이치(大前研一)가 말하는 사람이 바뀌는 세 가지 효과적인 방법은 다음과 같다.

– 시간 배분을 변경한다. (時間配分を変える)
– 사는 장소를 바꾼다. (住む場所を変える)
– 함께 어울리는 사람을 바꾼다. (付き合う人を変える)

그리고 새로운 결심이 가장 무의미하다. 

직원이 오래 근무해야 조직과 회사가 오래가고 다양한 일을 경험해 볼 수 있는 문화를 만들어야 큰 그림을 볼 수 있다. 따라서 다양한 직군의 사람과 교류하는 것이 중요하다.

무작정 모든 것을 열심히 하기보다는 시간 관리가 중요하다. 효율보다는 생산성이 중요하므로 중요한 일을 잘하는 것이 중요하다. 속도보다 방향이 중요하므로 시간을 아껴서 뭔가를 빠르게 해내는 것이 아니라 정해진 시간 안에 무엇을 어떤 방향으로 어떻게 할지 고민해야 한다.

시간 관리는 시간을 쓰는 프로세스를 바꾸는 것이다. 항상 목표와 계획을 세우고 실천한 뒤 측정해야 하며 반복을 통해 최적화를 해야 한다. 시간을 쓸 때도 목표를 세우고 그 안에서 계획을 만든 뒤 실천하고 반복한다. 어떤 일을 하든 일하는 방식 자체를 체계적으로 관리해야 시간도 체계적으로 쓸 수 있다. 계획을 세우는 것은 목표가 있다는 것이며 목표가 계획을 만들게 한다. 바쁘기만 한 평범한 직장인이 일상에서 벗어나지 못하는 이유는 계획이 없기 때문이다.

혼자만의 몰입이 팀과 회사의 성과에 도움이 되어야 하며 혼자 풀지 못하는 일은 주변에 도움을 요청해야 한다. 결국 도움을 요청하는 것이 시간을 절약하는 것이다. 따라서 일을 시작할 때는 기한을 정하고 중간 점검을 통해 몰입의 역기능을 방지하고 팀 전체의 시간을 관리해야 한다.

사람은 자기가 하는 일을 남에게 주지 않고 끌어 안으려는 경향이 있으므로 계속 버리는 연습을 해야 한다. 

결과를 바꾸고 싶으면 과정을 바꿔야 한다. 결과에 차이가 없다면 일하는 방식, 즉 시간을 쓰는 방식을 바꿔야 한다. 방식을 바꾸려면 쓰는 시간을 측정해서 전체 상태를 파악하고 쓰는 시간을 바꿔서 방향을 바꿔야 한다. 

쓴 시간을 측정하는 목적은 최적화이다. 최적화의 우선 순위는 가장 덩치가 큰 것부터다. 시간 최적화는 낭비를 없애 일하는 방법으로 낭비만 없어져도 시간 관리에 큰 도움이 된다. 주식과 마찬가지로 시간을 벌려면 시간을 써야 하며 바쁠수록 시간을 잘 사용하고 있는지 체크해야 한다. 

회의는 프로덕트가 아니므로 일하는데 시간을 써야 한다. 따라서 회의를 시간을 잡아먹는 하마라고 생각하고 꼭 필요할 때만 써야 한다. 

브레인스토밍 회의는 회의에 적합하지만 정보 전달회의는 이메일이 더 적합하다. 토론 회의는 많은 준비가 필요하므로 준비하지 않으면 생산적이지 않고 정보 전달에 그치므로 미리 자료를 공유하고 아이디어를 가지고 모여야 한다. 따라서 토론 회의는 정말 준비된 사람들만 모여야 한다. 

휴식도 시간을 사용하는 행위이며 계획적으로 몰입해서 쉬어야 효과가 좋고 창조 능력을 유지할 수 있으며 더 효율적으로 일할 수 있다. 

어느 직군이나 똑같겠지만 시간 관리와 방향성 그리고 자신의 분야에 대한 꾸준한 관심과 연구, 학습만이 오래도록 즐겁게 일을 할 수 있게 해주는 묘약인 것 같다.

[BOOK] 세상에서 가장 쉬운 본질육아

아이와 부모 모두 인생을 잘 살아가는 법

아이를 낳으면 부모의 인생이 끝나고 아이의 인생이 시작되는 것이 아니다.

부모도 스스로를 먼저 돌아보고 배우고 성장해야 아이도 배우고 성장할 수 있다.

아이 뿐 아니라 부모도 인생을 잘 살아가야 한다. 

육아에 있어 자신의 삶을 포기하고 아이에게만 집중하는 것은 출발점이 잘못된 것이다. 내 삶을 포기하고 아이의 삶을 설계하는 것은 아이를 독립적이고 자주적인 성인으로 키우기 어렵다.

사람의 자존감을 해치는 건 주로 비교에서 시작된다. 자신이 제때 성취를 이루지 못한다고 생각하면 자존감이 떨어지고 자존감이 낮아지면 사람과의 관계에 영향을 미치게 된다.

육아 휴직이라는 역할 전환에 의해 아이를 잘 키워 자존감을 회복하겠다는 생각이 아이와 나를 같은 객체로 보게 하고, 아이를 대리만족 수단으로 여기게 될 수 있다. 따라서 부모의 자존감을 먼저 건강하게 만드는 것이 중요하다. 

다음으로 중요한 것은 삶에서 중요하게 여기는 가치이다. 

내가 추구하는 가치는 다음과 같다.

자율성, 도전정신, 행복, 우정, 긍정, 안정성, 지혜

부모의 근본적 역할 중 하나는 아이의 삶에서 등대가 되어줄 가치를 가르치는 것이다. 그리고 그 전에 부모의 가치부터 먼저 바로 세워야 한다. 부모의 삶에서 묻어나는 중요한 가치는 아이에게 그대로 전달되기 때문이다. 그 가치를 자신의 삶에서도 추구해야 모순되지 않는 가치를 아이에게 잘 전달할 수 있다.

그리고 부모 자신의 장점을 잘 알아야 한다. 단점만 지적하는 사회에서 자신의 장점을 찾을 수 없다면 자기 자녀의 장점도 찾기가 힘들다.

그리고 나에게 주어진 것으로 무엇을 할지 삶에 관한 질문을 던져야 한다. 나에게 주어진 것으로 무엇을 하며 어떻게 살아갈지 생각하고 자녀도 이 질문에 대답할 수 있는 사람으로 키워야 한다.

자녀를 키우는 궁극적인 목적은 자녀가 주도적이고 독립적인 성인으로 자라게 하는 것, 즉 자립이다. 행복은 부모가 만들어주는 게 아니라 아이가 찾아가는 것이다. 따라서 궁극적으로 육아에 대한 판단은 아이의 자립에 도움이 되는지의 여부에 따라 결정해야 한다. 

아이 때문에 우울해지거나 창피해지는 것은 건강한 관계가 아니므로 아이를 부모 욕심의 희생양으로 만들지 말아야 한다. 따라서 자녀와 정신적, 물리적으로 분리되어 적절한 거리를 유지하지 못하면 육아는 실패한 것과 같다. 

아이를 키울 때 가장 중요한 원칙인 사랑과 보호, 가치와 마음자세를 가르치는 것만 지키면 세세한 것은 상황에 맞춰가면 된다.

아이는 쌀과 같아서 밥을 하는 것과 같이 물 넣고 뚜껑 덮고 불을 지펴서 기다리기만 하면 된다. 밥을 할 때 뚜껑을 열거나 양념을 하지 않듯이 인내심을 가지고 믿고 기다려주면 각자 고유의 밥맛을 내는 쌀처럼 아이도 그와 같을 것이다.

잠재력은 눈에 보이지 않는다. 자라면서 서서히 펼쳐져 나오므로 모든 아이가 큰 잠재력을 가지고 있다는 것을 믿어야 한다. 부모가 믿는 만큼의 잠재력을 아이들은 가지고 있다. 부모의 역할은 뭔가를 주입하는 게 아니라 이미 가지고 있는 잠재력을 펼쳐내도록 도와주는 것이다.

아이의 잠재력은 관심과 흥미의 표현으로 꺼낸다. 관심과 흥미에 대해 가치 있게 받아들여주면 계속해서 잠재력을 끌어내게 된다. 또한 사랑 다음으로 중요한 존중, 인정의 감정을 채우게 된다. 아이들은 자신의 존재 가치와 강점을 흥미와 관심으로 표현하면서 길러간다. 아이가 원하는 것을 다 들어주라는 것이 아니라 경청해주고 같이 관심을 가져주는 것이 중요한 것이다.

아이가 가진 단점과 약점이 있지만 의식적으로 강점과 장점에 더 집중해야 한다. 앞으로는 한 가지를 더 잘하는 사람이 더 큰 가치를 인정받을 수 있다.

아이는 저마다의 장점과 단점, 성향을 타고난다. 부모는 그 잠재력을 최대한 끌어내도록 돕는 것이지 세상의 획일적인 틀에 맞추는 것이 아니다. 

다른 아이들과 다른 것에 대해 불안하다면 이 말을 되새겨야 한다.

Only dead fish go with the flow(죽은 물고기만이 물결을 따라간다).

부모가 아이의 다양성을 존중해주면 아이는 자신의 존재 가치를 알게 되어 더 행복해질 수 있다. 다양성이 죽은 곳에 열등감이 자라고 열등감은 낮은 자존감으로 연결된다.

아이에게 상대적 존재 가치가 아닌 절대적 존재 가치를 가르쳐야 하고 무조건적인 사랑을 알려줘야 한다.

아이의 노력과 수고를 인정하고 고마워해주는 말만큼 아이 스스로를 뿌듯하게 해주는 말도 없다. 칭찬할 때는 결과가 아닌 과정을 칭찬해야 한다. 또한 존재 자체와 탄생에 고마움을 표현해주면 아이들은 사랑과 인정으로 풍성해진다. 사랑과 인정은 인간 관계에서 정서적으로 받고 싶어 하는 가장 큰 필요이자 욕구이다. 이를 통해 아이의 자존감이 단단해지고 쉽게 흔들리지 않는다.

20초 허그법은 아이들의 정서 안정과 발달, 자존감에 큰 도움이 되는 가성비 최고의 요법이다. 

자존감이 낮아지는 이유로 자신의 부족한 점과 단점을 든다. 그러나 단점을 오히려 당당하게 드러내면 그것은 더 이상 약점이 아니게 된다. 우리가 자신에 대해 부족하다고 생각하는 게 절대적인 부족함은 아니라는 걸 지각해야 한다. 다만 약점과 단점을 다 포함해도 자신이 가치있는 사람이라는 확신을 가질 수 있어야 한다. 

인지행동치료는 생각에 따라 감정이 달라지고 감정에 따라 행동이 달라지는 것을 기본으로 하는 치료 방법이다. 사람의 생각을 바꾸도록 하면 감정과 행동도 호전된다. 이 이론에서 모든 생각의 근원으로 보는 것을 핵심 신념이라고 하는데, 이는 나와 다른 사람 그리고 세상에 대한 근본적인 믿음이다. 생각이 감정을 낳고 감정이 행동을 낳는 상황이 반복되면서 결과가 자신의 신념대로 이루어져 가기 때문에 나의 생각에 따라 나의 현실은 상당히 달라진다.

아이에게 가르칠 네 가지 가치는 신뢰성(integrity), 책임감(responsibility)과 성실함(diligence), 기여(contribution), 배려(consideration)이다.

아이가 살아가는 마음자세는 긍정적인 마음자세가 가장 도움이 된다. 무조건 다 잘될거라는 태도가 아니라 어떤 상황에서도 좋은 점과 나쁜 점이 공존한다는 생각이다. 긍정적인 아이는 힘든 일을 맞아서도 더 용감하게 회복탄력성을 가질 수 있다. 

다른 어른이나 친구에게도 영향을 받을 수 있지만 부모의 영향은 비교가 되지 않을만큼 크기때문에 부모가 모범을 보이는 롤모델이 되어야 한다.

물론 부모도 완벽하지 않기 때문에 나는 문제가 없고 모든 것을 다 알고 있다는 태도는 가장 먼저 내려놓아야 할 자세다.

많이 성취한 사람들은 기여를 최고의 원동력으로 삼는다. 이와 같은 내적 동기를 심어주기 위해서는 아이들에게 저절로 나오는 흥미와 호기심이라는 강한 내적 동기를 이용해야 한다.

아이에게 세상에 대한 호기심과 영감을 불어 넣어주면 아이는 스스로 삶을 개척하며 필요한 기술과 지식을 배워간다.

인간에게 의미는 경쟁보다 강한 원동력이다. 의미는 바로 그 일 자체에서 우러나는 내적 동기다. 

외적 동기는 내적 동기를 약화시킨다. 그러나 내적 동기만으로는 어려운 상황이 있을 수 있으므로 내적 동기와 외적 동기의 시너지 효과를 내도록 하는 것이 좋다. 

내적 동기는 행복하게 사는 데도 매우 중요하다. 행복에서 중요한 개념이 바로 만족감이다. 

자기 삶에 만족감을 느낀다는 것은 현실에 안주하는 것과는 다르다. 살아가고 일을 하는데 의미를 가진 사람은 의미를 계속 펼치고 성장하기 마련이다. 

미국 교육계에서 강조하는 4C는 creativity, critical thinking, collaboration, communication이다. 이 4C를 키우는 가장 좋은 방법은 놀이다. 이 능력 발달에 아주 좋은 놀이는 틀이 없는 놀이이며 자연은 무척 좋은 놀이 대상이다. 

아이가 주도적으로 놀게 하는 방법은 praise, reflect, imitate, describe, enthusiasm이다. 공감과 경청을 하면 자연스레 아이의 말과 행동을 반사하고 묘사하게 되는데 중요한 것은 부모가 자신에게 집중하고 있다는 느낌을 아이에게 주는 것이다. 

어릴 때일수록 많이 넘어지고 일어나는 경험을 해야 시련에도 단단한 사람이 될 수 있다. 

실패는 지거나 잃은 것이 아니라 안된다는 정보를 얻은 것이고 개선할 방법을 얻은 것이다. 

실패는 일부러 하는 것이 아니라 뭔가에 도전하는 것이다. 실패를 피하려고만 하는 아이는 크게 성장하지 못한다.

실패를 경험해 본 아이는 회복탄력성이 커지고 자신감이 생긴다. 그 바탕에는 부모의 조건없는 사랑이 필요하다.

대사 조절을 하는 시상하부는 생각 회로가 감사로 바뀌면 활성화되어 몸과 호흡이 편안해지며 혈압, 잠, 식욕 등이 조절된다. 세로토닌과 도파민도 증가하게 되어 기분이 좋아지거나 동기 부여가 된다. 도파민은 보상 받는 느낌을 주므로 또 하고 싶어지는 동기가 부여된다. 감사 일기를 쓰면서 뇌를 지속적으로 훈련한 사람들은 감사 회로가 더 쉽게 활성화된다. 감사는 쌍방향이므로 감사를 받는 상황에서도 똑같은 뇌 반응이 일어난다. 

어릴 때부터 놀면서 예체능을 많이 접한 아이들은 게임에만 과몰입하는 경우가 드물다. 따라서 어릴 때부터 마음껏 놀게 해주면 게임과 스마트폰의 과몰입을 예방할 수 있다. 어릴 때부터 공원이나 산, 캠핑 등을 자주 가본 아이들은 대부분 가족과의 이런 시간을 즐긴다. 

부모의 역할은 아이가 말을 잘 듣게 만드는 것이 아니라 어떻게 하면 아이가 좋을 선택을 할 수 있을지 도와주는 것이다. 

WHO에서 만1세 아래로는 스마트 기기를 보여주지 말고 만5세 미만은 한 시간 미만으로 제한하라고 한다. 어린 나이에 스마트 기기에 너무 많은 시간을 쓰면 한 영역에만 자극을 주어 고른 뇌 발달을 저해할 수 있기 때문이다.

본인에게 통제력과 조절을 주면 안정감을 줄 뿐만 아니라 책임감도 생긴다. 이것이 내적 동기다. 

자기조절력을 기르려면 자기 인식을 가르쳐야 한다. 아이가 스스로의 감정을 알아차리지 못한다면 부모가 잘 살피고 말해줘서 자기 인식을 올려줘야 한다. 

아이가 요구하는 것이 있을 때는 기다릴 줄 알도록 가르쳐야 한다. 

안 좋은 상황에서 사람은 자동적으로 부정적인 생각을 하게 되는데 자율신경계 중 교감신경이 항진되면서 숨이 가빠지고 동공이 커지면서 눈이 동그래지고 심장이 뛴다. 이 때 호흡을 천천히 해주면 부교감 신경이 항진되면서 몸에서 뇌로 신호가 가서 상태가 전환된다.

아이의 정서가 건강하게 잘 발달하려면 만족감(gratification)과 좌절감(frustration)을 둘 다 균형을 이루어 경험해야 한다.

따라서 아이가 매번 좌절감을 느낄 때마다 부모가 이를 제거해주기보다 불편한 감정이 들고 견디도록 도와줘야 한다. 

부모가 스스로 조절하는 모습을 보여주면 효과는 더욱 강력해진다. 아이가 뒤집어지고 난리가 나도 부모가 평정심을 유지하면 아이는 그 모습을 보고 배운다. 

신경다양성(neurodiversity)이란 뇌가 다 다르다는 뜻이다. 따라서 평균이 아니라 개인의 다양성을 존중하고 내 인생은 살 만하고 미래는 희망적이라는 생각을 하는 아이로 길러야 하는 것이다.

평균적으로 본인이 잘 하고 있다고 생각하는 아이는 잘 하는 아이 앞에서는 열등감, 못하는 아이 앞에서는 우월감과 교만을 느끼게 된다.

행복한 부모는 아이에게 믿음을 가지고 있고 불안한 부모는 잠재력을 믿기 어려워한다. 아이들은 남을 이기려고 세상에 온 게 아니라 성장하러 온 것임을 잊지 말고 기본만 잘 해주면 아이는 스스로 잘 큰다.

우리의 자녀들은 존재 그 자체만으로 절대적인 존중을 받아야 한다. 각자의 자율성을 존중해야 하고 아이를 사랑하면서 성인이 되어 자립하고 자신의 삶을 스스로 개척해 나갈 수 있도록 준비해 줄 책임이 있다.

이를 위해 자율성을 존중하고 길러주면 부모로서의 역할을 다 한 것이고 아이는 자신의 행복을 스스로 찾아갈 줄 아는 사람이 될 것이다.

[BOOK] 기억의 뇌과학(Remember)

Remember: The Science of Memory and The Art of Forgetting

관심이 많은 분야이다보니 기록할 것도 많고 꼼꼼히 읽다 보니 적은 페이지 분량에도 불구하고 꽤나 오랜 시간이 걸렸다. 하지만 아주 유익한 시간이었다.

사람은 뇌의 관여로 인해 초콜릿과 섹스를 갈망하고 또 타인의 기쁨과 고통에 공감하며 스스로의 존재를 인식한다.

기억은 뇌가 수없이 행하는 복잡하고도 놀라운 기적이다.

기억은 학습에 반드시 필요하고 기억이 없이는 어떤 정보나 경험도 간직할 수 없다.

인생에서 중요한 의미를 갖는 사실과 순간들이 하나로 이어져 삶의 서사와 우리의 정체성을 이루며 기억이 있기에 우리는 스스로가 누구인지 또 어떤 사람으로 살아왔는지 지각한다.

대다수의 사람들은 오늘 경험한 일의 대부분을 내일이면 잊는다. 생각해보면 결국은 인생의 대부분을 잊어버리고 산다.

기억은 결국 우리가 기억하고 망각하는 것들의 총합이며, 기억과 망각 모두 어떤 면에서는 과학이기도 예술이기도 하다.

기억이 만들어지기 위해서는 각각의 경험에 대응해 서로 무관하게 일어나던 신경 활동이 하나의 패턴으로 연결되어야 한다. 이후 신경세포들 간의 연결 구조가 변하면서 패턴은 지속성을 갖게 된다. 새로 형성된 신경회로가 점화되면 영구적으로 달라진 신경 배선과 연결 구조를 경험하며 기억을 할 수 있게 된다.

우리가 주의를 기울이는 것은 의식적으로 노력하는 것이다. 부주의는 뇌 활동의 기본 설정값이다. 뇌는 주의를 기울인 대상에만 집중하기 때문에 먹구름에만 초점을 맞춘다면 햇살이 부신 순간이 와도 알아차리기 힘들다. 

우리는 보고싶은 것만 본다. 날마다 즐거운 것만 보려 하고, 기쁘고 경이로운 순간에만 집중한다면 인생은 우리를 미소 짓게 만드는 기억만으로 가득하게 될 것이다.

전전두피질(prefrontal cortex)에 저장되는 기억은 현재 의식에 머물러 있는 작업기억(working memory)이다. 시각적인 시공간메모장(visuospatial scratchpad)과 청각적인 음운루프(phonological loop)가 있으며 이 공간에 기억은 15~30초, 5~9 개의 정보를 보관할 수 있다.

순간에 주의를 집중하고 순간이 충분한 의미를 지닌다면 순간의 경험이 장기 기억으로 강화될 수 있다. 장기 기억은 정보, 사건, 방법의 세 가지 유형이 있다.

의미기억(semantic memory)은  학습한 지식, 삶과 세상에 관한 사실들을 저장해둔 뇌의 백과사전으로, 시간 제약이 없고 단순 사실만을 다룬다. 의미기억은 공부하고 연습해야 만들어지며 기억을 유지하겠다는 뚜렷한 의도와 목표도 있어야 한다. 

일화기억(episodic memory)는 이전에 일어난 일, 특정 장소, 시간과 묶여 있는 정보로 개인적이고 언제나 과거에 일어난 일이다.

정보를 일정 시간에 걸쳐 간격을 두고 외우면 내용이 해마에서 완전히 강화될 수 있는 시간이 확보되는데 이를 기억의 간격효과(spacing effect)라고 한다. 따라서 공부할 내용을 시간 간격을 두고 조금씩 외우면 더 많이 기억하고 덜 잊어버리게 된다.

기억은 정보를 뇌에 강하게 심는 과정과 정보를 꺼내오는 과정을 모두 포함하므로 효과적인 학습은 정보를 뇌에 반복적으로 노출시키면서 반복해서 꺼내는 두 가지 방법을 모두 사용하는 것이다. 따라서 스스로 묻고 답하는 연습이 중요하다. 학습한 정보를 인출하는 과정에서 신경세포 간에 형성된 경로가 한번 더 활성화되고 강화되며 기억이 더욱 견고해지는 것이다.

외우려는 정보를 반복해서 읽기만 하면 수동적인 행위 반복에 불과하므로 정보를 꺼내오지 못한다. 따라서 반복해서 질문하고 답하는 것이 반복해서 읽기만 하는 것보다 더 효과적이다.

그리고 기억의 형성에는 의미도 중요한 역할을 한다.

우리의 뇌는 지루하거나 무의미한 것들은 알려고 하지 않으므로 더 많은 정보를 기억으로 남기고 싶다면 나에게 의미 있는 정보가 되게 해야 한다. 의미 부여는 기억술(mnemonic, 무의미하거나 서로 관련이 적은 낱말, 문장 등 기억 대상을 잘 알고 있는 것이나 습관적인 배열 등과 연관지어 쉽고 정확하게 기억하는 방법)의 원리이기도 하다.

장소기억법, 기억의 궁전(mind palace)은 물건이 어디 있는지 이미지화하고 기억하도록 진화된 뇌를 사용하는 방법이다. 시각과 공간의 이미지를 활용하는 우리의 능력을 통해 기억 대상을 물리적 장소와 연상으로 묶을 수 있다. 이를 통해 정보를 시각적 형상과 장소에 결합하여 정교하게 부호화한다. 뇌는 시각 공간적 형상화를 즐기므로 이를 통해 능숙하게 기억하는 것이 가능하다.

더 많이 아는 사람들이 똑똑하지만 세상에는 정보 말고도 기억할 것이 많은데 살면서 쌓인 인생 경험과 지식이 결합될 때 비로소 현명한 사람이라고 생각한다.

감정을 유발하는 경험은 그렇지 않은 경험에 비해 더 잘 기억에 남는다. 감정이 강력할수록 기억은 더 생생하고 세세한 내용까지도 정교해진다. 감정과 의외성이 편도체를 활성화하고, 자극을 받은 편도체가 해마에 강력한 신호를 보내기 때문이다.

전혀 예상하지 못하거나 극히 감정적인 일을 경험하게 되면 섬광기억(flashbulb memory)가 생성될 수 있다. 이는 충격적이고 굉장히 의미 있으면서 공포, 분노, 슬픔, 기쁨, 사랑 등 격한 감정을 불러일으킨 경험들에 대한 일화 기억이다. 

우리는 자신의 정체성과 인생관에 부합하는 기억을 저장하는 경향이 있다. 따라서 긍정적인 사람의 자서전적인 기억은 웃음, 감사, 경외로 가득하고 부정적인 사람은 부정적인 것과 마찬가지다. 

미래 기억(prospective memory)은 나중에 해야 할 일에 대한 기억이다. 뇌가 해야 할 일들을 미래의 어떤 시간, 장소에서 떠올려야 하는 기억이다. 우리의 미래 기억은 신경 회로가 제대로 뒷받침해주지 않고 쉽게 잊어버리기 때문에 단서를 남겨야 한다. 이 단서는 할 일을 적어두거나 알람, 체크리스트 등을 사용해 효과적으로 떠올릴 수 있다. 이렇게 기억해야 할 일을 미리 적어 놓는 것은 약하다는 증거가 아니라 얼마나 현명한지 보여주는 습관이다.

기억의 가장 강력한 적은 시간이다. 기억은 한시적이므로 보조 수단이 없는 상황에서 의도나 전략을 활용해 유지하려고 애쓰지 않으면 대부분을 잊어버리게 된다. 가파른 곡선을 그리며 떨어지는 기억은 시간이 지나게 되면 일정 수준을 유지하며 초기 다량의 정보를 잊어버리고 나서 남은 정보는 잊지 않게 된다.

이 시간을 견뎌내는 기억은 반복과 의미 부여이다. 저장된 정보를 유지하기 위해서는 계속 활성화하여 반복해야 한다. 의미 부여는 이미 알고 있는 지식이나 평소 중요하게 여기는 것들과 연관 지어 하나의 이야기를 만들거나 의미 있는 기억을 반복하여 더 강력해지도록 한다.

반대로 잊고 싶은 기억이 있다면 이 기억을 계속 떠올리지 않도록 해야 한다. 어떤 기억을 불러일으키는 단서나 맥락을 피할 수 없어 기억으로부터 벗어날 수 없다면 뇌에게 말을 통해 지시를 내리면 효과를 발휘할 수 있다. 새로운 기억이 완전히 생성되기 전에 기억 강화를 중단시키거나 이미 형성된 기억을 삭제하는 신경 신호 전달 프로그램을 활성화하는 방식이다. 또는 시각화를 통해 뇌가 스스로 기억을 삭제하게 할 수도 있다. 불쾌한 기억에 불이 붙어 사라지거나 적힌 글씨가 지워지는 것과 같은 모습을 시각화하는 것이다.

우리는 망각이 나쁘다고 생각하지만 잊는 것은 노화의 안타까운 징후이거나 우연이 아니다. 망각은 정말 중요하다. 덕분에 우리는 날마다 여러 방면에서 역할을 수행할 수 있다. 잊는 것은 결국 기억력 향상에 기여한다. 

우리는 망각 앞에 무기력하고 수동적인 희생자이며 누구나 그렇다. 하지만 망각은 때로 용의주도하고 적극적이고 의도적이고 의욕적이고 목표가 뚜렷하고 효율적이다. 지능을 갖춘 기억 체계는 정보를 기억할 뿐만 아니라 유용하지 않은 정보는 적극적으로 잊는다.

기억 체계가 최적의 기능을 수행하기 위해서는 정보 저장과 정보 삭제가 균형을 이루도록 섬세한 조정이 필요하다. 기억이 발휘할 수 있는 최적의 능력은 모든 것을 저장하는 것이 아니라 의미 있고 유용한 정보만 남기고 나머지는 버리는 것이다. 잊는 능력은 기억하는 능력만큼이나 중요하다.

나이가 들면 청각, 시각 기억이 모두 저하된다. 처리 속도는 삼십 대부터 떨어지기 시작하는데 이는 새로운 정보의 습득과 인출에도 더 많은 시간이 걸리는 것을 의미한다. 주의력을 유지하는 능력도 줄어드는데 이는 새로운 기억 생성에 영향을 미친다.

나이가 들면 기억은 좋은 일만 떠올리고 나쁜 일은 잊는 경우가 많은데 노화에 의한 기억저하와 처리 속도를 피할 수는 없지만 정기적인 운동, 명상, 충분한 수면(8시간)을 취한다면 기억이 나아지거나 기억 나이를 오랫동안 젊게 유지할 수 있다. 건강한 생활습관은 치매 예방 효과도 기대할 수 있다.

활발한 인지 활동이 알츠하이머에 강한 뇌를 만드는데 유용할 수 있지만 기억을 인출하는 기능을 비롯한 전반적인 기능은 나이와 함께 저하된다. 많은 사람이 기억능력 유지를 위해 두뇌 게임을 하지만 많은 시간을 쏟더라도 정신 기능의 건강이 보장되는 것은 아니다. 즉 나이가 들면 똑같이 기억력이 감소한다.

알츠하이머는 해마에서 시작되어 공간정보를 처리하는 두정엽, 전두엽, 전전두엽의 신경회로를 손상시켜 논리적 사고와 의사결정, 계획 수립, 문제해결능력 등에 문제를 일으킨다. 또한 기분과 감정을 제어하는 편도체와 변연계를 오염시켜 슬픔, 분노, 욕망 등을 조절하거나 억제하지 못하게 한다.

알츠하이머는 베타 아밀로이드라는 단백질이 시냅스에 찌꺼기를 형성하여 15-20년에 걸쳐 쌓여가다 한계에 도달하여 분자 구조가 무너지고 얽히면서 신경에 염증이 생기고 세포가 죽어 기억이 비정상적으로 소실된다고 본다. 처음 기억을 잃는 증상에서부터 마지막 단계까지 진행이 평균 8-10년이 소요되어 결국에는 모든 종류의 기억을 인출, 생성하는 기능이 심각하게 손상되는 것이다.

기억력 향상을 위해 가장 먼저 할 수 있는 일은 주의 집중이다. 그리고 맥락이다. 기억을 떠올릴 때의 맥락이 기억이 생성될 때의 주변 맥락과 일치할 때 우리는 기억을 훨씬 더 쉽고 빠르게 완전한 형태로 불러낼 수 있다. 즉 학습과 회상이 같은 조건 하에서 이루어질 때 우리는 학습한 것을 더 정확하게 기억할 수 있다. 

심리적 스트레스는 확신, 제어, 예측 가능성, 사회적 지원, 소속 등의 부재 인지로 인해 발생한다. 결코 현실에서는 발생하지 않더라도 단순 상상만으로도 뇌와 몸은 스트레스 반응을 온전히 경험하는데 그 강도로 따지면 실제 상황과 다름없다. 스트레스에 대해 몸은 투쟁 도피 반응인 교감신경계 반응으로 대응한다. 스트레스 호르몬은 아드레날린과 코르티솔이 있다. 

아드레날린은 효과가 빠르고 수명이 짧다. 심박율, 호흡, 혈압을 증가시키고 당장 필요하지 않은 세포 성장, 소화 등에 사용되는 혈액과 에너지를 팔다리로 보낸다. 또한 생각하는 능력을 제한하여 즉각 반응할 수 있게 한다.

코르티솔은 15분-1시간 후 활발히 분비되며 에너지를 동원해 스트레스에 물리적 대응이 가능하도록 하며 상황 종료 후 스트레스 반응을 완전히 멈추게 한다.

아드레날린과 코르티솔은 편도체에 신경전달물질을 분비하게 하고 편도체는 해마에 신호를 보내는데 이를 통해 기억을 강화하게 된다. 또한 코르티솔은 해마에 직접 작용할 수도 있다.

따라서 일시적인 요인에 의한 것이라면 스트레스는 기억 형성에 도움이 된다. 스트레스는 새로운 기억의 형성을 돕지만 감각과 주의력이 올라가는 대상이 좁아지므로 기억에 대한 세부 정보도 줄어든다. 따라서 스트레스 중심의 정보에 대한 기억은 강렬하지만 주변 정보는 희미해진다. 급성 스트레스의 정도에 따라 기억이 형성되는 정도가 다르며 사람에 따라 감당할 수 있는 스트레스의 양이 다르다.

일시적인 스트레스는 기억 형성을 원활하게 하지만 인출 능력을 저하시킬 수 있다. 만성 스트레스의 경우 코르티솔 과다 상태가 되어 이는 사고 능력을 떨어뜨린다. 또한 해마의 신경생성을 방해하여 해마가 작아지고 기억을 담당할 신경세포도 줄어든다. 또한 스트레스나 코르티솔에 지속적으로 노출된 해마의 신경세포는 뇌졸중이나 알츠하이머와 같은 공격에도 취약한 상태가 된다.

스트레스를 줄이기 위해서는 요가, 명상, 건강한 식습관, 운동, 마음챙김 수행, 감사, 공감을 통해 스트레스에 조금 둔감해지고 도피 반응에 브레이크를 걸고 불안이라는 독을 건강하게 관리할 수 있도록 단련해야 한다.

잠은 건강과 생존에 필수적일 뿐만 아니라 최적의 기능을 유지하는 데도 반드시 필요하다. 잠은 기억에도 매우 중요한 역할을 한다. 집중력을 높일 뿐만 아니라 부호화된 기억이 사라지지 않도록 저장 버튼을 누르는 역할도 한다. 또한 잠은 모든 종류의 근육 기억에도 도움을 준다. 잠은 완벽한 기능 습득에 도움이 된다. 무엇을 배우건 잠을 자고 나면 연습을 더 많이 하지 않아도 더 잘하게 된다. 낮잠도 효과적이지만 밤잠은 더욱 강력한 효과를 발휘한다. 

잠은 알츠하이머에도 효과적이다. 깊은 잠을 자는 동안 신경교세포가 알츠하이머의 원인인 아밀로이드 퇴적물을 청소하는 것으로 보고 있으며 짧고 깊은 잠보다는 충분히 청소 작업을 끝낼 수 있도록 긴 잠을 자는 것이 좋다고 한다.

성인은 7-9시간을 자도록 진화했다. 이보다 적게 자면 심혈관계와 면역계의 기능 저하, 정신 건강과 기억의 손상을 초래할 수 있다. 충분한 수면을 통해 심장병, 암, 감염병, 정신질환에 맞서 싸우고 있는 것이다. 

보통 심장에 좋으면 뇌에도 좋고 알츠하이머 예방에도 좋다. 반대로 말하면 고혈압, 비만, 당뇨, 흡연, 높은 콜레스테롤 수치 등은 알츠하이머의 발병 위험을 높인다.
운동과 정신 활동 모두 해마에서 새로운 신경세포가 성장하는 것을 촉진하며 새로운 것을 배우는 것도 마찬가지다. 정규 교육을 오래 받고 지식 정도가 높고 정기적으로 사회적, 정신적 자극을 받는 활동에 참여하는 사람들은 인지적 비축분이 많고 이는 알츠하이머의 뇌 상태를 갖고 있더라도 병의 징후를 막아준다. 인지적 비축분이 많으면 알츠하이머로 일부 스냅스가 손상되더라도 예비 혹은 대안이 많아 문제가 드러나지 않기 때문이다. 이는 손상되지 않은 신경회로로 우회할 수 있음을 의미한다. 인지적 비축분은 새로운 것을 학습하여 만들 수 있는데 이는 새로운 신경회로를 만드는 것과 같다.  

인지자극이란 새 친구를 사귀고 새로운 도시를 여행하는 것, 새로운 책을 읽는 것 등을 의미한다.

그렇게 우리는 스트레스를 줄이기 위해 요가, 명상, 건강한 식습관, 운동, 마음챙김 수행, 감사, 공감을 통해 스트레스에 조금 둔감해지고 도피 반응에 브레이크를 걸고 불안이라는 독을 건강하게 관리할 수 있도록 단련해야 한다.

[BOOK] 돈으로 살 수 없는 것들(What Money Can’t Buy)

사람답게 살기 위한 한 달 한 권(2022/07)

사고 판다는 경제학의 논리가 더 이상 물질적 재화만이 아닌 현대인의 삶 전체를 지배하기 시작했다.

1980년대 초에 시작된 시장지상주의(market triumphalism)는 번영과 자유를 향한 열쇠가 정부가 아닌 시장에 있다는 로널드 레이건(Ronald Reagan)과 마가렛 대처(Margaret Thatcher)의 신념에 따라 탄생하였다.

그 후 시장(market)은 공익을 달성하는 주요 수단이라는 신념이 강화되었다.

하지만 오늘날 이 신념은 강하게 의심받고 있고, 시장지상주의의 시대가 막을 내리고 있는 것으로 보인다.

시장에서 금융 위기가 발생하면서 시장과 도덕이 분리되고 있다는 인식이 강해졌다.

탐욕이 금융 위기에 큰 역할을 했지만 더 큰 원인은 시장 가치가 원래 속하지 않던 삶의 영역으로 팽창한 것으로 볼 수 있다.

이러한 상황에서 돈으로 사서는 안되는 것이 있을까?

이제는 탄소배출권, 대리모 출산, 이민 권리, 명문대 입학 허가 등 30년 전에는 상상하지도 못했던 것들을 거래하는 시대가 되었다.

그렇다면 무엇이 문제일까?

돈으로 모든 것을 사고 팔 수 있을 때 발생하는 문제점은 불평등과 부패, 즉 거래가 차별의 근원이 되기 때문이다.

요트와 스포츠카, 휴양지 등 부수적인 즐거움을 누릴 수 있는 것이 빈부 차의 전부라면 큰 문제가 되지 않는다.

하지만 정치 영향력, 의료, 주거지 안정, 교육 기회 등 부에 따라 다른 기회와 혜택이 주어지기 때문에 근원적인 문제가 발생한다.

많은 경제학자들이 말하길 시장은 교환되는 재화에 영향을 미치지 못한다고 생각한다.

하지만 이는 사실이 아니며 시장은 언제나 흔적을 남긴다.

벌금과 요금을 통해서도 초래하는 문제를 확인할 수 있다.

벌금은 도덕적으로 승인 받지 못하는 행동에 대한 비용이고, 요금은 도덕적 판단이 배제된 단순한 가격이다. 

하지만 벌금을 요금으로 취급하면 어떻게 될까?

벌금을 요금으로 대하면 벌금이 나타내는 규범을 무시하게 된다.

공공의 이익에 가장 부합하는 것은 스스로 참여할 수 있게 하여 스스로 정할 수 있는 권리를 부여하는 것으로 돈으로 사는 것보다 다 더 큰 지지를 이끌어낼 수 있는 방법이다.

도덕적 신념이나 흥미와 같은 내재적 동기와 돈과 보상과 같은 외재적 동기는 차이가 있다.

내재적으로 가치를 두는 활동에 참여하는 사람에게 돈을 지급하면 흥미와 헌신을 밀어내고 가치를 떨어뜨려 동기유발을 약화시키는 결과를 낳는다.

사회, 경제적으로 이타주의를 무모하게 사용하면 다른 공공의 목적을 위해 쓸 ‘이타주의’의 공급량이 고갈된다고 하지만 이타주의, 관용, 결속, 시민정신은 사용할수록 고갈되는 상품이 아니라 오히려 운동하면 발달하고 더욱 강해지는 근육에 가깝다고 봐야 한다.

시장과 상업이 재화의 성질을 바꾸는 상황을 목격했다면 시장에 속한 영역은 무엇이고 시장에 속하지 않은 영역은 무엇인지도 의문을 던져야 한다.

재화의 의미와 목적, 재화를 지배하는 가치를 두고 깊은 사고 없이는 이러한 질문에 대답할 수 없다. 

우리는 반대에 부딪힐까바 두려워 자신의 도덕적, 정신적 확신을 공공의 장에 내보이기 주저하고 시장이 대신 결정을 내리도록 허용하게 된다. 

사회 전반에도 불평등이 심화하면서 모든 것이 시장의 지배를 받는 현상은 부유한 사람과 그렇지 못한 사람들의 삶을 점차 분리하게 된다.

배경, 사회적 위치, 태도, 신념이 다른 사람들이 매일 생활하며 서로 마주하고 부딪히게 되면 서로의 차이를 견뎌내고 협상하게 되고 공공의 선에 관심을 쏟게 된다고 한다. 

결국 우리가 마주하는 시장의 문제는 어떻게 함께 살아가고 싶은가에 관한 문제가 된다.

[BOOK] 클린코드(Clean Code)

사람답게 살기 위한 한 달 한 권(2022/06)

궁극적으로 코드는 요구사항을 상세히 표현하는 언어다.

필요에 따라 요구 사항에 더 가까운 언어를 만들 수 있고 정형 구조를 뽑아내는 도구를 만들 수도 있다.

그러나 정밀한 표현은 항상 필요하고 이 필요성은 없앨 방법이 없으므로 코드도 항상 존재할 수 밖에 없다.

코드 작성 시 시간을 들여 깨끗한 코드를 만드는 노력이 결국에는 비용 절감 뿐 아니라 전문가로서 살아남는 길이라고 한다.

일정에 쫓기더라도 대다수의 관리자는 좋은 코드를 원하며 좋은 코드를 사수하는 일은 바로 프로그래머의 책임이다. 

정해진 기한을 바꾸는 유일한 방법은 언제나 코드를 깨끗하게 유지하는 습관이고 깨끗한 코드는 보기에 즐거운 코드다.

깨끗한 코드는 보는 사람에게 즐거움을 선사해야 하고 세세한 사항까지 꼼꼼하게 처리하는 코드다.

깨끗한 코드는 한 가지를 잘한다.

나쁜 코드는 너무 많은 일을 하려고 애쓰다가 의도가 뒤섞이고 목적이 흐려지게 된다.

깨끗한 코드는 단순하고 직접적이며 잘 쓴 문장처럼 읽히고 설계자의 의도를 숨기지 않는다.

크기가 큰 코드보다는 작은 코드가 가치있으며 코드는 작을수록 좋다.

깨끗한 코드는 주의깊게 작성한 코드다.

시간을 들여 깔끔하고 단정하게 정리한 코드다.

세세한 사항까지 꼼꼼하게 신경쓴 코드다.

프로그램을 단순하게 보이도록 만드는 열쇠는 언어가 아니라 프로그래머다.

변수, 함수, 클래스 네이밍 시 의미있는 이름을 사용해야 한다.

의도를 분명히 해야 하고 좋은 이름을 지으려면 시간이 걸리지만 최종적으로는 이 이름을 통해 절약하는 시간이 더 많다.

변수, 함수, 클래스 이름은 존재 이유와 수행 기능, 사용 방법을 나타내도록 하여 주석이 필요가 없도록 한다.

당연하게도 그릇되거나 오해를 불러일으킬 수 있는 이름은 피한다.

예를 들면 실제는 List가 아니지만 itemList를 사용하거나 O(대문자 o), l(소문자 L)를 사용하여 헷갈리게 만들거나 prevGetNameAndAgeData, prevGetNameAndSexData 등과 같이 한 눈에 구분하기 어려운 이름이다.

항상 의미를 갖고 구분을 해야 하며 컴파일러나 인터프리터만 통과하려는 의도로 코드를 구현하면 안된다.

연속된 숫자를 덧붙이거나 의도를 드러내지 않는 이름은 작성하지 말고 읽는 사람이 차이를 알도록 지어야 좋은 이름이다.

의미 이외에도 사용자가 발음하거나 검색하기 쉬운 이름을 사용한다.

예를 들면 GenYrDt보다 GenerateYearDate가 훨씬 낫다.

이름 길이는 범위 크기에 비례해야 한다.

왜냐하면 나중에 코드가 복잡해졌을 때 ab와 같은 단순한 이름은 검색이 거의 불가능하기 때문이다.

항상 남들이 이해하기 쉽게 코드를 작성한다.

전문가라고 불리는 프로그래머는 명료함을 최우선으로 하여 항상 남들이 이해하는 코드를 작성한다.

클래스와 객체 명명 시에는 명사, 명사구가 적합하며 동사는 사용하지 않는 것이 좋다.

그러나 메서드는 동사나 동사구가 적합하다.

명명 시 기발하거나 보편적으로 이해하기 어려운 이름은 피하는 게 좋으며 예를 들어 특정 문화를 이해해야만 알 수 있는 단어나 구어체, 속어 등이 있다.

한 개념에서는 하나의 이름만 선택하고 get, retrieve, bring, fetch, take 등 같은 기능의 메서드는 이름을 통일한다. 

이름이 다르면 클래스와 타입도 다르게 여기기 쉬우므로 일관성있는 어휘를 사용하고 일관성 속에서 맥락을 알 수 있도록 해야 한다.

예를 들어 두 값을 더하는 메서드가 add라면 하나의 값 만을 더하는 메서드는 insert, append로 짓는 것이다.

해법 영역은 기술 개념에서 가져온 이름이 이해하기 쉬운데 알고리즘, 수학 용어, 패턴 이름 등 이미 익숙한 개념이 이해하기 쉽다.

하지만 문제 영역은 해당 영역에서 가져온 이름도 문제가 없다.

의미 있는 맥락context을 사용하여 클래스, 함수에 맥락을 부여하거나 접두어를 사용해 의미를 분명하게 한다.

또한 불필요한 맥락context은 사용하지 말고 의미가 분명한 경우에 한해 짧은 이름이 긴 이름보다 좋으므로 불필요한 부분을 추가하지 않도록 한다.

문장이나 문단처럼 읽히는 코드가 아니면 표나 자료구조처럼 읽히는 코드를 짜는 데 집중하는 것이 좋다.

함수는 무조건 작게 만드는 것이 좋고 중첩 구조가 생길만큼 함수가 커지는 것은 좋지 않다.

함수는 한 가지만을 해야 한다.

중복은 모든 소프트웨어에서 악의 근원이다.

하위 루틴을 발명한 이래로 소프트웨어 개발에서 지금까지의 혁신은 소스 코드의 중복을 제거하려는 지속적인 노력으로 볼 수 있다.

소프트웨어를 짜는 것은 글짓기와 비슷하다.

처음에는 길고 복잡하고 정리가 안된 상태지만 코드를 다듬고 정리하여 최종적으로 사용할 수 있는 코드를 만드는 것이다.

프로그래밍의 기술은 언제나 언어 설계의 기술이다.

프로그래밍의 대가(大家)는 시스템을 구현할 프로그램이 아니라 풀어갈 이야기로 여긴다. 

주석은 언제나 실패를 의미하며 코드로 의도를 표현하지 못한 실패를 만회하기 위해 사용하는 것으로 본다.

따라서 주석이 필요한 상황에 처하면 코드로 의도를 표현할 방법을 먼저 찾는다.

주석은 오래될수록 코드에서 멀어지며 내용이 잘못될 가능성도 커진다.

코드를 유지보수해도 주석까지 유지보수하기는 힘들기 때문이다.

진실은 오직 한 곳, 코드에만 존재한다.

처음부터 바르게 시스템을 만들 수 없다.

대신 오늘 주어진 사용자 스토리에 맞춰 시스템을 구현하고 내일은 새로운 스토리에 맞춰 시스템을 조정하고 확장한다.

이것이 반복적이고 점진적인 애자일(Agile) 방식의 핵심이다.

켄트 벡(Kent Beck)이 제기하는 단순한 설계 규칙 네 가지는 순서대로 다음과 같다.

  • 모든 테스트를 실행한다.
  • 중복을 없앤다.
  • 프로그래머의 의도를 표현한다.
  • 클래스와 메서드 수를 최소화한다.

테스트 가능한 시스템을 만들려고 애쓰면 설계 품질이 더불어 높아지므로 테스트는 클린 코드를 위한 필수 요소이다.

테스트 케이스가 많을수록 개발자는 테스트가 쉽도록 코드를 작성하게 되고 철저히 테스트 가능한 시스템을 만들면 더 나은 설계를 얻을 수 있다.

결합도가 높으면 테스트 케이스 작성이 어려우므로 결합도를 낮추면 설계 품질은 더욱 높아진다. 

[BOOK] 물고기는 존재하지 않는다

사람답게 살기 위한 한 달 한 권(2022/05)

자연에 이름 붙이기(Naming Nature)라는 책을 통해 분기학을 접한 저자의 관심을 따라가며 이야기를 서술한다.

평생을 바쳐 수많은 어류의 학명을 지정한 데이비드 스타 조던은 지나친 우생학優生學을 주장하는 학자였으며, 이 우생학은 사람의 개성과 인종의 특성을 의미없는 것으로 만들어 버린다.

그가 주장한 우생학을 통해 많은 사람이 희생되고 개인의 자유를 박탈당하였지만 그는 평생 고귀한 학자의 지위를 유지하고 스탠포드 대학교에는 동상까지 세워졌다.

그가 주장한 優生學(우수할 우)은 이미 愚生學(어리석을 우)이 되어버렸지만 그는 이미 세상을 떠나버렸다.

하지만 저자는 아주 학문적이면서도 통쾌한 사실을 찾아내고는 나름의 위안을 삼는다.

스타 조던이 의심하지도 않고 평생을 바쳐 분류한 ‘어류’는 분기학을 통해 결국 존재하지 않는 분류로 밝혀진 것이다.

과학은 믿음을 위험하게 여기는데 결국 그의 믿음이 기반부터 잘못된 것이었다.


과학적 세계관은 삶의 의미를 찾고자 할 때 우리에게 남겨지는 것은 허명함뿐이라는 사실을 고백한다.

인간으로 사는 건 가혹하다.

세상이 기본적으로 냉담한 곳이라는 것을 잘 알고 있으며 열심히 노력해도 성공은 보장되지 않는다.

수십만 명을 상대로 경쟁해야 하며 자연 앞에서는 무방비 상태이다.

우리는 우리가 사랑한 모든 것이 결국 파괴될 것이라는 가장 슬픈 사실을 알면서도 살아간다.

그렇다면 우리는 아무런 의미 없이 그저 태어나고 그저 살아가는 것일까?

그것은 아니다. 어느 누구도 의미없는 것은 아니며 하나하나가 큰 의미를 가진다.


우리에게 무지는 세상에서 가장 유쾌한 학문이다.

아무런 노동이나 수고없이도 습득할 수 있으며 정신에 우울함이 스며들 시간을 주지 않는다.

자신에 대한 낙관적인 관점은 자기 발전에 대한 저주이다.

이는 발달을 저해하고 도덕적으로 미숙하게 만드는 길이자 멍청이가 되는 지름길이라고 말한다.

운명의 형태를 만드는 것은 사람의 의지이다.


우생학은 무엇을 위한 것일까?

한 종에서 돌연변이와 특이한 존재들을 모두 제거하는 것은 그 종이 자연의 힘에 취약하게 노출되도록 만들어 위험을 초래한다.

즉, 동질성은 사형선고와 같다.

생명의 형태를 만드는 것은 신이 아니라 시간이라고 한다.

다윈에게 기생충은 혐오 대상이 아니라 경이롭고 비범한 적응성을 보여주는 사례였다.

세상에 존재하는 생물의 어마어마한 범위 자체가 이 세상에서 생존하고 번성하는 데는 무한히 많은 방식이 존재한다는 증거가 된다.

또한 우리는 일단 무언가에 이름을 붙이고 나면 더 이상 그것을 제대로 바라보지 않게 된다.


인생에서 좋은 것과 선물들을 놓치지 않는 가장 좋은 방법은 자신이 보고 있는 것이 무엇인지 전혀 모른다는 사실을 매 순간 인정하는 태도를 갖는 것이다.

과학자들은 긍정적 환상을 갖는 것이 목표 성취에 도움이 된다고 하지만 서서히 목표를 보고 달려가는 터널 시야의 바깥에 훨씬 더 좋은 것이 기다리고 있을 수도 있다.

[BOOK] 그릿(GRIT)

사람답게 살기 위한 한 달 한 권(2022/03)

grit의 뜻을 검색해보면 투지, 기개로 번역되어 있다.

그리고 grit one’s teeth의 뜻은 다음과 같다.

to show courage and determination when dealing with problems or challenges.

이를 꽉 깨물고 해내는 것이다 그것도 끝까지.

이 것이 이 책의 전체를 관통하는 주제이다.

어릴 때부터 한 가지를 끝까지 해낸 성취의 경험이 있다면 결국에는 그 성취의 경험이 다른 힘든 일도

이겨낼 수 있게 만들고 포기하지 않고 더 잘 해낼 수 있다는 연구의 결과를 이야기한다.

실패하거나 지쳐도 포기하지 않는 끈기야말로 우리가 원하는 목표를 이루는 핵심이며, 천재를 만드는 것은

재능이 아니라 의지라고 천재라고 불리는 사람들은 이야기한다.

작가가 정의하는 그릿은 다음과 같다.

특정 상위 목표를 달성하겠다는 열정, 그리고 이를 완수하는 끈기


한 가지 일을 새로 시작할 때 다음과 같은 마음가짐을 갖고 싶다.

  • 재능보다는 끝까지 하겠다는 짐념이 중요하다.
  • 열정은 우선 순위를 확실하게 만든다.
  • 성공이 결코 끝이 아니며 실패는 절대 치명적인 것이 아니다. 중요한 것은 용기이다.
  • 실패란 있기 마련이고 대처 방식이 중요할 뿐이다. 시간이 지나면서 성장해야 하는 것이 가장 중요하다.
  • 성공은 수년 간의 지속적인 열정과 끈기의 결실이다.
  • 경쟁이라는 단어는 함께 노력한다는 뜻으로 다른 사람을 패배시켜야 한다는 뜻은 없다.

그러나 어떤 일이든 시작했으면 무조건 끝을 보라는 이야기는 아니다.

세 벽돌공의 이야기를 통해 일과 직업을 인식하는 태도가 인상적이다.

생업 : 나는 벽돌을 쌓고 있어요.

직업 : 나는 교회를 짓고 있어요.

천직 : 나는 하느님의 성전을 짓고 있어요.

성전을 짓는 것처럼 자신이 열정을 갖는 대상을 찾고 꾸준히 발전시켜 나가야하는 것이라고 말한다.

내가 꾸준히 해오고 있으며 앞으로도 꾸준히 하고 싶은 것이 어떤 것들이 있는지 한번 더 생각해보는 계기가 되었다.

그렇다면 탁월함(greatness)과 선량함(goodness) 중에는 어떤 것을 선택해야 할까?

그릿은 사람의 성격을 설명할 수 있는 하나의 특성이지만 결국 우리는 공동체 속에서 살아가므로 작가는 먼저 선량함을

택하고 싶다고 한다.

나는 goodness는 갖고 살아가고 있는 것일까.