No Dark Magic

books, Sweden, and computers, not necessarily in any order

The Unicorn Project by Gene Kim

Posted at — Feb 9, 2020

Easily one of the worst books I’ve ever read. Or rather couldn’t read: I gave up on page 199.

There might’ve been some good message in it, and it sounded like an interesting format, but unfortunately it reads like bad fan fiction.

There’s the protagonist, a typical Mary Sue. No flaws, stellar career, awesome husband and kids, cute puppy, volunteering with refugees and a coding school, running a popular open-source project, able to deal with any technical or organizational challenge. The way you know she’s good is because she literally says, in a dialogue, “I’m really, really good at this stuff” twice within the first 5 chapters. Additional clues are long paragraphs about her awesomeness which for a technical person don’t make much sense.

For example, “She routinely lives in the world of NP-complete problems that are so difficult to solve they can take more than polynomial time to complete”. NP-complete problems are a thing, and yes, currently we don’t know of polynomial algorithms to solve them; but routinely living in the world of NP-complete problems is something that people do in academia (or in the first year of a computer science program).

“She is still the only person who knows every keyboard shortcut from vi to the latest, greatest editors. But she is never ashamed to tell anyone that she still needs to look up nearly every command line option for Git—because Git can be scary and hard!” — again, vi is a thing, yes, but it mostly has commands, not shortcuts, and while it might be interesting and educational to explore and compare different text editors, I don’t comprehend why would one memorize every shortcut in all the editors instead of, you know, choosing one and becoming really efficient with it. Also you must refresh your memory from time to time, so she uses tens of different editors?.. To remember all the shortcuts?.. Weird hobby. On the other hand, if you use git every day and still need to look up nearly everything, that’s not git’s fault at this point. Setting up some aliases would be a solution aimed at productivity here.

There are countless examples like this which mention all the right words, but just do not make sense. Docker containers were claimed to be immutable (images are; containers aren’t). When presented with a new laptop, the protagonist is appalled that code editors, Docker, or OmniGraffle are not installed on it yet. On another occasion, she thinks about looping being “so very, very dangerous and difficult to get right”. In Python. In Python!

Speaking of Python, one accurate detail I remember because it stood out as a real one, was some schoolgirls struggling with indentation errors in their Python code. That happens all the time indeed.

Back to the protagonist: she’s just as believable a person as she is a developer. Being a seasoned professional in her 40s, she (like everyone else in the book, by the way) can’t hold her cool for a second. She laughs in the meetings uncontrollably, fills up with rage at the first sign of a mildly irritating obstacle, works while sick and on the weekends; her face turns red or she’s “fuming”every few pages and someone chokes on their coffee every other few pages. If I weren’t reminded from time to time of her age, I would’ve guessed early 20s, first job ever.

And speaking of other characters, they love talking in infodumps.

Then there’s the editing:
“Killing time in the kitchen waiting for another pot of coffee to brew, her phone buzzes.”
“Her app let’s her easily push work into […​]”
“But everyone was delighted and grateful when their changes made it in—but not as delighted as Maxine.”
p.79: “Cranky Dave is on a roll.”
p.80: “Kurt’s on a roll.”
p.103: “"Holy cow," Maxine continues, on a roll”
“I believe my job my job is very simple: […​]”
“She knows exactly how it feel.”
“personally identifiably information (or PII)”
…​and so on.

Turning around a huge team which has been working on a critical project for years is a fascinating challenge, and I’d love to read a book about it. But not this one. It lost my trust at NP-complete problems.

So, being on a roll as I choke on my coffee, I’d liek to finish this review which runs on Windows web by recommending this book to people who 1) know their tech enough to not be misguided by the pseudo-technical details, and 2) are patient enough to not be irritated by typos and clunky sentences.


(345 pages, ISBN: 1942788762, Worldcat, Open Library)

There is no comments section, but if you'd like to give feedback or ask questions about this post, please contact me.