Coder to Developer: Tools and Strategies for Delivering Your Software
—Gregory V. Wilson, Dr. Dobbs Journal (October 2004)
No one can disparage the ability to write good code. At its highest levels, it is an art.
But no one can confuse writing good code with developing good software. The difference—in terms of challenges, skills, and compensation—is immense.
Coder to Developer helps you excel at the many non-coding tasks entailed, from start to finish, in just about any successful development project. What's more, it equips you with the mindset and self-assurance required to pull it all together, so that you see every piece of your work as part of a coherent process. Inside, you'll find plenty of technical guidance on such topics as:
- Choosing and using a source code control system
- Code generation tools--when and why
- Preventing bugs with unit testing
- Tracking, fixing, and learning from bugs
- Application activity logging
- Streamlining and systematizing the build process
- Traditional installations and alternative approaches
To pull all of this together, the author has provided the source code for Download Tracker, a tool for organizing your collection of downloaded code, that's used for examples throughout this book. The code is provided in various states of completion, reflecting every stage of development, so that you can dig deep into the actual process of building software. But you'll also develop "softer" skills, in areas such as team management, open source collaboration, user and developer documentation, and intellectual property protection. If you want to become someone who can deliver not just good code but also a good product, this book is the place to start. If you must build successful software projects, it's essential reading.
Chapter 1: Planning Your Project.
Chapter 2: Organizing Your Project.
Chapter 3: Using Source Code Control Effectively.
Chapter 4: Coding Defensively.
Chapter 5: Preventing Bugs with Unit Testing.
Chapter 6: Pumping Up the IDE.
Chapter 7: Digging Into Source Code.
Chapter 8: Generating Code.
Chapter 9: Tracking and Squashing Bugs.
Chapter 10: Logging Application Activity.
Chapter 11: Working with Small Teams.
Chapter 12: Creating Documentation.
Chapter 13: Mastering the Build Process.
Chapter 14: Protecting Your Intellectual Property.
Chapter 15: Delivering the Application.