Ask HN: What books should I read to improve as a software engineer?
31–40 of 127 posts
Re: Ask HN: What books should I read to improve as a software engineer?
#32I read this years ago and regularly recommend it, especially when people are all over talking about some special queue or database technology. I find so many people don’t understand even how databases work and it’s crucial to application performance and structuring. Adding queues works to relieve server load but if you get swamped by messages you need to make an active decision on how to handle that - and maybe a queue isn’t the best idea if you can’t lose them.
Re: Ask HN: What books should I read to improve as a software engineer?
#33It's probably useful to un-read Clean Code, though I don't really have a recommendation for a good replacement. The replacement is something like "Make a lot of mistakes and develop good taste based on your experience." If you're interested in performance, you can read https://algorithmica.org/ and https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
I keep seeing this online. Why? Clean Code was instrumental in my improvement as an engineer. Is there a reason why this is the opinion nowadays?
But sometimes, what you want to do is so complex. You'll want one big file with few methods and a lot of comments.
I think the "perception shift" happened together with public discussions of sqllite.
The tldr would be: just don't consider it a Bible ;)
Re: Ask HN: What books should I read to improve as a software engineer?
#34It's probably useful to un-read Clean Code, though I don't really have a recommendation for a good replacement. The replacement is something like "Make a lot of mistakes and develop good taste based on your experience." If you're interested in performance, you can read https://algorithmica.org/ and https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
I keep seeing this online. Why? Clean Code was instrumental in my improvement as an engineer. Is there a reason why this is the opinion nowadays?
I spent years writing Ruby and found clean code OK, but preferred Sandi Metz’s writing. Then I started doing some Go and Bill Kennedy made me think about mechanical empathy more. Recently I’ve been diving back into my old haunt of C, particularly more modern C idioms and the C23 standard as I need very fine grained control for latency and memory efficiency reasons for the apps I’m writing (in a very different space to where I worked in Ruby). It’s kind of blown away a lot of the advice from clean code for me.
The thing you’re programming has a CPU with registers. There’s a stack. There’s a heap. The choices you make choose how those things are used by the language implementation you’re using. Languages and methods that try to pretend none of that is happening can lead to very inefficient code that makes everyone sad.
Yes, your code needs to be readable. It has to be maintainable, but the clean code way of doing things doesn’t seem to do that very well AND introduces patterns that can make it hard for compilers and interpreters to optimise.
Re: Ask HN: What books should I read to improve as a software engineer?
#35Depending on the tech stack you're interested in, I would also strongly suggest reading foundational books that go deep into that platform (e.g. the Java Language Specification if you're into Java [1]). These are not things you necessarily need to read end-to-end or understand completely, but your global understanding of your chosen platform will expand significantly.
Systems Performance by Brendan Gregg is another useful classic. While it's about performance, it touches upon a huge number of important topics (from memory allocation to pretty graphs), perusing it will make you smarter.
Re: Ask HN: What books should I read to improve as a software engineer?
#36Controversial take: reading books to get better at software is like reading books to get better at swimming. Like people don't get better at math by reading books about math... So you should go read code. But reading code is boring if you're not also writing code (same goes for math) so my real recommendation is to go find a big OSS project in an area you're interested in and start contributing. If you don't know how…
I'm sure a swimmer who reads books about swimming in addition to swimming is better all else being equal than a swimmer who just swims.
Re: Ask HN: What books should I read to improve as a software engineer?
#37“Old” but amazingly relevant today.
Re: Ask HN: What books should I read to improve as a software engineer?
#381. A Philosophy of Software Design is very good. Not the whole of it but it’s short and to the point.
2. Fiction, as diverse as possible. I apologise for making assumptions but many software engineers are secretly lacking in understanding other people, what kind of of life experiences that have, how they think about the world, what is important for them. If you work with people it is going to be useful.
Also, it’ll enrich your life and you’ll have more to talk about during coffee breaks :)