About the Book
To write better code and build better products, we must understand why engineering and design often fail. Why is it so difficult to write bug-free code? Why do people fail to use products? And why do engineering projects so often go sideways?
The answer to these questions lies in the shortcomings of human cognition and the nature of complexity. This book explores these topics and presents a human-centric approach to software engineering. An approach that considers and compensates for our cognitive biases, cognitive weaknesses, and the chaotic nature of the universe. An approach that teaches how to balance concerns, defend against entropy, take precautions, reduce complexity, and deal with our cognitive shortcomings.
The ideas presented will help you write better code, build better products, and be a more effective engineer.
This book is the first part of a two-book series. This book focuses on theory and contains almost no code, while Book II is more technical and uses code examples and case studies to demonstrate how to apply the theory.
About the Author
Zohar Jackson served as a Software Architect at Mobileye (Israel's top tech company) and Vice President of Engineering at Visionary.ai. Over twenty years of writing software has led him to work on a large variety of software, including self-driving cars, web applications, projects with intelligence agencies, automated trading for financial firms, computational photography, machine learning, and distributed systems.