개발자가 되기 전
에도 개발자로 첫 취직을 하고 나서도
좋은 개발자가 되는 방법에 대해 깊은 성찰 없이 구호만 외쳐왔습니다. 이 책을 읽었을지라도 부단히 노력하고 무의식으로 내재하지 않는 한…. 또 공허한 구호만 될 것이 틀림 없으시면서도.
어쨌든 한 번이고, 두 번이고, 세 번이고 의식하며 훌륭한 프로그래머 되는 법
에서 소개하는 내용과 질문에 대해 성찰한다면 분명 level Up! 하는 개발자가 되는 것이고 그렇지 않다면 좋은 유희 거리가 되거나 혹은 이 책정도 읽었으니 조금이나마 훌륭한 프로그래머가 되려고 노력했다고 자신을 위안 삼을지도 모르겠습니다.
책(콘텐츠)을 읽는 시점과 독자가 처한 상황에 따라 긁기 읽히는 것은 각양각색일 것입니다. 저의 경우 CS에 대한 지식이 부족하다는 자조적인 생각과 2년 차가 되었지만 여러 회사를 옮겨 깊이 있는 언어의 공부가 부족하다는 생각 그리고 현재 있는 회사에서 유산 언어와 코드 베이스로 경력을 맞아야 한다는 생각에 긍정적인 마음가짐은 아니었습니다.
처음 2021년 개발자가 되는 것이 내 인생의 목표였다면 이제는 정말 훌륭한 프로그래머가 되는 법에 대해 구체적인 접근법을 통해서 행동으로 하나 하나 실행해야 할 차례라고 듭니다.
책의 일부 내용을 일부 인용하자면, 저자 피트
는 평범한 프로그래머와 훌륭한 프로그래머의 차이는 바로 "태도"에 있다. 소프트웨어 회사에서 실제로 일어나는 다양한 제약과 압박 속에서도, 프로다운 접근 방식을 취하고 최고의 코드를 작성하려는 태도로부터 훌륭한 프로그래밍은 태어난다.
책은 5개 파트와, 총 39 챕텁로 이루어져 있습니다.
모든 내용을 소개하기 보다는 글을 정리하면서 하나 하나 정리하고 혹은 미래에 다시 볼 경우 다시 되새김질 할 수 있도록 인상 깊은 내용들만 정리하려 합니다.
책의 내용을 두서 없는 내 글 실력으로 정리 될 지 모르겠지만 말입니다.
지옥에 보내 버려 할 코드 역시 좋은 의도로 포장되어 있다.
훌륭한 프로그래머가 되기 위해서는 좋은 의도를 뛰어넘어 실제로 코드에 주의를 기울여야한다. 즉, 긍정적인 관점
과 건전한 태도
를 품어야 한다. 일단 이 긍정적인 관점, 건전한 태도
라는 단어들이 추상적으로 나에게 와닿는다. 조금더 살펴보자.
좋은 프로그래머가 좋은 코드를 작성한다. 그렇다면 좋은 코드란 무엇인가?
-> 어떤 코딩 환경에서든 단지 작동하는 것처럼 보이는 코딩은 거부해야 한다. 프로그래머는 올바르게 작동하는 훌륭한 코드를 짜도록 노력해야 한다. (올바른지 작동을 증명하는 적절한 테스트도 갖추어야 한다.)
또한
어떤 코드든 간에 해당 코드를 만지기 전보다 더 나아지도록 해야한다.
여기서 더 나아짐
이란 무엇일까?
코드에 대해 계속해서 주의를 기울이면서 지속적으로 새로운 언어나 문법, 기술을 익혀 나가야한다. 하지만 그 새로운 것들을 실제로 적용하는 것은 적절한 상황에 한정해야 한다.
무엇보다 이처럼 코드에 신경 쓰면서도, 즐거운 프로그래밍을 하는 것을 잊어서는 안된다. 복잡한 문제를 풀기 위해 코드를 수정하는 과정을 즐겨야 한다. 자랑할 만한 소프트웨어를 만들어 내자 .
코드에 대한 감정적 반응은 잘못된 것이 아니다. 훌륭한 결과물을 자랑스러워하거나 더러운 코드에 혐오감을 느끼는 것은 자신이 건전하다는 증거다