1. 13
  1. 7

    I recently read “A Common-Sense Guide to Data Structures and Algorithms, 2nd Edition” by Jay Wengrow and it was fantastic! Thanks to that book I finally got to a level of understanding of the matters at hand after previously thinking they were these incredibly math-y topics. They’re not, and if you feel the same way then do give this book a read. It’s very well written and it will most likely be a real page-turner.

    1. 1

      Slightly devil’s advocate: perhaps they are maths-y, but this book gave you an explanation of the maths that was vastly better than what you’d seen before. ❤️

      1. 3

        That’s a great way of looking at it! I’m slightly bothered by how many seemingly complex topics like chemistry and physics seem overly complicated to me, but are just a matter of having someone who can ELI5 down to the nuts and bolts.

    2. 5

      Not a programming book, but I’d recommend Peopleware for anyone who is managing people. I’ve read the first and second editions (I borrowed the first, bought the second) and it’s quite amazing how much of the stuff from the 1987 edition is directly relevant today. The Mythical Man Month is generally recommended and still very relevant today and The Dilbert Principle is very approachable (who doesn’t want comic strips interleaved with theory?) but if you had to pick only one then Peopleware would be my recommendation.

      More generally, Thinking, Fast and Slow is a great read and a fantastic analysis and a great thing to consider when framing how you evaluate processes. I’ve not yet read The Coaching Habit (no Wikipedia page, sorry) but the training course from the author was the most valuable management course I’ve ever been on, so I’ll probably read the book at some point.

      If you want to be thoroughly depressed, Invisible Women is a great analysis of systemic bias in science and engineering and is a great reference for understanding the value of diversity. Oh, and the author writes a fantastic weekly newsletter.

      1. 4

        Not a programming book, but I’d recommend Peopleware for anyone who is managing people.


        More generally, Thinking, Fast and Slow is a great read and a fantastic analysis and a great thing to consider when framing how you evaluate processes.

        I enjoyed the book a lot when I read it. But unfortunately it’s been largely discredited.

        1. 1

          Mythical Man Month

          I have an anti suggestion for this book. I have read it cover to cover and while it contains some good writing, it also contains advice that in a modern context is absolutely silly. I don’t like the idea of making a newcomer to this business have to try to sift the one from the other.

          Also, Brooks’ law itself is IMO overblown.

          1. 3

            I found the discussion of second-system syndrome quite useful but I agree that there’s quite a bit in the book that isn’t very relevant today. Peopleware, in contrast, could have been written last year. I reread it a year or two ago and I don’t think there was anything that wasn’t still relevant (with some small global replacements of s/old technology/new technology with the same problems/).

            1. 1

              I don’t think I’ve read that one but it has a good rep. ❤️

        2. 4

          Not nearly enough philosophy, management, or economics in the suggestions. :(

          1. 6

            This is the cstheory stackexchange after all. But I agree it’s worth stepping out of the tech bubble and look at how to make change and impact people. Tech in itself is seldomly convincing to non-techies.

          2. 2

            How do CS topics like automata theory, formal languages, theory of computation relate to the Software Foundations series? Would you say that they are to be considered foundational prerequisites to the Software Foundations series?

            1. 1

              I think that applied computer scientists should read Seven Sketches and pure computer scientists should read Higher-Dimensional Categories. There are lots of nice illustrations, and material is introduced slowly, with supporting examples.

              1. 1

                Meditations by Marcus Aurelius, in the right setting this book can help to put things into perspective and lighten the load.

                Computer networking is my technical forte, and for this subject I recommend Black Hat Python by Justin Seitz. This book documents and gives examples of using python to craft network packets, spoof arp requests, and is a great resource for network security and python scripting.

                1. 1

                  I don’t think there’s a book everyone should read because there are incredibly many books worth reading and also almost enough people to actually read them all.

                  It would be nice if reading was more social or interconnected. Library genesis and scihub are great foundations but still they struggle to obtain legitimacy, I think the way to legitimacy is to go even further and make the thing “too big to fail” - i.e. recognized as necessary infrastructure.

                  1. 1

                    Most technical books are outdated but the time the paper is printed. Sometimes philosophy books are good, but nothing beats experience.

                    1. 1

                      Hacker’s Delight is the book for bit-twiddling.