Book

Professional Software Development

📖 Overview

Professional Software Development examines the current state of software engineering practices and makes a case for transforming software development into a professional discipline. The book analyzes why software projects continue to fail and what changes are needed in education, training, and industry practices. McConnell presents data about software project outcomes and compares software engineering to other professional fields like medicine and civil engineering. He outlines specific steps that individual developers, organizations, and the industry as a whole need to take to increase professionalism and reliability in software development. The book includes detailed recommendations for reforming computer science education, establishing professional credentials, and creating clear career paths in software development. McConnell draws from historical examples of how other technical fields evolved into mature professions. At its core, this book addresses fundamental questions about what it means to be a true software professional and how the field needs to evolve to meet society's growing dependence on software systems. The text serves as both a critique of current practices and a roadmap for the future of the profession.

👀 Reviews

Most readers found this book too focused on advocating for software engineering licensing and certification rather than providing practical development advice. Several noted it feels dated and contains material previously published in McConnell's other works. Readers appreciated: - Clear explanations of professionalism in software - Historical context of software engineering - Discussion of career development paths - Quality metrics and measurement approaches Common criticisms: - Too much emphasis on licensing/certification - Recycled content from other McConnell books - Limited practical techniques compared to Code Complete - Arguments feel outdated in modern software landscape Ratings: Goodreads: 3.7/5 (89 ratings) Amazon: 3.8/5 (26 ratings) "The certification argument takes up too much space that could have been used for more valuable content" - Amazon reviewer "Reads more like a position paper on professionalizing software development than a practical guide" - Goodreads reviewer

📚 Similar books

Code Complete by Steve McConnell A comprehensive guide to software construction explains coding techniques, debugging practices, and implementation strategies used by professional developers.

The Pragmatic Programmer by Dave Thomas The text presents concrete practices and tips for software development, covering testing, design, project management, and career development.

Clean Code by Robert C. Martin The book details principles, patterns, and practices for writing maintainable, structured code through real-world examples and refactoring techniques.

The Mythical Man-Month by Fred Brooks This collection of essays examines software engineering principles and project management through experiences from IBM's OS/360 project development.

Software Engineering: A Practitioner's Approach by Roger S. Pressman The text covers software processes, design patterns, quality management, and project planning methods used in real-world software development.

🤔 Interesting facts

🔹 The author, Steve McConnell, is also known for writing "Code Complete," which has been called "the software developer's bible" and has sold over 750,000 copies. 🔹 "Professional Software Development" was published in 2003 as an expanded version of McConnell's "After the Gold Rush," addressing the growing need for software engineering professionalism. 🔹 The book draws parallels between software engineering and civil engineering, highlighting how the latter evolved from an unregulated trade to a respected profession—a path McConnell argues software development should follow. 🔹 McConnell's influence extends beyond his books; he served as Chief Software Engineer at Construx Software and was awarded the IEEE Computer Society's Award for Prevention of Software Defects. 🔹 The book predicted many trends that have become reality in software development, including the increased emphasis on formal education and professional certifications for developers.