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
Who This Book Is For
Software developers and team leaders who have struggled to implement design and development best practices due to lack of team resources, in-depth knowledge, or experience, and want a book designed to provide the confidence and foundational skills needed to achieve success
Related collections and offers
|Edition description:||1st ed.|
|Product dimensions:||7.01(w) x 10.00(h) x (d)|
About the Author
Chad Michel is Lead Software Architect for Don’t Panic Labs and has more than 20 years of software development and engineering experience. He helps clients solve problems through innovative software solutions. He graduated from the University of Nebraska-Lincoln with a bachelor’s degree in computer engineering and a master’s degree in computer science. Chad has worked for several companies in Lincoln, where he helped build a practice management application for lawyers, developed key features for an ecommerce application, and helped wrangle a content delivery network into a stable platform. He often speaks at technical meetups hosted by Don’t Panic Labs, as well as at many other conferences and technical groups. He regularly contributes to the Don’t Panic Labs blog. Chad is a fourth-degree black belt in Tae Kwon Do.
Table of ContentsChapter 1: Focusing on Software Development Outcomes Instead of Outputs
Chapter 2: Gaining a Shared Understanding Throughout the Project
Chapter 3: Validation of User Experience
Chapter 4: Designing Software Systems that Age Well and Adapt to Change
Chapter 5: Developers “Falling into the Pit of Success”
Chapter 6: Institutionalized Quality
Chapter 7: The Role of Chief Engineer
Chapter 8: Bringing It All Together Creating an Action Plan