디자인 ★★★★☆
난이도 ★☆☆☆☆
추천도 ★★★★☆
1. 인상깊었던 구절
1. 블로그는 우리의 배움과 자기계발에 대한 기록의 장으로 두는 게 좋다. 여러 가지 생각이나 아이디어들, 커리어를 둘러싼 세상을 어떤 관점들로 보는지 기록해보자. 다른 사람들이 그 기록에 대해 어떻게 생각할지 너무 걱정할 필요는 없다. 나 자신을 위한 기록이 가장 우선이다.
유익한 글을 많이 올리는 경험 많은 개발자들은 과거에 같은 주제에 대해 이미 많은 글을 써 보았기 때문에 오늘날 좋은 글이 나올 수 있었던 것이다.
2. 팔로우할 리더 찾기 ; 특정 분야에 대한 리더들도 있고 좀 더 일반적인 개념적, 행동양식적인 부분에 대한 리더들도 있다.
+ 서적 추천 → p.82 (실용주의 프로그래머, 디자인 패턴, 익스트림 프로그래밍 등)
3. 오래 전에 작성했던 코드를 지금에 와서도 고칠 부분이 없어 보인다면, 그것은 그동안 배운 것이 없다는 뜻이다.
4. “동작하는 소프트웨어 뿐만 아니라, 정교하게 솜씨 있게 만들어진 작품을” 소스 코드는 예측 가능하고 유지보수될 수 있는 상태여야 한다. 코드를 수정할 때 어떤일이 일어날짖 개발자가 알 수 있어야 하고, 수정 자체가 두려운 상황에 처하지 않도록 해야 한다. 변경사항이 있더라도 그 영향이 해당 기능 모듈에만 국소적으로 제한되며 애플리케이션의 다른 부분에 파급효과가 없어야 한다.
5. “애자일 방법론” ; 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식 - 더 빨리, 더 짧게 피드백 루프를 만들수록 더 애자일해진다. 피드백 주기가 짧으면 문제를 신속하게 파악할 수 있어 상황 파악도, 적응도 빠르다.
6. “동작하는 소프트웨어 뿐만 아니라, 정교하게 솜씨 있게 만들어진 작품을” 소스 코드는 예측 가능하고 유지보수될 수 있는 상태여야 한다. 코드를 수정할 때 어떤일이 일어날짖 개발자가 알 수 있어야 하고, 수정 자체가 두려운 상황에 처하지 않도록 해야 한다. 변경사항이 있더라도 그 영향이 해당 기능 모듈에만 국소적으로 제한되며 애플리케이션의 다른 부분에 파급효과가 없어야 한다.
2. 요약
"소프트웨어 장인정신은 소프트웨어 개발자가 스스로가 선택한 커리어에 책임감을 가지고, 지속적으로 새로운 도구와 기술을 익히며 발전하겠다는 마음가짐이다. 그리고 책임감, 프로페셔널리즘, 실용주의 그리고 소프트웨어 개발자로서의 자부심을 의미한다."
3. 느낀 점
"나는 어떤 개발자가 되어야 할까?" 고민하던 중 이 책을 접하게 되었다. 진정한 소프트웨어 장인이 되기 위한 다양한 솔루션을 저자는 던져주고 있다. 이 책을 오랜 시간에 걸쳐서 읽었는데, 그 이유 중 하나가 그러한 던져주는 솔루션이 너무 많았기 때문이다. 글귀 하나 하나가 소중했고, 몸에 세기고 싶었다. 그러나 내가 책을 읽는 기간동안 전부 소화하기에는 소중한 글귀가 너무나도 많았다. 책에는, 글에 작성한 것보다 훨씬 많은 메모와 책갈피가 끼어져 있다. 앞으로 이 책을 내 방 한구석에 두고, 주기적으로 읽으며 소프트웨어 장인이 되기 위해 노력해야겠다.
그리고, 앞으로 대체 가능한 그저 그런 개발자가 아니라, 내가 선택한 커리어에 책임감을 가지고, 지속적으로 새로운 도구와 기술을 익히며 발전하는 그런 개발자가 되어야겠다고 생각했다.