Graduate to the next level of your software development career, learning the tools you need to successfully manage the complexity of modern software systems.
Whether you are a developer at a small software company, or one of many developers at a large enterprise, your success directly correlates to the ability of your development team to rapidly respond to change. What makes this task challenging in today’s world, is that the technical challenges we as developers strive to overcome are becoming increasingly more complex. We have to consider many more options when it comes to things like requirements, solution hosting, support, pace of change, and generally with less time and warning.
A good developer knows that it is critical to manage every aspect of software development from soup to nuts, and understands that when details and decisions are left to chance, outcomes can be negatively impacted. Poor planning can result in increased errors, substandard quality, budget and schedule overruns, and result in the ultimate business failure, dissatisfied customers, and stakeholders.
This book will help you put on the lenses of a software engineer. You will come away with an understanding of how to view the entire spectrum of the software development process, learn valuable concepts, and apply these principles through meaningful examples, case studies, and source code.
What You Will Learn
- Move beyond being a programmer to being a professional software engineer
- Spend more time doing software development; minimize time spent dealing with ineffective or inadequate processes
- Reduce errors in judgment and provide predictable outcomes, while still maintaining agility and responsiveness using Lean and Agile practices
- Know the steps you can take to ensure a shared understanding among stakeholders
- Discover tools to validate user experience early and often to minimize costly re-work
- Develop software designs and architectures that enable long-term business agility
- Implement patterns and processes that result in “falling into the pit of success” instead of into the “pit of failure”
- Adopt processes and patterns that will result in pervasive “institutionalized” quality
- Understand the necessity of redefining the essential role of technical leadership to ensure team maturity and growth