몇몇 사이트를 돌아다니며 긁어 본 책들을 Developer's level & Skill 에서 얘기한 레벨에 맞게 대충 분류해보았습니다. 아래에 쭉 써있는 책들 중 읽어 본 건 두 세권 밖에 없어서 분류를 제대로 했는지도 잘 모르겠네요.
Programmer 에서는 코딩과 개념탑재로 초점을 맞춰봤고, Designer 에서는 기능 디자인이나 리팩토링책들을 모아봤습니다. Lead 에서는 프로젝트 관리 이야기를 많이 쓰긴 했는데, 보안 관련 책들도 이 쪽에 들어가는 게 맞을 것 같습니다. Software Architect 에는 요구사항과 관련된 책들을 모아봤습니다.
여기에 쓰인 책들은 방대한 자료 수집의 결과가 아니라, 단 세 군데 정도의 웹페이지를 돌아다녀서 긁어모은 겁니다.
Lv4 이상의 Architect 에서는 어떤책을 읽어야 할까요? 비지니스관점에서 바라볼 수 있는 책이라든가, 개발의 트렌드에 대해 이야기할 수 있게 해주는 책이면 좋을 것 같습니다. 부동산 책도 몇권 포함해서요.
그나저나 The Art of computer programming 은 도대체 언제 봐야 되는 건 지 모르겠네요. 저번에 서점에서 우연히 보게 되어 휘리릭 넘겨보니 코드 보다는 수학 이야기가 더 많은 것 같았는데, 대학에서 봤어야 했던 걸까요?
어쨋든 여기에 나열해 놓은 책들은 수 년 안에 다 봐버려야 하는 것들이 대부분입니다. 시간이 지나면 또 다른 이야기들이 쏟아져 나올 것이기 때문이죠. 롤플레잉 게임처럼 책들을 읽을 수록 자신의 커리어도 쭉쭉 커져가면 얼마나 좋을까요?
Lv0 Programmer
실용주의 프로그래머 데이비드 토머스/인사이트
이 책은 개발자를 위한 탈무드다. 설계를 잘 하기 위해 UML 책도 공부했고, 유스케이스의 규칙도 달달 외웠다. 하지만 막상 실제로 무언가 설계하자니 막막하고, 어떤 설계가 정말 좋은지 감이 오지 않는 막연함...
Programming Pearls, 2nd edition Jon Louis Bentley,Jon Bentley/Addison-Wesley
Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, ...
익스트림 프로그래밍, 제2판 : 변화를 포용하라 Kent Beck,Cynthia Andres/Insight (인사이트)
익스트림 프로그래밍(XP)의 목표는 탁월한 소프트웨어 개발이다. 더 낮은 비용, 더 적은 결함, 더 높은 생산성, 더 높은 투자 수익률, 더 행복한 사용자와 고객, 그리고 심지어는 더 행복한 개발자. 1999년에 Ex...
Lv1 Designer
GoF의 디자인 패턴 Erich Gamma/피어슨에듀케이션코리아
객체지향 소프트웨어 설계에 대한 풍부한 경험을 갖고 있는 최고 수준의 설계자(GoF)이 흔히 볼 수 있는 설계 문제에 대해 간단하면서도 정확한 해결 방법을 카달로그로 만들었다. 예전에는 문서화되지 않았던 이...
Refactoring 마틴 파울러/대청(대청미디어)
리팩토링은 소프트웨어를 개선하는 검증된 방법이다. 리팩토링은 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로, 소프트웨어 시스템을 변경하는 프로세스이다. 이것은 버그가 끼어들 가능성을 최소...
Refactoring to Patterns Maryann Barber, Joshua Kerievsky/Addison-Wesley
From the Back CoverAdvance Praise for Refactoring to Patterns "For refactoring to be valuable it must be going somewhere, not just an abstract intellectual exercise. Patterns document program struc...
Applying UML and Patterns: He Unified Process Craig Larman/Prentice Hall PTR
This is the book that teaches introductory 00AD by using a single case study throughout the book (for the first edition, often cited as a strong advantage). Since OOAD ideas must be communicated in...
UML and the Unified Process: Practical Object-Oriented Analysis and Design Jim Arlow,Ila Neustadt/Addison Wesley
An accessible, practical guide to essentials of both UML and the Unified Process, aimed at the OO designer or analyst. This book is based around the author's training courses and gives the reader ...
Lv2 Lead
Peopleware : Productive Projects and Teams (Paperback) /Dorset House
Two of the computer industry's best-selling authors and lecturers return with a new edition of the software management book that started a revolution. With humor and wisdom drawn from years of mana...
Agile Software Development Alistair Cockburn/Addison-Wesley Professional
" "Coming of age for software developers means understanding that software is a cooperative effort, not something individuals do in isolation. This is a book that teams of software developers can t...
Rapid Development 스티브 맥코넬/한빛미디어
여러분의 개발 스케줄을 완벽하게 통제하고 정상 궤도에 올려놓으십시오! 기존 소프트웨어 공학 분야를 다루는 책과는 달리 실제 최전방에서 싸우는 개발자와 관리자들에게 구체적인 사례와 문제 해결 방법을 제...
Software Project Survival Guide 스티브 맥코넬/Microsoft Press
Having worked in the software business as a tester, technical writer, programmer, client, consultant, and (most recently) manager, I've seen plenty of software projects crawl toward completion, ove...
The Mythical Man-Month Frederick P. Brooks/Addison-Wesley Professional
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offe...
Lv3 Software Architect
Conceptual Blockbusting Adams, James L./Perseus
Writing Effective Use Cases Alistair Cockburn/Addison-Wesley Professional
Writing use cases as a means of capturing the behavioral requirements of software systems and business processes is a practice that is quickly gaining popularity. Use cases provide a beneficial mea...
Mastering the Requirements Process Suzanne Robertson,James Robertson/Addison-Wesley
To deliver software that achieves its goals, you need a requirements process that can reliably, quickly, and easily identify those goals -- all of them. Mastering the Requirements Process delivers ...
ETC
The Art of Computer Programming Donald E. Knuth/Addison-Wesley
techniques, then focuses more particularly on information structures-the representation of information inside a computer, the structural relationships between data elements and how to deal with the...
References