I am torn between giving Ullman's book one star and five stars. No rate in-between seems to be suitable. Let's start with five stars. Once I opened the book I could not put it down. Having turned the last page, I went back, re-read several parts and made notes on margins. To me, the book is about three things at once. First, it is an autobiography of the run-of-the-mill programmer, whose professional and personal lives are tightly intertwined. Second, it is a first-hand account of gold rush era software development. The impeccably styled story has no sugar, no gloss, 'no feel good, everybody wins' stuff. Ignorance, brilliance, arrogance, raw greed and insatiable desire to control the world are presented in full honesty. "In my profession, software engineering," Ullman writes about AIDS database project, "there is something almost shameful in this helpful, social services system we're building. The whole project smacks of 'end users' - those contemptible, oblivious people who just want to use the stuff we write and do not care how we did it." I wrote on a margin: "Why would they care! . Drooling over your tech savvy is not in their job descriptions." Later I regretted my acerbic remark. Ullman did care for her users to the extend, which the pace of gold rush allowed her to have such sentiments. After all, 18 months with dusty social services was an eternity in the software world. The time came for her to jump into her red sports car and, at the speed of 80 mph, to move to the more dignified project with the latest and greatest technologies. (To a person, who reads this review: I am not being sarcastic. I truly admired the author's ability to write without self-justification of her good and bad deeds.) Third, this book is an amazing attempt to pass modern day alchemy for engineering. This is where Ullman lost all her stars in my eyes. Engineering is a planned activity based on science. As a rule, it produces very predictable results. None of three projects, which Ullman describes in the book, can be called a product of engineering. During the AIDS database project, she got around to meet her end users only 8 months into the project. Her sole concern at that point was "to save the system", regardless of its inadequacy to users' needs. The second project - patching a networking software in the failing start-up - was no better. The project was considered a triumph, when the programmers managed to demo the system that crashed "exactly once a day" (not twice, as before). The third project - a direct payroll deposit application - was outright scary. The software was written even without preliminary work flow diagram. Go figure what it could do with your honest pay. I am giving Ullman's book FOUR stars after all - for its powerful, passionate and honest writing. It touched my nerve. Oh, it did! Even the little lie about engineering did not spoil the impression.