The book uses a Q&A format to address the issues that engineers need to understand to successfully work with software engineers, develop specs for quality software, and learn the basics of common programming languages. The new edition is updated to improve pedagogical flow and emphasize new software engineering processes, practices, and tools.