Whether you're a junior programmer, senior software engineer, or non-technical manager, you'll learn how to create a sound plan for your software project, and make better decisions about the pattern and structure of your system.
- Learn what differentiates great programmers from poor programmers
- Understand the ultimate purpose of software and the goals of good software design
- Determine the value of your decisions now and in the future
- Examine real-world examples that demonstrate how a system changes over time
- Learn to allow for the most change in the environment with the least change in the software
- Make easier changes in the future by keeping your code simpler now
- Understand why to write tests and what tests to write