Live data from Hacker News

Ask HN: What books should I read to improve as a software engineer?

news.ycombinator.com

61–70 of 127 posts

Re: Ask HN: What books should I read to improve as a software engineer?

#61

"A Philosophy of Software Design" by Stanford's John Ousterhout is excellent. It is quite concise (about 190 pages), but in my opinion, it includes all the essential information that the other books in that category would teach you. It leaves out a lot of cruft that over the years turned out to be non-issues (code styling, problems that come with object oriented programming, etc.) but occasionally - when the topic is…

I went on a long email back and forth with the author because this was the one book that opened my eyes so much that I did't know why the Ruby community (of which I was a part of then, but am no longer) would break so many of the principles of the book. Maybe the only book that has actual made me a better programmer that I can objectively measure.

Would you mind clarifying which one you found so helpful? The parent commenter mentioned two books

Re: Ask HN: What books should I read to improve as a software engineer?

#63
post #45

I’ll have two recommendations. 1. 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 go…

Point 2. is interesting. Is it your personal experience or you have some sources to explore that topic?

Am not the OP, however, I have similar observations too. I noted that people who read fiction often handle various life's situations better. My hypothesis is that this would be because they get broader exposure to life's situations than what non-fiction books deliver in practice.

I wish there were a lot more non-fiction books dealing with common and uncommon life's situations, which step out of the theory towards what actually happens in practice.

Re: Ask HN: What books should I read to improve as a software engineer?

#64
post #45

I’ll have two recommendations. 1. 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 go…

Point 2. is interesting. Is it your personal experience or you have some sources to explore that topic?

Personal POV:

I mostly read Fantasy books and a little bit of SF, but the main points I would say is better visualization. Reading textbooks gives you understanding, but being able to reconstruct scenes and characters just from a few lines is a nice plus. When reading story from a ticket, it's become much easier to visualize a concrete use case. Also empathy building. Manuals and documentation are very dry and text is more constrained bandwidth-wise than visual interactions. Reading fiction can help you interact better through text emotionally. And we respond better to stories than logical arguments.`

Re: Ask HN: What books should I read to improve as a software engineer?

#65

I would split the books into two categories: those that improve the way you structure your code and deliver a software solution, and those that improve your technical understanding of the software platform and the computer you're using. The first are books like Pragmatic Programmer, Mythical Man Month, Code Complete, Design Patterns, talks by Alan Kay on software systems and OOP, even Game Engine Architecture etc. A…

I split my library alongside the same line. One section to answer the following questions: Why should I do it, how should I do it, how should I not do it, how does it work,.. and the other section answer the following: What to do, what to use,... The first one helps decision and planning, the second is what you use.

So there's the philosophy of the craft which are mostly the core skills of software engineering (or engineering in general). Problem solving, project planning, resources planning, methodologies,... Then the various theories (computer science). Algorithms, Data Structures, Computer organization, Networking, Databases, Operating Systems,... And then the skills. Programming Languages, Libraries, Tools (editors, shells, build systems, debuggers, test runners). Being a good programmer involves being fairly knowledgeable in all three.

Re: Ask HN: What books should I read to improve as a software engineer?

#66

"A Philosophy of Software Design" by Stanford's John Ousterhout is excellent. It is quite concise (about 190 pages), but in my opinion, it includes all the essential information that the other books in that category would teach you. It leaves out a lot of cruft that over the years turned out to be non-issues (code styling, problems that come with object oriented programming, etc.) but occasionally - when the topic is…

I read A philosophy of.. and I might as well be reading Philosophy because I didn't understand what the book was saying

Re: Ask HN: What books should I read to improve as a software engineer?

#67

I would split the books into two categories: those that improve the way you structure your code and deliver a software solution, and those that improve your technical understanding of the software platform and the computer you're using. The first are books like Pragmatic Programmer, Mythical Man Month, Code Complete, Design Patterns, talks by Alan Kay on software systems and OOP, even Game Engine Architecture etc. A…

Why is Effective Java in the second group?

Re: Ask HN: What books should I read to improve as a software engineer?

#68
post #45

I’ll have two recommendations. 1. 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 go…

Point 2. is interesting. Is it your personal experience or you have some sources to explore that topic?

Personal experience. I’ve come back to reading fiction after a long break and noticed a difference.

Re: Ask HN: What books should I read to improve as a software engineer?

#70

"A Philosophy of Software Design" by Stanford's John Ousterhout is excellent. It is quite concise (about 190 pages), but in my opinion, it includes all the essential information that the other books in that category would teach you. It leaves out a lot of cruft that over the years turned out to be non-issues (code styling, problems that come with object oriented programming, etc.) but occasionally - when the topic is…

I went on a long email back and forth with the author because this was the one book that opened my eyes so much that I did't know why the Ruby community (of which I was a part of then, but am no longer) would break so many of the principles of the book. Maybe the only book that has actual made me a better programmer that I can objectively measure.

Can you say more about how the ruby community is breaking these principles? Was that part of the reason you left the community?
Post reply on HN