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

A reading list on Microservices Architecture

When I wanted to dive into and understand Microservices Architecture the following reading list was suggested to me: Life beyond Distributed Transactions:an Apostate’s Opinion by Pat Helland This paper explores and names some of the practical approaches used in the implementations of large-scale mission-critical applications in a world which rejects distributed transactions. It discusses the management of fine-grained pieces of application data which may be repartitioned over time as the application grows. It also discusses the design patterns used in sending messages between these repartitionable pieces of data. Migrating to Microservices by Adrian Cockcroft In this presentation Adrian Cockcroft discusses strategies, patterns and pathways to perform a gradual migration from monolithic applications towards cloud-based REST microservices. Idempotence Is Not a Medical Condition by Pat Helland An essential property for reliable systems. Distributed systems theory for the dis...

Straight from the trenches: Engineering experiences with Microservices Architecture

Andrew Harmel-Law interviewed by Maurice Driessen Earlier this month, while working on a proposal which turned out successful, I got the opportunity to have a discussion with Andrew Harmel-Law, around his personal experience with constructing a system based on a Microservices Architecture leveraging a evolutionary approach. It made sense to us to share this experience with all of you software engineers. Focal point of the discussion was how the non-functional characteristics of a Microservices Architecture contribute to the business continuity and agility of his client and helps software engineers to sustain a high quality and complex solution while improving the collaboration with the business. Could you tell me something about your client and how your collaboration with the client evolved? My client is large mail & parcel fulfillment provider in the UK. We build and run an array of their services for them. Initially started with eBussiness, the public facing websites an...

Let’s talk shop

My experience as an Open CITS Certification Board Member The Open Group Certified IT Specialist (Open CITS) certification program — formerly ITSC — is an independent global certification program for qualifying the skills, knowledge and experience of IT specialists. Accepted and applicable worldwide, from a wide range of organizations in more than 50 countries worldwide. Capgemini’s internal Software Engineering Certification Program is an Accredited Certification Program and adheres to the Open CITS Certification Policy and Open CITS Accreditation Policy. Certified Software Engineers on levels 2 and up benefit from the accreditation, because it provides them the opportunity to attain Open CITS certification with a little extra effort. The Open CITS certificate represents an ideal mechanism for Capgemini’s Software Engineers to demonstrate knowledge, success and overall business capabilities outside Capgemini. The Open CITS program requires applicants to demonstrate skills and experienc...