목록Review/Book (26)
규도자 개발 블로그
소프트웨어 개발 분야의 슈퍼스타, 스티브 맥코넬이 쓴 다른 책이다. 프로그래머의 교과서라고 불리우는 코드 컴플릿2 (CODE COMPLETE 2)는 소프트웨어 개발 중 수많은 과정에 있어서 구현에 중점을 뒀다면 이 책은 말 그대로 소프트웨어 개발 전반에 대하여 본인의 주장을 말한 책이다. 코드 컴플릿은 개발 포지션이 아니라면 별 의미 없겠지만 이 책은 소프트웨어 분야에 종사하고 있는 사람이라면 누구라도 봤으면 하는 책이다. 나는 이 책에서 말하는 부분 중 특히나 감명깊게 읽었던 부분이 바로 '업계의 프로정신'이라는 부분이었다. 최대한 간단하게 설명해볼테니 당신이 개발자라면 내가 간단하게 쓰는 이 글이나마 꼭 읽어줬으면 하는 바람이다. 직업에는 '자격증'이 강제적으로 요구되는 것들이 있다. 판사나 변호사 ..
상당히 공감가는 얘기도 많았을 뿐더러 대한민국에서 프로그래머로 살아가고 있는 나에게 실질적이 도움이 된 책이었다. 노력은 당연히 중요하지만 제일 배신을 잘 하는 것이 노력일 뿐더러 다른 요소들이(운, 인재 등) 노력과 맞물려야만 큰 성과를 거둘 수 있다는, 다소 냉소적인 태도도 내가 갖고 있는 생각과 같아서 뭔가 위안이 됐달까. 하지만 책에서 유난히도 와닿았던 점은 바로 '언어'에 대한 부분이었다. 언어는 수단에 불과하다. 단순 언어를 배우는 건 며칠만에 끝낼 수 있듯이 말이다. 그리고 그 책을 썼던 당시(2014년)에 핫하다고 했던 언어들을 열댓개 나열해뒀는데 지금 간간히 들리는 언어는 몇 개에 불과하다. 굳이 트렌드에 민감할 필요가 없다는 의미이다. 언어나 라이브러리나 도구는 결국 도구일 뿐이다. 이..
개인프로젝트를 진행 중에 있는데 마치 걸레쪼가리를 덕지덕지 붙여놓은 듯한 나의 시안에 실망하여 읽게 되었다. 나는 진짜 디자인 감각이 없는 사람이었다. 책의 도입부에 딱 써있다. 나처럼 디자인 감각 없는 웹 프로그래머가 읽으면 좋다고 말이다. 그 말마따마 아주 많은 도움이 되었다. 내가 만든 디자인은 왜 구려보이는지, 어떻게 해야 사이트에 들어온 사람들의 시선을 잡아둘 수 있는지, 사람들은 어떤 사이트에서 아름다움을 느끼는지 등등 말이다. 책을 읽고 시안을 수정하여 지인들에게 보여줬고 전처럼 쓰레기같다는 얘기는 피하게 됐다. 아주 기분이 좋다. 부단 내용 뿐만 아니라 무료 글꼴이나 이미지, 색 조합을 알려주는 사이트 등 유용한 도구들도 많이 알려줘서 큰 도움이 된다.
"코딩호러"라는 개발자들 사이에선 아주 유명한 블로그를 운영 중인 제프 앳우드의 저서이다. 그리고 전 세계 프로그래머들의 생산성 향상에 영향을 끼친 사이트인 "스택오버플로우"의 개발자이자 창립자이기도 하다. 코딩호러와 스택오버플로우, 이 두 개의 양대산맥을 끼고 있는 사람의 후광효과 때문인지 모르겠지만 책의 내용도 상당히 구성지고 흥미로운 내용들로 채워져 있다. 사실 목차를 보면 조금 혼란스러울 수 있다. 프로그래머의 권리장전이라느니, 개발환경, 의자얘기, 모니터얘기에서부터 단위 테스트 VS 사용성 테스트 등에 대한 내용까지 책에서 다루는 범주가 굉장히 넓기 때문이다. 하지만 이건 책의 제목으로 이해하면 쉽다. "이펙티브 프로그래밍(Effective programming)", 효과적인 프로그래밍을 위한 ..
마치 프로그래머들의 정석 서적처럼 읽히고 있는 프로그램 프로그래머 프로그래밍 시리즈의 하나이다. 결과도 물론 중요하지만 프로그래머의 최종산출물인 '코드'라는 것을 깨끗하게 유지하는 게 얼마나 중요한지, 또 어떻게 해야하는지 알려주는 책이다. 하지만 구문강조가 되어있지 않은 코드들을 읽고있노라면... 머리가 아파온다. 물론 이건 이래야한다, 저건 저래야한다 하면서 예제 하나 없는 책들보단 훨씬 낫다. 그저 그냥... 머리가 아파올 뿐이다. 물론 코드들은 저자가 말한 5s원칙을 지키려 노력하며 작성돼있기 때문에 마구잡이로 휘갈겨놓은 코드보다는 좀 더 구문적으로 완성된 느낌이어서 읽기 쉽긴 하다. 책 말미에는 부록을 보면서 직접 클린코드로 나아가는 과정을 배울 수 있게 부록이 첨부돼있다. 괜찮은 책이었다. 그..
나는 코딩이나 프로그래밍이라는 작업에 있어서 그 범주가 어디에 속해있냐고 정의해야한다고 하면 지극히 사무적인 업무와 예술 같은 창의적인 행위 그 사이의 어느쯤으로 둘 것이다. 데이터의 정제와 전송은 꼭 일정한 규격을 맞춰야 하는 사무적인 일 같지만 그 내부의 코드는 만드는 사람마다 제각각이기 때문이다. 개인적인 지론이지만 프로그래머의 최종 아웃풋은 서비스나 정제된 데이터가 아닌 코드라고 생각한다. (원할한 서비스나 데이터는 응당 있어야할 요소이므로) 결과값은 같아도 구현하는 방식은 프로그래머마다 천차만별이다. 당장에 알고리즘 풀이사이트를 가봐도 알 수 있다. 정해진 문제에 대해서도 그렇게 많고많은 방법과 해결책을 제시하는데 딱히 정해지지 않은 답을 찾아가는 데에 있어서 프로그래머의 창의력만큼 중요한 요소..