Designing Data Intensive Applications is 600 pages, but very readable.
100 page Machine Learning book is also pretty good.
A Philosophy of Software Design is short, and opinionated as such books go. I liked it - it articulates a few concepts that we encounter in our daily work and don’t really learn about in school. You don’t have to agree with what the author says, but by engaging with the ideas presented at least you will know what you have internalized about this business of writing code.
Probably not the best but I liked the Phoenix Project. It’s novel because it’s literally a novel. The story makes a case for the practice of devops through the medium of long form fiction.
I probably liked it because at the end the protagonist’s company starts making progress on clearing their ops backlog which was cathartic for me to fantasize about.
As for actual best, Tenebaum’s Distributed Systems was a key read for me starting my career as a first year developer working on large backend systems. I’ve probably forgotten 95% of the content, but it helped me develop intuition for the reasons and tradeoffs of system decision decisions.
It’s 96 pages over your limit, but a lot of the end chapters of the book’s parts can be skipped. Also Designing Data-Intensive applications covers some of the same content with slightly less rigor so that is a good substitute.
I would be wary of focusing on length, since longer books have useful end of chapter exercises and more explanatory text rather than (possibly dead) links.
Cracking Codes with Python: An Introduction to Building and Breaking Ciphers is under five hundred pages and will make you more powerful than most American civil war era generals.
(Previously I tried the ESR approach of starting with C, and got frustrated and gave up. Learn python, and learn the math the broken American K-12 system did not teach you in one fell swoop -- you'll learn a lot about algerbra and pretty much anything not involving weird curves.)
If you decide to learn C, the K&R C book mentioned in this thread IS useful. I think I have my copy stashed away with my lockpicks, rope, razor blades, and boxes of matches I bought before the pandemic. (A Boy Scout is always prepared, even if all of BSA along with the church they met in has gone bankrupt.)
Also, the "K&R book" is ISBN number 9780131101630, in case you, the OP, being a non engineer, don't know what the acronym mentioned elsewhere in the thread was :-)
While I support the GEB being on here... It's ~750 pages ;)
Gleick is great across the board, and Feynman's life + writings are a great choose your own adventure, regardless of your background. I personally really enjoyed "Perfectly Reasonable Deviations from the Beaten Path" (collections of various correspondences throughout his life, put together by his daughter). Probably more enjoyable with a bit of the context from watching interviews/ lectures or reading "Surely You're Joking, Mr. Feynman"
I never got into GEB, but friends/others loved it. Struck me as a put done/pick up book. I didn't have it at hand and only remembered it as a roughly 2-3" paperback :-).
Halfway through crafting interpreters and I couldn’t recommend it enough, the entire book is free on the website, and contains every line of code you need to create your own programming language. Very practical, with just the right amount of theory.
Even if you don’t care about language design, it’s a great way to get you to think about the tools we use everyday, how they get made, and why their limitations exist.
Let Over Lambda by Doug Hoyte was a compelling read for me, even though I don't work in Common Lisp that often. It's a very opinionated work that flies in the face of a lot of conventional Lisp practices (he loves his macros!) I don't necessarily agree with everything written, but having to think about why I didn't agree in itself made it a value-add to my book collection.
I'd say "Patterns of Software: Tales from the Software Community" by RPG. It is not about patterns, just sort of a sober look at attempts to "solve" problems with software. Plus some Lisp history.
100 page Machine Learning book is also pretty good.
A Philosophy of Software Design is short, and opinionated as such books go. I liked it - it articulates a few concepts that we encounter in our daily work and don’t really learn about in school. You don’t have to agree with what the author says, but by engaging with the ideas presented at least you will know what you have internalized about this business of writing code.