Doorgaan naar hoofdcontent

A Software Developer's Reading Plan

This list describes the reading program a software developer needs to work through to achieve full professional standing. The plan described is a generic baseline plan for a software professional who wants to focus on development.

Introductory Level
To move beyond "introductory" level, a developer must read the following books:

  • Adams, James L. Conceptual Blockbusting: A Guide to Better Ideas, 4th ed. Cambridge, MA: Perseus Publishing, 2001.
  • Bentley, Jon. Programming Pearls, 2d ed. Reading, MA: Addison-Wesley, 2000.
  • Glass, Robert L. Facts and Fallacies of software Engineering. Boston, MA: Addison-Wesley, 2003.
  • McConnell, Steve. Software Project Survival Guide. Redmond, WA: Microsoft Press, 1998.
  • McConnell, Steve. Code Complete, 2d ed. Redmond, WA: Microsoft Press, 2004.

Practitioner Level
To achieve "intermediate" status, a programmer needs to read the following additional materials:

  • Berczuk, Stephen P. and Brad Appleton. Software Configuration Management Patterns: Effective Teamwork, Practical Integration. Bosten, MA: Addison-Wesley, 2003.
  • Fowler, Martin. UML Distilled: A Brief Guide to the Standard Object Modelling Language, 3d ed. Boston, MA: Addison-Wesley, 2003.
  • Glass, Robert L. Software Creativity. Reading, MA: Addison-Wesley, 1995.
  • Kaner, Cem, Jack Falk, Hung Q. Nguyen. Testing Computer Software, 2d ed. New York, NY: John Wiley & Sons, 1999.
  • Larman, Craig. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, 2d ed. Englewood Cliffs, NJ: Prentice Hall, 2001.
  • McConnell, Steve. Rapid Development. Redmond, WA: Microsoft Press, 1996.
  • Wiegers, Karl. Software Requirements, 2d ed. Redmond, WA: Microsoft Press, 2003.
  • "Manager's Handbook for Software Development," NASA Goddard Space Flight Center.

Professional Level
A software developer must read the following materials to achieve full professional standing. Additional requirements must be tailored to each individual developer; this section describes the generic requirements.

  • Bass, Len, Paul Clements, and Rick Kazman. Software Architecture in Practice, 2d ed. Boston, MA: Addison-Wesley, 2003.
  • Fowler, Martin. Refactoring: Improving the Design of Existing Code. Reading, MA: Addison-Wesley, 1999.
  • Gamma, Erich, et al. Design Patterns. Reading, MA: Addison-Wesley, 1995.
  • Gilb, Tom. Principles of Software Engineering Management. Workingham, England: Addison-Wesley, 1988.
  • Maguire, Steve. Writing Solid Code. Redmond, WA: Microsoft Press, 1993.
  • Meyer, Bertrand. Object-Oriented Software Construction, 2d ed. New York, NY: Prentice Hall PTR, 1997.
  • "Software Measurement Guidebook," NASA Goddard Space Flight Center.

Reacties

Unknown zei…
Always good to have a list of books as a guide. What I am missing here is: why? Why these books and what will I learn from it?
Unknown zei…
I actually enjoyed reading through this posting.Many thanks.








Function Point Estimation Training

Populaire posts van deze blog

Going through the numbers: what kind of scope can your agile delivery platform handle anyway?

Today a manager asked what kind off scope and effort the Accelerated Delivery Platform could handle on a project expressed in function points. I find this a very odd question and I have always been resilient to function point analyses as an estimation technique which tries to best guess the end state of a software solution based on and determine by the number of interfaces, screens, reports etcetera. Often this happens upfront at a point in time there is only a vague idea for a perceived solution for specific problem which still needs to be analyzed in detail. Very old school thinking if you would ask me, which is not helpful for providing agile ICT support for business development and transformation. Asking for the ADP platform’s project delivery capabilities expressed in scope and effort is a weird measure for suitability for a software development platform. Given infinite time any scope and effort can be handled by any approach. But then again every project is always about time and

Exploring the Domain-Specific Language Tools

I'm currently familiarize myself with the Microsoft's concept of Domain-Specific Languages. And I must say I'm having a hard time collecting usefull information on the concept. It seems that beside the content in the MSDN Library and a rare presentation on Channel 9 there is not much information out there on the web. Well let's see where the subject takes me. Anyway, this subject should keep be busy this week, before I plunge down in the world of Cordys for 4 weeks.