|
호기심에 산 책인데, 호기심을 채워줄 뿐 아니라 의외로 매우 실용적이다. 아직 절반 밖에 읽지 않았는데도 배운 것이 너무 많아서 여기에 다 쓸 수가 없다. 아래 내용은 각 장의 요약이 아니다. 또한, 내가 이해한 대로 쓴 것이므로 오류가 있을 수 있다. 프로그래머가 업무 시간에 가장 많은 시간을 쏟는 일은 코드 작성이 아니라 코드 읽기다. 따라서 코드를 더 빨리 읽는다면(주어진 시간 내에 더 잘 이해한다면), 생산성은 당연히 높아진다. 또한 잘 이해되는 코드를 작성한다면 그 코드를 읽는 사람(자기 자신도 포함)의 생산성을 높여줄 수 있다. 코드를 읽을 때 머릿속에서 어떤 일이 일어나는지 알면, 코드를 더 잘 이해하고, 나아가서 더 이해하기 쉬운 코드를 작성하는 데 도움이 된다. 프로그래밍 언어의 문법이나 디자인 패턴 같은 배경지식을 뇌의 장기 기억 공간(Long-Term Memory)에 미리 넣어두면 코드를 더 잘 이해할 수 있고(2장), 잘 모르는 것을 매번 검색하려고 하기보다는 기억해내려고 노력함으로써 외우는 것이 낫다는 것을 배웠다(3장). 이해하기 쉬운 코드를 작성하다보면 때로는 중복이 발생하기도 하는데, 이러한 점에 대해서도 언급한다. 또한 작업 기억 공간(working memory)을 돕는 앱으로 파이썬 튜터(Python Tutor)를 소개하는데, 나도 파이썬의 for 문을 설명할 때 활용한 적이 있어 반가웠다.(4장) 사람이 코드를 처리할 때 활성화되는 뇌의 영역은 자연어를 구사할 때 활성화되는 영역과 겹친다(5장). 프로그래밍 언어의 ‘변수’를 ‘상자’에 비유하기도 하고 ‘이름표’에 비유하기도 하는데, 이런 것을 정신 모델(mental model)이라고 한다. 개인적으로 전자의 정신 모델을 따르다가 나중에 깨달을 바가 있어서 후자로 바꾼 경험이 있는데, 이 책의 6장에서 바로 그 점을 거론해서 반갑기도 하고 과거에 올바른 결정을 했음을 확인해서 기쁘다. 나는 개발 관련 콘텐츠를 만드는 일을 ‘프로그래머를 프로그래밍’하는 일이라고 생각하는데, 사람이 정보를 어떻게 처리하는지를 이해하는 것이 중요함을 깨달은 것이 이 책에서 얻은 가장 직접적인 소득이라 하겠다. |
|
프로그래밍을 하려면 프로그래밍 언어를 배워야 한다. 이 서적을 읽으면서 생각이 든건 결국
|
| 이 책은 프로그래머가 코드를 읽고, 이해하고, 기억하는 과정을 뇌 과학과 심리학 관점에서 풀어낸 독특한 접근의 개발서다. 초보자부터 숙련자까지 모두가 겪는 ‘이해 안 되는 코드’에 대한 고민을 과학적으로 해석하고, 더 나은 학습과 개발 습관을 위한 구체적인 방법들을 제시한다. 단순한 기술서가 아닌, 사고방식과 문제 해결 능력을 함께 향상시켜주는 책으로, 프로그래밍을 더 깊이 이해하고 싶은 모든 개발자에게 권할 만하다. |
| 신입 개발자의 입장에서 이 책을 읽어보니, 코드를 작성하는 것뿐만 아니라 읽는 능력의 중요성을 새삼 깨달았어요. 특히, 장기 기억 공간(LTM), 단기 기억 공간(STM), 작업 기억 공간과 같은 개념을 통해 우리의 뇌가 코드를 어떻게 처리하는지 알게 되어 흥미로웠습니다. 또한, 코드를 읽을 때 겪는 혼란의 원인을 지식 부족, 정보 부족, 처리 능력 부족으로 나누어 설명해주어, 제가 어떤 부분에서 어려움을 겪는지 파악하는 데 도움이 되었습니다. 이 책은 단순히 코딩 기술을 넘어, 프로그래머로서의 사고방식을 향상시키는 데 큰 도움이 될 것 같습니다. |
|
프로그래밍을 처음 시작하는 비전공자라면 전공자들을 보면서 어떻게 저걸 생각해낼까 어떻게 저런 생각을 할까 가 궁금해질 수 있다. 그래서 도대체 어떠한 방법으로 그러한 사고의 결과를 이끌어내는지 너무 궁금하고 답답해서 그 답을 찾기위해 구매한 책이었따. 그래서 매우 흥미롭게 프로그래머의 뇌에 대해 설명했다. 어떻게 기억을 하는지 등 일부는 평범하고 일반적인 뇌를 활용하는 방법에 대한 부분이 있어 기대에 못미친다는 느낌도 들었지만, 프로그래밍과 끊임없이 관계를 짓는 것이 흥미로웠다. 하지만 실제로 프로그래밍을 하는 능력은 뇌를 훈련시키는 것과 별개로 공부를 많이 해야할 것 같다. |
|
IT기술이 사회 주요기술이 되어가면서 사회 여러분야에서 프로그래머들을 필요로 하고 있습니다. 하지만 대부분의 사람들은 프로그래머를 단순히 코드를 작성하는 요소로만 보고 있는데 사실 프로그래머도 사람이며 여러가지 기본적인 사회 요소들이 프로그래머에게도 적용한다는 걸 다시 깨우쳐준 책입니다.
가장 흥미롭게 본 부분은 개발하는 도중 방해하는 요소; 전화, 회의 등이 전체 개발능률에 어느정도로 방해를 끼치는지에 대한 부분이었습니다. 실제로 개발을 하다가 다른 방해요소로 인하여 집중이 흐트러지면 다시 개발에 집중하는데 드는 시간이 많이 필요로 하다는걸 알고 이 내용을 보니 더 와닿았습니다.
프로그래머로 일하거나 프로그래머와 같이 일하시는 분들이 읽으면 좋은 책입니다. |