[3주 완독 Daily 서평] 실용주의 프로그래머 - 1

이건우·2022년 3월 18일
0

책 서평 시리즈

목록 보기
1/20

"이 책이 서가의 다른 기술 서적들보다 뚜렷이 돋보이는 점은 프로그래머가 된다는 것이 어떤 의미인지에 대한 이해가 담겨있다는 것이다. 프로그래밍은 미래를 덜 고통스럽게 만들려고 노력하는 것이다."

"프로그래밍 행위 자체보다 프로그래머가 되는 과정에 질려버리기 쉬운것 같다. 사고방식을 완전히 틀어서 습관, 행동, 기대를 바꿔야 한다. ....(생략)
그 과정은 의지와 의도적 수련이 수반 되어야 한다. 이 책은 효율적으로 더 나은 프로그래머가 되기위한 지침서이다."

오늘 첫 도입이다. 도입부를 읽는와중 위의 글귀가 눈에 띄었다. 정말 프로그래밍이란 무엇인가 ? 그리고 '비전공자'가 프로그래머가 되기위해 우리가 해야하는 것은 무엇인가 ? 캐릭터를 새로이 만들고자 하는 나로선 이 책과 함께할 여정이 매우 기대된다.

"이 책의 기본철학 가운데 하나는 우리가 추천하는 기법 대부분 보편적으로 활용할 수 있다는 것이다. 예를들어 모듈화는 코드, 설계, 문서화, 팀 조직에 모두 적용 할 수 있다. 이미 특정 분야에서 쓰이는 용어를 더 넓은 의미로 사용하면 혼란이 생긴다. ..
우리는 우리만의 새로운 용어를 만들어 냄으로써 언어의 쇠퇴에 일조하고자 했다."

이 책은 처음 프로그래밍을 시작하는 독자입장에서, "마치 프로그래밍이란 이런것이다." 라고 다방면에서 이해가 되게끔 설명해준 느낌이 든다. 책 제목부터 '실용적'이라는 단어의 어원 까지 밝혀 설명해줄 정도로 이론적인 주제가 아닌 , 이 책을 읽는 독자로 하여금 바로 더 합당한 결정을 내릴수 있도록 도와주는 것같다.

프로그래밍은 기예(craft)다. 언젠가 유투버 제로초의 강의를 듣다가 이런 이야기를 들었다. 한마디로 바로 '예술'. '예술'의 그것과 같다는 것이다.
컴퓨터가 사용자의 의도대로 동작하게 만들고 , 그 와중에 어떤면에서의 의도한 요구사항을 듣기도, 사용자에게 조언하기도 하며 , 컴퓨터와 사용자간의 통역하는 사람이기도 하며 , 명령을 내리는 사람이기도 하다. 그리고 최대한 이것을 활용할 수있도록 구현하려고 노력한다.

과거 수많은 건축물 중에서 '문화유산'이라 부를만한 건축물들은 참여한 목수, 석공, 조각가, 유리 기술자들 모두 장인이었고, 공학적인 요구사항들을 자기 나름대로 해석해서 건축의 단순한 물리적 측면을 뛰어넘는 무언가를 창조해 냈다. 개개인의 기여가 프로젝트를 지탱한다는 것이 그들의 믿음이었다.

"나는 대리석 안에 천사를 보았고, 그가 나올 때까지 돌을 깎아냈다." - 미켈란젤로

어떤 도구이든 무엇이든 '최고'의 해결안은 없다. 오직 특정한 환경조건들마다 가장 적절한 시스템들이 있을 뿐이다. 이것이 "실용주의"가 필요한 이유이다. 책에서의 접근방법을 따른다면 빠른속도로 경험을 쌓을 수 있고, 생산성은 증가하며 전체개발 과정을 더 깊이 이해하게 되고 더 좋은 소프트웨어를 작성하게 되리라는 것이다.

실용주의 프로그래머가 되고 싶다면 어떤일을 하면서 자기가 무엇을 하고 있는지 생각해야한다. 모든 개발과정에서, 매일 여러분이 내리는 모든 결정을 끊임없이 비판적으로 평가해야한다. 절대 기계적으로 일하지 말라. 언제나 일하면서 동시에 생각하고, 자기 일을 비평하라.

훌륭한 잔디밭은 매일 조금씩 손질해줘야 한다고 한다. 마찬가지로 훌륭한 프로그램 역시 그러하다. 끝임없는 개선과 이용하면서 등장하는 각종 버그와 불편함. '카이젠' 이라는 말은 아주 조금씩 자주 개량한다는 일본어 인데 이는 일본 제조업의 생산성과 품질이 극적으로 향상된 주요원인이라 꼽힌다.

우리도 매일같이 지금있는 기술들을 다듬고, 새로운 도구들을 추가하고 꾸준히 가꾸어 간다면 어떨까?
지금 나부터도 1일 1커밋, 최대한의 개발, 그리고 내 자신을 가꾸기위한 노력을 게을리 하지 말아야겠단 생각도 들었다.

profile
내가 느낌만알고 한줄도 설명할줄 모른다면 '모르는 것'이다.

0개의 댓글